From f8a8231dedf72f2341f3e0c872d030865c2a5401 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Christoph=20Fr=C3=B6hlich?= Date: Thu, 4 Jan 2024 11:59:32 +0100 Subject: [PATCH] Update readme and CI jobs for iron (#248) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Alejandro Hernández Cordero (cherry picked from commit 074617a61db57e06c33cb4a3a92a75864bb67a39) # Conflicts: # .github/dependabot.yml --- .github/dependabot.yml | 27 ++++++ .github/workflows/ci-humble.yaml | 82 +++++++++++++++++++ .github/workflows/ci-iron.yaml | 82 +++++++++++++++++++ .../workflows/{ci.yaml => ci-rolling.yaml} | 5 +- README.md | 6 +- 5 files changed, 197 insertions(+), 5 deletions(-) create mode 100644 .github/dependabot.yml create mode 100644 .github/workflows/ci-humble.yaml create mode 100644 .github/workflows/ci-iron.yaml rename .github/workflows/{ci.yaml => ci-rolling.yaml} (97%) diff --git a/.github/dependabot.yml b/.github/dependabot.yml new file mode 100644 index 00000000..aafd67c2 --- /dev/null +++ b/.github/dependabot.yml @@ -0,0 +1,27 @@ +# To get started with Dependabot version updates, you'll need to specify which +# package ecosystems to update and where the package manifests are located. +# Please see the documentation for all configuration options: +# https://docs.github.com/github/administering-a-repository/configuration-options-for-dependency-updates + +version: 2 +updates: + - package-ecosystem: "github-actions" + # Workflow files stored in the + # default location of `.github/workflows` + directory: "/" + schedule: + interval: "weekly" + - package-ecosystem: "github-actions" + # Workflow files stored in the + # default location of `.github/workflows` + directory: "/" + schedule: + interval: "weekly" + target-branch: "humble" + - package-ecosystem: "github-actions" + # Workflow files stored in the + # default location of `.github/workflows` + directory: "/" + schedule: + interval: "weekly" + target-branch: "iron" diff --git a/.github/workflows/ci-humble.yaml b/.github/workflows/ci-humble.yaml new file mode 100644 index 00000000..54a3b990 --- /dev/null +++ b/.github/workflows/ci-humble.yaml @@ -0,0 +1,82 @@ +name: gazebo_ros2_control CI - Humble + +on: + pull_request: + branches: + - humble + push: + branches: + - humble + +jobs: + build: + runs-on: ubuntu-latest + container: + image: osrf/ros:humble-desktop + steps: + - uses: actions/checkout@v4 + - name: Setup colcon workspace + id: configure + run: | + cd .. + mkdir -p /home/ros2_ws/src + cp -r gazebo_ros2_control /home/ros2_ws/src/ + apt-get update && apt-get upgrade -q -y + apt-get update && apt-get install -q -y --no-install-recommends \ + dirmngr \ + gnupg2 \ + lsb-release \ + python3-colcon-ros + cd /home/ros2_ws/src/ + rosdep update + rosdep install --from-paths ./ -i -y --rosdistro humble \ + --ignore-src + - name: Build project + id: build + run: | + cd /home/ros2_ws/ + . /opt/ros/humble/local_setup.sh + colcon build --packages-up-to gazebo_ros2_control_demos + - name: Run tests + id: test + run: | + cd /home/ros2_ws/ + . /opt/ros/humble/local_setup.sh + colcon test --event-handlers console_direct+ --packages-select gazebo_ros2_control gazebo_ros2_control_demos + colcon test-result + build_testing: + runs-on: ubuntu-latest + container: + image: osrf/ros:humble-desktop + steps: + - uses: actions/checkout@v4 + - name: Setup colcon workspace + id: configure + run: | + cd .. + mkdir -p /home/ros2_ws/src + cp -r gazebo_ros2_control /home/ros2_ws/src/ + sh -c 'echo "deb [arch=$(dpkg --print-architecture)] http://packages.ros.org/ros2-testing/ubuntu $(lsb_release -cs) main" > /etc/apt/sources.list.d/ros2-latest.list' + apt-get update && apt-get upgrade -q -y + apt-get update && apt-get install -q -y --no-install-recommends \ + dirmngr \ + gnupg2 \ + lsb-release \ + python3-colcon-ros + cd /home/ros2_ws/src/ + rosdep update + rosdep install --from-paths ./ -i -y --rosdistro humble \ + --ignore-src + - name: Build project + id: build + run: | + cd /home/ros2_ws/ + . /opt/ros/humble/local_setup.sh + colcon build --packages-up-to gazebo_ros2_control_demos + - name: Run tests + id: test + run: | + cd /home/ros2_ws/ + . /opt/ros/humble/local_setup.sh + colcon test --event-handlers console_direct+ --packages-select gazebo_ros2_control gazebo_ros2_control_demos + colcon test-result diff --git a/.github/workflows/ci-iron.yaml b/.github/workflows/ci-iron.yaml new file mode 100644 index 00000000..12fb68cc --- /dev/null +++ b/.github/workflows/ci-iron.yaml @@ -0,0 +1,82 @@ +name: gazebo_ros2_control CI - iron + +on: + pull_request: + branches: + - iron + push: + branches: + - iron + +jobs: + build: + runs-on: ubuntu-latest + container: + image: osrf/ros:iron-desktop + steps: + - uses: actions/checkout@v4 + - name: Setup colcon workspace + id: configure + run: | + cd .. + mkdir -p /home/ros2_ws/src + cp -r gazebo_ros2_control /home/ros2_ws/src/ + apt-get update && apt-get upgrade -q -y + apt-get update && apt-get install -q -y --no-install-recommends \ + dirmngr \ + gnupg2 \ + lsb-release \ + python3-colcon-ros + cd /home/ros2_ws/src/ + rosdep update + rosdep install --from-paths ./ -i -y --rosdistro iron \ + --ignore-src + - name: Build project + id: build + run: | + cd /home/ros2_ws/ + . /opt/ros/iron/local_setup.sh + colcon build --packages-up-to gazebo_ros2_control_demos + - name: Run tests + id: test + run: | + cd /home/ros2_ws/ + . /opt/ros/iron/local_setup.sh + colcon test --event-handlers console_direct+ --packages-select gazebo_ros2_control gazebo_ros2_control_demos + colcon test-result + build_testing: + runs-on: ubuntu-latest + container: + image: osrf/ros:iron-desktop + steps: + - uses: actions/checkout@v4 + - name: Setup colcon workspace + id: configure + run: | + cd .. + mkdir -p /home/ros2_ws/src + cp -r gazebo_ros2_control /home/ros2_ws/src/ + sh -c 'echo "deb [arch=$(dpkg --print-architecture)] http://packages.ros.org/ros2-testing/ubuntu $(lsb_release -cs) main" > /etc/apt/sources.list.d/ros2-latest.list' + apt-get update && apt-get upgrade -q -y + apt-get update && apt-get install -q -y --no-install-recommends \ + dirmngr \ + gnupg2 \ + lsb-release \ + python3-colcon-ros + cd /home/ros2_ws/src/ + rosdep update + rosdep install --from-paths ./ -i -y --rosdistro iron \ + --ignore-src + - name: Build project + id: build + run: | + cd /home/ros2_ws/ + . /opt/ros/iron/local_setup.sh + colcon build --packages-up-to gazebo_ros2_control_demos + - name: Run tests + id: test + run: | + cd /home/ros2_ws/ + . /opt/ros/iron/local_setup.sh + colcon test --event-handlers console_direct+ --packages-select gazebo_ros2_control gazebo_ros2_control_demos + colcon test-result diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci-rolling.yaml similarity index 97% rename from .github/workflows/ci.yaml rename to .github/workflows/ci-rolling.yaml index 0dc0802f..f29e35eb 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci-rolling.yaml @@ -1,11 +1,12 @@ -name: Gazebo ros2 control CI +name: gazebo_ros2_control - Rolling on: pull_request: + branches: + - master push: branches: - master - - humble jobs: build: diff --git a/README.md b/README.md index ca4ea7b4..de2e262b 100644 --- a/README.md +++ b/README.md @@ -11,6 +11,6 @@ See the [documentation file](doc/index.rst) or [control.ros.org](https://control ROS 2 Distro | Branch | Build status | Documentation :----------: | :----: | :----------: | :-----------: -**Rolling** | [`master`](https://github.com/ros-controls/gazebo_ros2_control/tree/master) | [![Gazebo ros2 control CI](https://github.com/ros-controls/gazebo_ros2_control/actions/workflows/ci.yaml/badge.svg?branch=master)](https://github.com/ros-controls/gazebo_ros2_control/actions/workflows/ci.yaml) | [Documentation](https://control.ros.org/master/index.html)
[API Reference](https://control.ros.org/master/doc/api/index.html) -**Iron** | [`master`](https://github.com/ros-controls/gazebo_ros2_control/tree/master) | [![Gazebo ros2 control CI](https://github.com/ros-controls/gazebo_ros2_control/actions/workflows/ci.yaml/badge.svg?branch=master)](https://github.com/ros-controls/gazebo_ros2_control/actions/workflows/ci.yaml) | [Documentation](https://control.ros.org/master/index.html)
[API Reference](https://control.ros.org/master/doc/api/index.html) -**Humble** | [`humble`](https://github.com/ros-controls/gazebo_ros2_control/tree/humble) | [![Gazebo ros2 control CI](https://github.com/ros-controls/gazebo_ros2_control/actions/workflows/ci.yaml/badge.svg?branch=humble)](https://github.com/ros-controls/gazebo_ros2_control/actions/workflows/ci.yaml) | [Documentation](https://control.ros.org/humble/index.html)
[API Reference](https://control.ros.org/humble/doc/api/index.html) +**Rolling** | [`master`](https://github.com/ros-controls/gazebo_ros2_control/tree/master) | [![Gazebo ros2 control CI](https://github.com/ros-controls/gazebo_ros2_control/actions/workflows/ci-rolling.yaml/badge.svg?branch=master)](https://github.com/ros-controls/gazebo_ros2_control/actions/workflows/ci-rolling.yaml) | [Documentation](https://control.ros.org/master/index.html)
[API Reference](https://control.ros.org/master/doc/api/index.html) +**Iron** | [`iron`](https://github.com/ros-controls/gazebo_ros2_control/tree/iron) | [![Gazebo ros2 control CI](https://github.com/ros-controls/gazebo_ros2_control/actions/workflows/ci-iron.yaml/badge.svg?branch=iron)](https://github.com/ros-controls/gazebo_ros2_control/actions/workflows/ci-iron.yaml) | [Documentation](https://control.ros.org/iron/index.html)
[API Reference](https://control.ros.org/iron/doc/api/index.html) +**Humble** | [`humble`](https://github.com/ros-controls/gazebo_ros2_control/tree/humble) | [![Gazebo ros2 control CI](https://github.com/ros-controls/gazebo_ros2_control/actions/workflows/ci-humble.yaml/badge.svg?branch=humble)](https://github.com/ros-controls/gazebo_ros2_control/actions/workflows/ci-humble.yaml) | [Documentation](https://control.ros.org/humble/index.html)
[API Reference](https://control.ros.org/humble/doc/api/index.html)