From 12446427da9e5f3dc0f813989a8f18bf9be1fa45 Mon Sep 17 00:00:00 2001 From: Yadu Date: Thu, 20 Jun 2024 09:59:18 -0700 Subject: [PATCH] Update README to include Jazzy (#479) * Add jazzy to supported distros Signed-off-by: Yadunund * Update DOCKERFILE to build for Rolling Signed-off-by: Yadunund * Remove link to rmf_demos_panel which is now removed from rmf_demos Signed-off-by: Yadunund * Update nightly Signed-off-by: Yadunund * gz and python modules are resolved via rosdep Signed-off-by: Yadunund * Build docker image with jazzy as underlay Signed-off-by: Yadunund --------- Signed-off-by: Yadunund --- .github/workflows/build.yaml | 2 ++ .github/workflows/nightly.yaml | 9 +++++---- Dockerfile | 26 +++----------------------- README.md | 22 ++++++---------------- 4 files changed, 16 insertions(+), 43 deletions(-) diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index 1ef2789..ba6fc39 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -12,6 +12,8 @@ jobs: - uses: actions/checkout@v2 - name: build rmf image and push to gh registry uses: docker/build-push-action@v1 + env: + PIP_BREAK_SYSTEM_PACKAGES: 1 with: username: ${{ github.actor }} password: ${{ secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/nightly.yaml b/.github/workflows/nightly.yaml index 0fd9516..927a27c 100644 --- a/.github/workflows/nightly.yaml +++ b/.github/workflows/nightly.yaml @@ -6,12 +6,12 @@ on: jobs: build_and_test: name: Nightly build and test - runs-on: ubuntu-22.04 + runs-on: ubuntu-24.04 steps: - name: deps - uses: ros-tooling/setup-ros@v0.4 + uses: ros-tooling/setup-ros@v0.7 with: - required-ros-distributions: humble + required-ros-distributions: jazzy - name: setup clang run: | sudo apt update && sudo apt install -y clang lldb lld @@ -21,8 +21,9 @@ jobs: uses: ros-tooling/action-ros-ci@v0.2 env: QT_QPA_PLATFORM: offscreen + PIP_BREAK_SYSTEM_PACKAGES: 1 with: - target-ros2-distro: humble + target-ros2-distro: jazzy # build all packages listed in the meta package package-name: | rmf_utils diff --git a/Dockerfile b/Dockerfile index f395184..a21f125 100644 --- a/Dockerfile +++ b/Dockerfile @@ -2,29 +2,14 @@ # Stage 1 - Dependencies #----------------------- -FROM ros:humble AS builder +FROM ros:jazzy AS builder -RUN apt-get update \ - && apt-get install -y \ - cmake \ - curl \ - git \ - python3-colcon-common-extensions \ - python3-vcstool \ - wget \ - python3-pip \ - clang lldb lld \ - && pip3 install flask-socketio fastapi uvicorn \ - && update-alternatives --install /usr/bin/c++ c++ /usr/bin/clang++ 100 \ - && rm -rf /var/lib/apt/lists/* +ENV PIP_BREAK_SYSTEM_PACKAGES=1 +RUN apt-get update && apt-get install -y ros-dev-tools # setup keys RUN apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys D2486D2DD83DB69272AFE98867170598AF249743 -# setup sources.list -RUN . /etc/os-release \ - && echo "deb http://packages.osrfoundation.org/gazebo/$ID-stable `lsb_release -sc` main" > /etc/apt/sources.list.d/gazebo-latest.list - RUN mkdir $HOME/rmf_demos_ws WORKDIR $HOME/rmf_demos_ws RUN mkdir src @@ -44,11 +29,6 @@ RUN vcs import src < rmf.repos \ # Stage 2 - build #----------------- -# compile rmf_demo_panel gui -# use wget -# RUN npm install --prefix src/demonstrations/rmf_demos/rmf_demos_panel/rmf_demos_panel/static/ \ - # && npm run build --prefix src/demonstrations/rmf_demos/rmf_demos_panel/rmf_demos_panel/static/ - # colcon compilation RUN . /opt/ros/$ROS_DISTRO/setup.sh \ && colcon build --cmake-args -DCMAKE_BUILD_TYPE=Release diff --git a/README.md b/README.md index 582df6c..fea3529 100644 --- a/README.md +++ b/README.md @@ -13,11 +13,12 @@ The Open-RMF platform for multi-fleet robot management. Open-RMF is a collection of packages, some of which have ROS 2 dependencies. For convenience, we distribute and install Open-RMF along with ROS 2 and is currently supported for the following ROS 2 distributions: -* [Iron Irwini](https://docs.ros.org/en/iron/index.html) (`iron`) * [Humble Hawksbill](https://docs.ros.org/en/humble/index.html) (`humble`) +* [Iron Irwini](https://docs.ros.org/en/iron/index.html) (`iron`) +* [Jazzy Jalisco](https://docs.ros.org/en/jazzy/index.html) (`jazzy`) * [Rolling Ridley](https://docs.ros.org/en/rolling/index.html) (`rolling`) -We primarily support Debian packages on `Ubuntu Linux - Jammy Jellyfish (22.04)` and select RPM packages for `RHEL/Fedora` for both `amd64` and `aarch64` architectures. +We primarily support Debian packages on `Ubuntu` and select RPM packages for `RHEL/Fedora` for both `amd64` and `aarch64` architectures. Options for installing Open-RMF: * [Binary installation (recommended)](#binary-installation) @@ -26,7 +27,7 @@ Options for installing Open-RMF: If you want to try Open-RMF we recommend installing the binaries. Building from source is better suited for developers who wish to add new features or fix bugs. ### Setup -Instruction below are aimed at `Ubuntu 22.04`. +Instruction below are aimed at `Ubuntu`. First please follow the installation instructions to install ROS 2 for the `distro` of choice from supported versions listed above. It is recommended to install ROS 2 via binary debians. @@ -36,18 +37,7 @@ It is recommended to install ROS 2 via binary debians. Install all non-ROS dependencies of Open-RMF packages, ```bash -sudo apt update && sudo apt install \ - python3-pip \ - curl \ - python3-colcon-mixin \ - ros-dev-tools \ - -y - -sudo sh -c 'echo "deb http://packages.osrfoundation.org/gazebo/ubuntu-stable `lsb_release -cs` main" > /etc/apt/sources.list.d/gazebo-stable.list' -wget https://packages.osrfoundation.org/gazebo.key -O - | sudo apt-key add - - -# These pip packages are only used by rmf_demos which are not released as binaries -python3 -m pip install flask-socketio fastapi uvicorn +sudo apt update && sudo apt install ros-dev-tools -y ``` `rosdep` helps install dependencies for ROS packages across various distros and will be installed along with `ros-dev-tools`. @@ -168,7 +158,7 @@ Run it! docker run -it --network host rmf:latest bash -c "export ROS_DOMAIN_ID=9; ros2 launch rmf_demos_gz office.launch.xml headless:=1" ``` -This will run `rmf_demos` in headless mode. Open [this link](https://open-rmf.github.io/rmf-panel-js/) with a browser to start a task. +This will run `rmf_demos` in headless mode. (Experimental) User can also run `rmf_demos` in “non-headless” graphical form, via [rocker](https://github.com/osrf/rocker).