diff --git a/.github/workflows/jazzy-binary-build.yml b/.github/workflows/jazzy-binary-build.yml index 85f7895..5d67897 100644 --- a/.github/workflows/jazzy-binary-build.yml +++ b/.github/workflows/jazzy-binary-build.yml @@ -1,5 +1,5 @@ -name: Rolling Stack Build -# author: Denis Štogl +name: Jazzy Stack Build +# author: Christoph Froehlich # description: 'Build & test all dependencies from released (binary) packages.' on: diff --git a/.github/workflows/reusable-industrial-ci-with-cache.yml b/.github/workflows/reusable-industrial-ci-with-cache.yml index bff79cb..a47c4ce 100644 --- a/.github/workflows/reusable-industrial-ci-with-cache.yml +++ b/.github/workflows/reusable-industrial-ci-with-cache.yml @@ -68,7 +68,7 @@ jobs: env: CCACHE_DIR: ${{ github.workspace }}/${{ inputs.ccache_dir }} BASEDIR: ${{ github.workspace }}/${{ inputs.basedir }} - CACHE_PREFIX: ${{ inputs.ros_distro }}-${{ inputs.upstream_workspace }}-${{ inputs.ros_repo }}-${{ github.job }} + CACHE_PREFIX: ${{ inputs.ros_distro }}-${{ inputs.target_workspace }}-${{ inputs.ros_repo }}-${{ github.job }} steps: - name: Checkout ${{ inputs.ref }} when build is not scheduled if: ${{ github.event_name != 'schedule' }} diff --git a/.github/workflows/rolling-compatibility-humble-binary-build.yml b/.github/workflows/rolling-compatibility-humble-binary-build.yml index 0a6dd6d..71b1533 100644 --- a/.github/workflows/rolling-compatibility-humble-binary-build.yml +++ b/.github/workflows/rolling-compatibility-humble-binary-build.yml @@ -1,11 +1,19 @@ -name: Check Rolling Compatibility on Humble with Stack Build +name: Check Rolling Compatibility on Humble +# author: Christoph Froehlich +# description: 'Build & test the rolling stack on Humble distro.' on: workflow_dispatch: + pull_request: + paths: + - '.github/workflows/rolling-compatibility-humble-binary-build.yml' schedule: # Run every morning to detect flakiness and broken dependencies - cron: '03 1 * * *' +env: + GZ_VERSION: "harmonic" + jobs: stack-build-on-humble: uses: ./.github/workflows/reusable-industrial-ci-with-cache.yml @@ -13,9 +21,12 @@ jobs: fail-fast: false matrix: ROS_DISTRO: [humble] - ROS_REPO: [main, testing] + ROS_REPO: [testing] with: ros_distro: ${{ matrix.ROS_DISTRO }} ros_repo: ${{ matrix.ROS_REPO }} + # install upstream dependencies for gz*, but exclude some packages inside rosidl repository + upstream_workspace: ros_controls.rolling-upstream.repos -../ros2/rosidl/rosidl_generator_tests -../ros2/rosidl/rosidl_typesupport_introspection_tests -../ros2/rosidl/rosidl_typesupport_introspection_c -../ros2/rosidl/rosidl_typesupport_introspection_cpp -../ros2/rosidl/rosidl_typesupport_interface -../ros2/rosidl/rosidl_runtime_c -../ros2/rosidl/rosidl_runtime_cpp -../ros2/rosidl/rosidl_parser -../ros2/rosidl/rosidl_generator_type_description -../ros2/rosidl/rosidl_generator_c -../ros2/rosidl/rosidl_generator_cpp -../ros2/rosidl/rosidl_cmake -../ros2/rosidl/rosidl_cli -../ros2/rosidl/rosidl_adapter target_workspace: ros_controls.rolling-on-humble.repos ref_for_scheduled_build: master + rosdep_skip_keys: libshaderc-dev glslc # not available on jammy diff --git a/.github/workflows/rolling-compatibility-iron-binary-build.yml b/.github/workflows/rolling-compatibility-iron-binary-build.yml index 09b606e..f3518b3 100644 --- a/.github/workflows/rolling-compatibility-iron-binary-build.yml +++ b/.github/workflows/rolling-compatibility-iron-binary-build.yml @@ -1,11 +1,19 @@ -name: Check Rolling Compatibility on Iron with Stack Build +name: Check Rolling Compatibility on Iron +# author: Christoph Froehlich +# description: 'Build & test the rolling stack on Iron distro.' on: workflow_dispatch: + pull_request: + paths: + - '.github/workflows/rolling-compatibility-iron-binary-build.yml' schedule: # Run every morning to detect flakiness and broken dependencies - cron: '03 1 * * *' +env: + GZ_VERSION: "harmonic" + jobs: stack-build-on-iron: uses: ./.github/workflows/reusable-industrial-ci-with-cache.yml @@ -13,9 +21,11 @@ jobs: fail-fast: false matrix: ROS_DISTRO: [iron] - ROS_REPO: [main, testing] + ROS_REPO: [testing] with: ros_distro: ${{ matrix.ROS_DISTRO }} ros_repo: ${{ matrix.ROS_REPO }} + upstream_workspace: ros_controls.rolling-upstream.repos target_workspace: ros_controls.rolling-on-iron.repos ref_for_scheduled_build: master + rosdep_skip_keys: libshaderc-dev glslc # not available on jammy diff --git a/.github/workflows/rolling-compatibility-jazzy-binary-build.yml b/.github/workflows/rolling-compatibility-jazzy-binary-build.yml index 8e1f3f1..2dfdf74 100644 --- a/.github/workflows/rolling-compatibility-jazzy-binary-build.yml +++ b/.github/workflows/rolling-compatibility-jazzy-binary-build.yml @@ -1,7 +1,12 @@ -name: Check Rolling Compatibility on Iron with Stack Build +name: Check Rolling Compatibility on Jazzy +# author: Christoph Froehlich +# description: 'Build & test the rolling stack on Jazzy distro.' on: workflow_dispatch: + pull_request: + paths: + - '.github/workflows/rolling-compatibility-iron-binary-build.yml' schedule: # Run every morning to detect flakiness and broken dependencies - cron: '03 1 * * *' @@ -13,7 +18,7 @@ jobs: fail-fast: false matrix: ROS_DISTRO: [jazzy] - ROS_REPO: [main, testing] + ROS_REPO: [testing] with: ros_distro: ${{ matrix.ROS_DISTRO }} ros_repo: ${{ matrix.ROS_REPO }} diff --git a/README.md b/README.md index 9c7e20d..74f411d 100644 --- a/README.md +++ b/README.md @@ -9,13 +9,18 @@ It also builds the full ros2_control stack once per day. ## Released versions [![Rolling Stack Build](https://github.com/ros-controls/ros2_control_ci/actions/workflows/rolling-binary-build.yml/badge.svg)](https://github.com/ros-controls/ros2_control_ci/actions/workflows/rolling-binary-build.yml) + [![Jazzy Stack Build](https://github.com/ros-controls/ros2_control_ci/actions/workflows/jazzy-binary-build.yml/badge.svg)](https://github.com/ros-controls/ros2_control_ci/actions/workflows/jazzy-binary-build.yml) + [![Iron Stack Build](https://github.com/ros-controls/ros2_control_ci/actions/workflows/iron-binary-build.yml/badge.svg)](https://github.com/ros-controls/ros2_control_ci/actions/workflows/iron-binary-build.yml) + [![Humble Stack Build](https://github.com/ros-controls/ros2_control_ci/actions/workflows/humble-binary-build.yml/badge.svg)](https://github.com/ros-controls/ros2_control_ci/actions/workflows/humble-binary-build.yml) ## Compatibility versions We thrive to make the rolling development version of the ros2_control stack compatible with earlier releases of ROS2. This is done by building the rolling version of the stack from source with the earlier releases of ROS2. -[![Check Rolling Compatibility on Iron with Stack Build](https://github.com/ros-controls/ros2_control_ci/actions/workflows/rolling-compatibility-iron-binary-build.yml/badge.svg)](https://github.com/ros-controls/ros2_control_ci/actions/workflows/rolling-compatibility-iron-binary-build.yml) [![Check Rolling Compatibility on Jazzy with Stack Build](https://github.com/ros-controls/ros2_control_ci/actions/workflows/rolling-compatibility-jazzy-binary-build.yml/badge.svg)](https://github.com/ros-controls/ros2_control_ci/actions/workflows/rolling-compatibility-jazzy-binary-build.yml) + +[![Check Rolling Compatibility on Iron with Stack Build](https://github.com/ros-controls/ros2_control_ci/actions/workflows/rolling-compatibility-iron-binary-build.yml/badge.svg)](https://github.com/ros-controls/ros2_control_ci/actions/workflows/rolling-compatibility-iron-binary-build.yml) + [![Check Rolling Compatibility on Humble with Stack Build](https://github.com/ros-controls/ros2_control_ci/actions/workflows/rolling-compatibility-humble-binary-build.yml/badge.svg)](https://github.com/ros-controls/ros2_control_ci/actions/workflows/rolling-compatibility-humble-binary-build.yml) diff --git a/ros_controls.rolling-on-humble.repos b/ros_controls.rolling-on-humble.repos index 479db64..01d3aba 100644 --- a/ros_controls.rolling-on-humble.repos +++ b/ros_controls.rolling-on-humble.repos @@ -11,10 +11,10 @@ repositories: type: git url: https://github.com/ros-controls/gazebo_ros2_control.git version: master - # ros-controls/gz_ros2_control: - # type: git - # url: https://github.com/ros-controls/gz_ros2_control.git - # version: master + ros-controls/gz_ros2_control: + type: git + url: https://github.com/ros-controls/gz_ros2_control.git + version: master ros-controls/kinematics_interface: type: git url: https://github.com/ros-controls/kinematics_interface.git @@ -27,10 +27,10 @@ repositories: type: git url: https://github.com/ros-controls/ros2_control.git version: master - # ros-controls/ros2_control_demos: - # type: git - # url: https://github.com/ros-controls/ros2_control_demos.git - # version: master + ros-controls/ros2_control_demos: + type: git + url: https://github.com/ros-controls/ros2_control_demos.git + version: master ros-controls/ros2_controllers: type: git url: https://github.com/ros-controls/ros2_controllers.git diff --git a/ros_controls.rolling-on-iron.repos b/ros_controls.rolling-on-iron.repos index 479db64..01d3aba 100644 --- a/ros_controls.rolling-on-iron.repos +++ b/ros_controls.rolling-on-iron.repos @@ -11,10 +11,10 @@ repositories: type: git url: https://github.com/ros-controls/gazebo_ros2_control.git version: master - # ros-controls/gz_ros2_control: - # type: git - # url: https://github.com/ros-controls/gz_ros2_control.git - # version: master + ros-controls/gz_ros2_control: + type: git + url: https://github.com/ros-controls/gz_ros2_control.git + version: master ros-controls/kinematics_interface: type: git url: https://github.com/ros-controls/kinematics_interface.git @@ -27,10 +27,10 @@ repositories: type: git url: https://github.com/ros-controls/ros2_control.git version: master - # ros-controls/ros2_control_demos: - # type: git - # url: https://github.com/ros-controls/ros2_control_demos.git - # version: master + ros-controls/ros2_control_demos: + type: git + url: https://github.com/ros-controls/ros2_control_demos.git + version: master ros-controls/ros2_controllers: type: git url: https://github.com/ros-controls/ros2_controllers.git diff --git a/ros_controls.rolling-on-jazzy.repos b/ros_controls.rolling-on-jazzy.repos index 01d3aba..97cc475 100644 --- a/ros_controls.rolling-on-jazzy.repos +++ b/ros_controls.rolling-on-jazzy.repos @@ -7,10 +7,6 @@ repositories: type: git url: https://github.com/ros-controls/control_toolbox.git version: ros2-master - ros-controls/gazebo_ros2_control: - type: git - url: https://github.com/ros-controls/gazebo_ros2_control.git - version: master ros-controls/gz_ros2_control: type: git url: https://github.com/ros-controls/gz_ros2_control.git diff --git a/ros_controls.rolling-upstream.repos b/ros_controls.rolling-upstream.repos new file mode 100644 index 0000000..e9c1583 --- /dev/null +++ b/ros_controls.rolling-upstream.repos @@ -0,0 +1,77 @@ +repositories: + gz/gz_plugin_vendor: + type: git + url: https://github.com/gazebo-release/gz_plugin_vendor.git + version: rolling + gz/gz_sim_vendor: + type: git + url: https://github.com/gazebo-release/gz_sim_vendor.git + version: rolling + gz/gz_cmake_vendor: + type: git + url: https://github.com/gazebo-release/gz_cmake_vendor.git + version: rolling + gz/gz_utils_vendor: + type: git + url: https://github.com/gazebo-release/gz_utils_vendor.git + version: rolling + gz/gz_tools_vendor: + type: git + url: https://github.com/gazebo-release/gz_tools_vendor.git + version: rolling + gz/sdformat_vendor: + type: git + url: https://github.com/gazebo-release/sdformat_vendor.git + version: rolling + gz/gz_math_vendor: + type: git + url: https://github.com/gazebo-release/gz_math_vendor.git + version: rolling + gz/gz_transport_vendor: + type: git + url: https://github.com/gazebo-release/gz_transport_vendor.git + version: rolling + gz/gz_sensors_vendor: + type: git + url: https://github.com/gazebo-release/gz_sensors_vendor.git + version: rolling + gz/gz_msgs_vendor: + type: git + url: https://github.com/gazebo-release/gz_msgs_vendor.git + version: rolling + gz/gz_common_vendor: + type: git + url: https://github.com/gazebo-release/gz_common_vendor.git + version: rolling + gz/gz_rendering_vendor: + type: git + url: https://github.com/gazebo-release/gz_rendering_vendor.git + version: rolling + gz/gz_ogre_next_vendor: + type: git + url: https://github.com/gazebo-release/gz_ogre_next_vendor.git + version: rolling + gz/gz_physics_vendor: + type: git + url: https://github.com/gazebo-release/gz_physics_vendor.git + version: rolling + gz/gz_fuel_tools_vendor: + type: git + url: https://github.com/gazebo-release/gz_fuel_tools_vendor.git + version: rolling + gz/gz_gui_vendor: + type: git + url: https://github.com/gazebo-release/gz_gui_vendor.git + version: rolling + gz/gz_dartsim_vendor: + type: git + url: https://github.com/gazebo-release/gz_dartsim_vendor.git + version: rolling + gz/ros_gz: + type: git + url: https://github.com/gazebosim/ros_gz.git + version: ros2 + ros2/rosidl: + type: git + url: https://github.com/ros2/rosidl.git + version: iron # may be more stable than rolling?