diff --git a/.github/workflows/ci-rolling.yaml b/.github/workflows/ci-rolling.yaml new file mode 100644 index 00000000..8537b2cd --- /dev/null +++ b/.github/workflows/ci-rolling.yaml @@ -0,0 +1,90 @@ +name: gazebo_ros2_control - Rolling + +on: + pull_request: + branches: + - master + push: + branches: + - master + +env: + ROS_DISTRO: 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: | + apt-get update && apt-get upgrade -q -y + apt-get install -q -y --no-install-recommends \ + dirmngr \ + gnupg2 \ + lsb-release \ + python3-colcon-ros + cd .. + mkdir -p /home/ros2_ws/src + vcs import --input https://raw.githubusercontent.com/ros-controls/ros2_control_ci/master/ros_controls.rolling-on-$ROS_DISTRO.repos /home/ros2_ws/src + rm -rf /home/ros2_ws/src/ros-controls/gazebo_ros2_control + cp -r gazebo_ros2_control /home/ros2_ws/src/ros-controls/ + cd /home/ros2_ws/src/ + rosdep update --rosdistro=$ROS_DISTRO + rosdep install --from-paths ./ -i -y --rosdistro $ROS_DISTRO \ + --ignore-src | grep -E '(executing command)|(Setting up)' + - name: Build project + id: build + run: | + cd /home/ros2_ws/ + . /opt/ros/$ROS_DISTRO/local_setup.sh + colcon build --packages-up-to gazebo_ros2_control_demos + - name: Run tests + id: test + run: | + cd /home/ros2_ws/ + . /opt/ros/$ROS_DISTRO/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: | + curl -sSL https://raw.githubusercontent.com/ros/rosdistro/master/ros.key -o /usr/share/keyrings/ros-archive-keyring.gpg + sh -c 'echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/ros-archive-keyring.gpg] 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 install -q -y --no-install-recommends \ + dirmngr \ + gnupg2 \ + lsb-release \ + python3-colcon-ros + cd .. + mkdir -p /home/ros2_ws/src + vcs import --input https://raw.githubusercontent.com/ros-controls/ros2_control_ci/master/ros_controls.rolling-on-$ROS_DISTRO.repos /home/ros2_ws/src + rm -rf /home/ros2_ws/src/ros-controls/gazebo_ros2_control + cp -r gazebo_ros2_control /home/ros2_ws/src/ros-controls/ + cd /home/ros2_ws/src/ + rosdep update --rosdistro=$ROS_DISTRO + rosdep install --from-paths ./ -i -y --rosdistro $ROS_DISTRO \ + --ignore-src | grep -E '(executing command)|(Setting up)' + - name: Build project + id: build + run: | + cd /home/ros2_ws/ + . /opt/ros/$ROS_DISTRO/local_setup.sh + colcon build --packages-up-to gazebo_ros2_control_demos + - name: Run tests + id: test + run: | + cd /home/ros2_ws/ + . /opt/ros/$ROS_DISTRO/local_setup.sh + colcon test --event-handlers console_direct+ --packages-select gazebo_ros2_control gazebo_ros2_control_demos + colcon test-result diff --git a/README.md b/README.md index 815bb694..1e7e5eea 100644 --- a/README.md +++ b/README.md @@ -15,7 +15,7 @@ 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) | n/a | [Documentation](https://control.ros.org/master/doc/gazebo_ros2_control/doc/index.html) -**Jazzy** | [`master`](https://github.com/ros-controls/gazebo_ros2_control/tree/master) | n/a | [Documentation](https://control.ros.org/jazzy/doc/gazebo_ros2_control/doc/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/doc/gazebo_ros2_control/doc/index.html) +**Jazzy** | [`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/jazzy/doc/gazebo_ros2_control/doc/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/doc/gazebo_ros2_control/doc/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/doc/gazebo_ros2_control/doc/index.html)