From 56be3688d9619c84c97393c8f08527669ce77238 Mon Sep 17 00:00:00 2001 From: Christoph Froehlich Date: Sat, 23 Nov 2024 19:03:03 +0000 Subject: [PATCH 01/10] Test downstream_ws --- .github/workflows/binary-build.yml | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/.github/workflows/binary-build.yml b/.github/workflows/binary-build.yml index 3cd847be..42134dfc 100644 --- a/.github/workflows/binary-build.yml +++ b/.github/workflows/binary-build.yml @@ -15,14 +15,26 @@ on: - cron: '03 1 * * *' jobs: - binary: + # binary: + # uses: ros-controls/ros2_control_ci/.github/workflows/reusable-industrial-ci-with-cache.yml@master + # strategy: + # fail-fast: false + # matrix: + # ROS_DISTRO: [humble, jazzy, rolling] + # ROS_REPO: [main, testing] + # with: + # ros_distro: ${{ matrix.ROS_DISTRO }} + # ros_repo: ${{ matrix.ROS_REPO }} + # ref_for_scheduled_build: master + build-downstream: uses: ros-controls/ros2_control_ci/.github/workflows/reusable-industrial-ci-with-cache.yml@master strategy: fail-fast: false matrix: ROS_DISTRO: [humble, jazzy, rolling] - ROS_REPO: [main, testing] + ROS_REPO: [testing] with: ros_distro: ${{ matrix.ROS_DISTRO }} ros_repo: ${{ matrix.ROS_REPO }} ref_for_scheduled_build: master + downstream_workspace: https://raw.githubusercontent.com/ros-controls/ros2_control_ci/refs/heads/master/ros_controls.${{ matrix.ROS_DISTRO }}.repos From 226071a0fa2d6d4b78b560f92bfdc2858dc71dcd Mon Sep 17 00:00:00 2001 From: Christoph Froehlich Date: Sat, 23 Nov 2024 19:23:43 +0000 Subject: [PATCH 02/10] Don't test downstream --- .github/workflows/binary-build.yml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/.github/workflows/binary-build.yml b/.github/workflows/binary-build.yml index 42134dfc..562da3a3 100644 --- a/.github/workflows/binary-build.yml +++ b/.github/workflows/binary-build.yml @@ -27,14 +27,15 @@ jobs: # ros_repo: ${{ matrix.ROS_REPO }} # ref_for_scheduled_build: master build-downstream: - uses: ros-controls/ros2_control_ci/.github/workflows/reusable-industrial-ci-with-cache.yml@master + uses: ros-controls/ros2_control_ci/.github/workflows/reusable-industrial-ci-with-cache.yml@test_downstream strategy: fail-fast: false matrix: - ROS_DISTRO: [humble, jazzy, rolling] + ROS_DISTRO: [rolling] ROS_REPO: [testing] with: ros_distro: ${{ matrix.ROS_DISTRO }} ros_repo: ${{ matrix.ROS_REPO }} ref_for_scheduled_build: master downstream_workspace: https://raw.githubusercontent.com/ros-controls/ros2_control_ci/refs/heads/master/ros_controls.${{ matrix.ROS_DISTRO }}.repos + not_test_downstream: true From fc162ae779cd769b0621ca396f3f142822117f9d Mon Sep 17 00:00:00 2001 From: Christoph Froehlich Date: Sat, 23 Nov 2024 19:34:44 +0000 Subject: [PATCH 03/10] Create full matrix strategy --- .github/workflows/binary-build.yml | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/.github/workflows/binary-build.yml b/.github/workflows/binary-build.yml index 562da3a3..7b23c335 100644 --- a/.github/workflows/binary-build.yml +++ b/.github/workflows/binary-build.yml @@ -15,23 +15,23 @@ on: - cron: '03 1 * * *' jobs: - # binary: - # uses: ros-controls/ros2_control_ci/.github/workflows/reusable-industrial-ci-with-cache.yml@master - # strategy: - # fail-fast: false - # matrix: - # ROS_DISTRO: [humble, jazzy, rolling] - # ROS_REPO: [main, testing] - # with: - # ros_distro: ${{ matrix.ROS_DISTRO }} - # ros_repo: ${{ matrix.ROS_REPO }} - # ref_for_scheduled_build: master - build-downstream: + binary-main: + uses: ros-controls/ros2_control_ci/.github/workflows/reusable-industrial-ci-with-cache.yml@master + strategy: + fail-fast: false + matrix: + ROS_DISTRO: [humble, jazzy, rolling] + ROS_REPO: [main] + with: + ros_distro: ${{ matrix.ROS_DISTRO }} + ros_repo: ${{ matrix.ROS_REPO }} + ref_for_scheduled_build: master + build-testing-downstream: uses: ros-controls/ros2_control_ci/.github/workflows/reusable-industrial-ci-with-cache.yml@test_downstream strategy: fail-fast: false matrix: - ROS_DISTRO: [rolling] + ROS_DISTRO: [humble, jazzy, rolling] ROS_REPO: [testing] with: ros_distro: ${{ matrix.ROS_DISTRO }} From d3b8d45d0ca78da6e7caac8ef4c8f57aaf7fe888 Mon Sep 17 00:00:00 2001 From: Christoph Froehlich Date: Sat, 23 Nov 2024 21:42:29 +0000 Subject: [PATCH 04/10] Don't test for downstream build --- .github/workflows/binary-build.yml | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/.github/workflows/binary-build.yml b/.github/workflows/binary-build.yml index 7b23c335..8844b134 100644 --- a/.github/workflows/binary-build.yml +++ b/.github/workflows/binary-build.yml @@ -15,21 +15,21 @@ on: - cron: '03 1 * * *' jobs: - binary-main: + binary: uses: ros-controls/ros2_control_ci/.github/workflows/reusable-industrial-ci-with-cache.yml@master strategy: fail-fast: false matrix: ROS_DISTRO: [humble, jazzy, rolling] - ROS_REPO: [main] + ROS_REPO: [main, testing] with: ros_distro: ${{ matrix.ROS_DISTRO }} ros_repo: ${{ matrix.ROS_REPO }} ref_for_scheduled_build: master - build-testing-downstream: + build-downstream: uses: ros-controls/ros2_control_ci/.github/workflows/reusable-industrial-ci-with-cache.yml@test_downstream strategy: - fail-fast: false + fail-fast: true matrix: ROS_DISTRO: [humble, jazzy, rolling] ROS_REPO: [testing] @@ -37,5 +37,6 @@ jobs: ros_distro: ${{ matrix.ROS_DISTRO }} ros_repo: ${{ matrix.ROS_REPO }} ref_for_scheduled_build: master + not_test_build: true downstream_workspace: https://raw.githubusercontent.com/ros-controls/ros2_control_ci/refs/heads/master/ros_controls.${{ matrix.ROS_DISTRO }}.repos not_test_downstream: true From 3ae04ddd5806c6fb83a9b8ed7468142b682d4001 Mon Sep 17 00:00:00 2001 From: Christoph Froehlich Date: Sat, 23 Nov 2024 21:44:30 +0000 Subject: [PATCH 05/10] Add repos file for downstream tests --- .github/workflows/binary-build.yml | 2 +- binary-build.yml | 42 ++++++++++++++++++++++++++++++ ros_controls.humble.repos | 25 ++++++++++++++++++ ros_controls.jazzy.repos | 25 ++++++++++++++++++ ros_controls.rolling.repos | 25 ++++++++++++++++++ 5 files changed, 118 insertions(+), 1 deletion(-) create mode 100644 binary-build.yml create mode 100644 ros_controls.humble.repos create mode 100644 ros_controls.jazzy.repos create mode 100644 ros_controls.rolling.repos diff --git a/.github/workflows/binary-build.yml b/.github/workflows/binary-build.yml index 8844b134..abd5cc51 100644 --- a/.github/workflows/binary-build.yml +++ b/.github/workflows/binary-build.yml @@ -38,5 +38,5 @@ jobs: ros_repo: ${{ matrix.ROS_REPO }} ref_for_scheduled_build: master not_test_build: true - downstream_workspace: https://raw.githubusercontent.com/ros-controls/ros2_control_ci/refs/heads/master/ros_controls.${{ matrix.ROS_DISTRO }}.repos + downstream_workspace: ros_controls.${{ matrix.ROS_DISTRO }}.repos not_test_downstream: true diff --git a/binary-build.yml b/binary-build.yml new file mode 100644 index 00000000..8844b134 --- /dev/null +++ b/binary-build.yml @@ -0,0 +1,42 @@ +name: Binary Build +# author: Denis Štogl +# description: 'Build & test all dependencies from released (binary) packages.' + +on: + workflow_dispatch: + pull_request: + branches: + - master + push: + branches: + - master + schedule: + # Run every morning to detect flakiness and broken dependencies + - cron: '03 1 * * *' + +jobs: + binary: + uses: ros-controls/ros2_control_ci/.github/workflows/reusable-industrial-ci-with-cache.yml@master + strategy: + fail-fast: false + matrix: + ROS_DISTRO: [humble, jazzy, rolling] + ROS_REPO: [main, testing] + with: + ros_distro: ${{ matrix.ROS_DISTRO }} + ros_repo: ${{ matrix.ROS_REPO }} + ref_for_scheduled_build: master + build-downstream: + uses: ros-controls/ros2_control_ci/.github/workflows/reusable-industrial-ci-with-cache.yml@test_downstream + strategy: + fail-fast: true + matrix: + ROS_DISTRO: [humble, jazzy, rolling] + ROS_REPO: [testing] + with: + ros_distro: ${{ matrix.ROS_DISTRO }} + ros_repo: ${{ matrix.ROS_REPO }} + ref_for_scheduled_build: master + not_test_build: true + downstream_workspace: https://raw.githubusercontent.com/ros-controls/ros2_control_ci/refs/heads/master/ros_controls.${{ matrix.ROS_DISTRO }}.repos + not_test_downstream: true diff --git a/ros_controls.humble.repos b/ros_controls.humble.repos new file mode 100644 index 00000000..29f542d7 --- /dev/null +++ b/ros_controls.humble.repos @@ -0,0 +1,25 @@ +repositories: + ros-controls/control_msgs: + type: git + url: https://github.com/ros-controls/control_msgs.git + version: humble + ros-controls/control_toolbox: + type: git + url: https://github.com/ros-controls/control_toolbox.git + version: ros2-master + ros-controls/kinematics_interface: + type: git + url: https://github.com/ros-controls/kinematics_interface.git + version: humble + ros-controls/realtime_tools: + type: git + url: https://github.com/ros-controls/realtime_tools.git + version: master + ros-controls/ros2_control: + type: git + url: https://github.com/ros-controls/ros2_control.git + version: humble + ros-controls/ros2_controllers: + type: git + url: https://github.com/ros-controls/ros2_controllers.git + version: humble diff --git a/ros_controls.jazzy.repos b/ros_controls.jazzy.repos new file mode 100644 index 00000000..1243c9ae --- /dev/null +++ b/ros_controls.jazzy.repos @@ -0,0 +1,25 @@ +repositories: + ros-controls/control_msgs: + type: git + url: https://github.com/ros-controls/control_msgs.git + version: master + ros-controls/control_toolbox: + type: git + url: https://github.com/ros-controls/control_toolbox.git + version: ros2-master + ros-controls/kinematics_interface: + type: git + url: https://github.com/ros-controls/kinematics_interface.git + version: master + ros-controls/realtime_tools: + type: git + url: https://github.com/ros-controls/realtime_tools.git + version: master + ros-controls/ros2_control: + type: git + url: https://github.com/ros-controls/ros2_control.git + version: master + ros-controls/ros2_controllers: + type: git + url: https://github.com/ros-controls/ros2_controllers.git + version: master diff --git a/ros_controls.rolling.repos b/ros_controls.rolling.repos new file mode 100644 index 00000000..1243c9ae --- /dev/null +++ b/ros_controls.rolling.repos @@ -0,0 +1,25 @@ +repositories: + ros-controls/control_msgs: + type: git + url: https://github.com/ros-controls/control_msgs.git + version: master + ros-controls/control_toolbox: + type: git + url: https://github.com/ros-controls/control_toolbox.git + version: ros2-master + ros-controls/kinematics_interface: + type: git + url: https://github.com/ros-controls/kinematics_interface.git + version: master + ros-controls/realtime_tools: + type: git + url: https://github.com/ros-controls/realtime_tools.git + version: master + ros-controls/ros2_control: + type: git + url: https://github.com/ros-controls/ros2_control.git + version: master + ros-controls/ros2_controllers: + type: git + url: https://github.com/ros-controls/ros2_controllers.git + version: master From 63da2f5274568eff03914ae4cd95429419874d29 Mon Sep 17 00:00:00 2001 From: Christoph Froehlich Date: Sat, 23 Nov 2024 21:50:24 +0000 Subject: [PATCH 06/10] fail-fast: false --- .github/workflows/binary-build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/binary-build.yml b/.github/workflows/binary-build.yml index abd5cc51..b76f90ff 100644 --- a/.github/workflows/binary-build.yml +++ b/.github/workflows/binary-build.yml @@ -29,7 +29,7 @@ jobs: build-downstream: uses: ros-controls/ros2_control_ci/.github/workflows/reusable-industrial-ci-with-cache.yml@test_downstream strategy: - fail-fast: true + fail-fast: false matrix: ROS_DISTRO: [humble, jazzy, rolling] ROS_REPO: [testing] From 64d8c9e5013f9ba12e490fb080f42cf18b5f2912 Mon Sep 17 00:00:00 2001 From: Christoph Froehlich Date: Sat, 23 Nov 2024 21:51:28 +0000 Subject: [PATCH 07/10] Remove duplicate --- binary-build.yml | 42 ------------------------------------------ 1 file changed, 42 deletions(-) delete mode 100644 binary-build.yml diff --git a/binary-build.yml b/binary-build.yml deleted file mode 100644 index 8844b134..00000000 --- a/binary-build.yml +++ /dev/null @@ -1,42 +0,0 @@ -name: Binary Build -# author: Denis Štogl -# description: 'Build & test all dependencies from released (binary) packages.' - -on: - workflow_dispatch: - pull_request: - branches: - - master - push: - branches: - - master - schedule: - # Run every morning to detect flakiness and broken dependencies - - cron: '03 1 * * *' - -jobs: - binary: - uses: ros-controls/ros2_control_ci/.github/workflows/reusable-industrial-ci-with-cache.yml@master - strategy: - fail-fast: false - matrix: - ROS_DISTRO: [humble, jazzy, rolling] - ROS_REPO: [main, testing] - with: - ros_distro: ${{ matrix.ROS_DISTRO }} - ros_repo: ${{ matrix.ROS_REPO }} - ref_for_scheduled_build: master - build-downstream: - uses: ros-controls/ros2_control_ci/.github/workflows/reusable-industrial-ci-with-cache.yml@test_downstream - strategy: - fail-fast: true - matrix: - ROS_DISTRO: [humble, jazzy, rolling] - ROS_REPO: [testing] - with: - ros_distro: ${{ matrix.ROS_DISTRO }} - ros_repo: ${{ matrix.ROS_REPO }} - ref_for_scheduled_build: master - not_test_build: true - downstream_workspace: https://raw.githubusercontent.com/ros-controls/ros2_control_ci/refs/heads/master/ros_controls.${{ matrix.ROS_DISTRO }}.repos - not_test_downstream: true From a2492979aafa6946121832edf0ad89a9307f434d Mon Sep 17 00:00:00 2001 From: Christoph Froehlich Date: Sat, 23 Nov 2024 21:55:20 +0000 Subject: [PATCH 08/10] Split into two files --- .github/workflows/binary-build.yml | 14 ---------- .github/workflows/binary-downstream-build.yml | 28 +++++++++++++++++++ 2 files changed, 28 insertions(+), 14 deletions(-) create mode 100644 .github/workflows/binary-downstream-build.yml diff --git a/.github/workflows/binary-build.yml b/.github/workflows/binary-build.yml index b76f90ff..3cd847be 100644 --- a/.github/workflows/binary-build.yml +++ b/.github/workflows/binary-build.yml @@ -26,17 +26,3 @@ jobs: ros_distro: ${{ matrix.ROS_DISTRO }} ros_repo: ${{ matrix.ROS_REPO }} ref_for_scheduled_build: master - build-downstream: - uses: ros-controls/ros2_control_ci/.github/workflows/reusable-industrial-ci-with-cache.yml@test_downstream - strategy: - fail-fast: false - matrix: - ROS_DISTRO: [humble, jazzy, rolling] - ROS_REPO: [testing] - with: - ros_distro: ${{ matrix.ROS_DISTRO }} - ros_repo: ${{ matrix.ROS_REPO }} - ref_for_scheduled_build: master - not_test_build: true - downstream_workspace: ros_controls.${{ matrix.ROS_DISTRO }}.repos - not_test_downstream: true diff --git a/.github/workflows/binary-downstream-build.yml b/.github/workflows/binary-downstream-build.yml new file mode 100644 index 00000000..2190bcb0 --- /dev/null +++ b/.github/workflows/binary-downstream-build.yml @@ -0,0 +1,28 @@ +name: Binary Build +# author: Denis Štogl +# description: 'Build & test all dependencies from released (binary) packages.' + +on: + workflow_dispatch: + pull_request: + branches: + - master + push: + branches: + - master + +jobs: + build-downstream: + uses: ros-controls/ros2_control_ci/.github/workflows/reusable-industrial-ci-with-cache.yml@test_downstream + strategy: + fail-fast: false + matrix: + ROS_DISTRO: [humble, jazzy, rolling] + ROS_REPO: [testing] + with: + ros_distro: ${{ matrix.ROS_DISTRO }} + ros_repo: ${{ matrix.ROS_REPO }} + ref_for_scheduled_build: master + not_test_build: true + downstream_workspace: ros_controls.${{ matrix.ROS_DISTRO }}.repos + not_test_downstream: true From 2c6c39dd2d82768908f716ab0e48221e8c0264ae Mon Sep 17 00:00:00 2001 From: Christoph Froehlich Date: Sat, 23 Nov 2024 22:00:26 +0000 Subject: [PATCH 09/10] Update description --- .github/workflows/binary-downstream-build.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/binary-downstream-build.yml b/.github/workflows/binary-downstream-build.yml index 2190bcb0..c940e0f9 100644 --- a/.github/workflows/binary-downstream-build.yml +++ b/.github/workflows/binary-downstream-build.yml @@ -1,6 +1,6 @@ -name: Binary Build -# author: Denis Štogl -# description: 'Build & test all dependencies from released (binary) packages.' +name: Downstream Build +# description: 'Build & test downstream packages from source.' +# author: Christoph Froehlich on: workflow_dispatch: From a956c1542324865d720b632b99c5440b2e3007c1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Christoph=20Fr=C3=B6hlich?= Date: Mon, 25 Nov 2024 07:57:16 +0100 Subject: [PATCH 10/10] Update .github/workflows/binary-downstream-build.yml --- .github/workflows/binary-downstream-build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/binary-downstream-build.yml b/.github/workflows/binary-downstream-build.yml index c940e0f9..7592aa7b 100644 --- a/.github/workflows/binary-downstream-build.yml +++ b/.github/workflows/binary-downstream-build.yml @@ -13,7 +13,7 @@ on: jobs: build-downstream: - uses: ros-controls/ros2_control_ci/.github/workflows/reusable-industrial-ci-with-cache.yml@test_downstream + uses: ros-controls/ros2_control_ci/.github/workflows/reusable-industrial-ci-with-cache.yml@master strategy: fail-fast: false matrix: