From 94dcc10b32f978c23f37de904e7e345fd807705c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Christoph=20Fr=C3=B6hlich?= Date: Wed, 29 Jan 2025 21:49:16 +0100 Subject: [PATCH] Branch for jazzy (#263) (cherry picked from commit c061e03667fb97ff2a5afb00ac8e2d2111dac5a3) --- .github/dependabot.yml | 7 +++ .github/mergify.yml | 9 ++++ .github/workflows/README.md | 3 +- .github/workflows/jazzy-abi-compatibility.yml | 17 ++++++++ .github/workflows/jazzy-binary-build-win.yml | 34 +++++++++++++++ .github/workflows/jazzy-binary-build.yml | 43 +++++++++++++++++++ .../jazzy-binary-downstream-build.yml | 28 ++++++++++++ .github/workflows/jazzy-coverage-build.yml | 22 ++++++++++ .github/workflows/jazzy-debian-build.yml | 21 +++++++++ .github/workflows/jazzy-pre-commit.yml | 17 ++++++++ .../jazzy-rhel-semi-binary-build.yml | 21 +++++++++ .github/workflows/jazzy-rosdoc2.yml | 20 +++++++++ .github/workflows/jazzy-source-build.yml | 19 ++++++++ .../workflows/rolling-abi-compatibility.yml | 6 +-- .github/workflows/rolling-binary-build.yml | 2 +- .../rolling-binary-downstream-build.yml | 11 ++--- .github/workflows/rolling-debian-build.yml | 6 +-- .github/workflows/rolling-pre-commit.yml | 6 +-- .../rolling-rhel-semi-binary-build.yml | 6 +-- .github/workflows/rolling-source-build.yml | 18 ++------ README.md | 2 +- 21 files changed, 273 insertions(+), 45 deletions(-) create mode 100644 .github/workflows/jazzy-abi-compatibility.yml create mode 100644 .github/workflows/jazzy-binary-build-win.yml create mode 100644 .github/workflows/jazzy-binary-build.yml create mode 100644 .github/workflows/jazzy-binary-downstream-build.yml create mode 100644 .github/workflows/jazzy-coverage-build.yml create mode 100644 .github/workflows/jazzy-debian-build.yml create mode 100644 .github/workflows/jazzy-pre-commit.yml create mode 100644 .github/workflows/jazzy-rhel-semi-binary-build.yml create mode 100644 .github/workflows/jazzy-rosdoc2.yml create mode 100644 .github/workflows/jazzy-source-build.yml diff --git a/.github/dependabot.yml b/.github/dependabot.yml index f5e9921f..a54004f9 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -11,6 +11,13 @@ updates: directory: "/" schedule: interval: "weekly" + - package-ecosystem: "github-actions" + # Workflow files stored in the + # default location of `.github/workflows` + directory: "/" + schedule: + interval: "weekly" + target-branch: "jazzy" - package-ecosystem: "github-actions" # Workflow files stored in the # default location of `.github/workflows` diff --git a/.github/mergify.yml b/.github/mergify.yml index 84ad380e..44f51cf5 100644 --- a/.github/mergify.yml +++ b/.github/mergify.yml @@ -8,6 +8,15 @@ pull_request_rules: branches: - humble + - name: Backport to jazzy at reviewers discretion + conditions: + - base=master + - "label=backport-jazzy" + actions: + backport: + branches: + - jazzy + - name: Ask to resolve conflict conditions: - conflict diff --git a/.github/workflows/README.md b/.github/workflows/README.md index 05e7602b..0d7a3bdd 100644 --- a/.github/workflows/README.md +++ b/.github/workflows/README.md @@ -2,7 +2,8 @@ ROS 2 Distro | Branch | Build status | Documentation | Released packages :---------: | :----: | :----------: | :-----------: | :---------------: -**Rolling**
**Jazzy** | [`master`](https://github.com/ros-controls/realtime_tools/tree/master) | [![Binary Build](https://github.com/ros-controls/realtime_tools/actions/workflows/rolling-binary-build.yml/badge.svg?branch=master)](https://github.com/ros-controls/realtime_tools/actions/workflows/rolling-binary-build.yml?branch=master)
[![Source Build](https://github.com/ros-controls/realtime_tools/actions/workflows/rolling-source-build.yml/badge.svg?branch=master)](https://github.com/ros-controls/realtime_tools/actions/workflows/rolling-source-build.yml?branch=master) | [API](http://docs.ros.org/en/rolling/p/realtime_tools/) | [realtime_tools](https://index.ros.org/p/realtime_tools/#rolling) +**Rolling** | [`master`](https://github.com/ros-controls/realtime_tools/tree/master) | [![Binary Build](https://github.com/ros-controls/realtime_tools/actions/workflows/rolling-binary-build.yml/badge.svg?branch=master)](https://github.com/ros-controls/realtime_tools/actions/workflows/rolling-binary-build.yml?branch=master)
[![Source Build](https://github.com/ros-controls/realtime_tools/actions/workflows/rolling-source-build.yml/badge.svg?branch=master)](https://github.com/ros-controls/realtime_tools/actions/workflows/rolling-source-build.yml?branch=master) | [API](http://docs.ros.org/en/rolling/p/realtime_tools/) | [realtime_tools](https://index.ros.org/p/realtime_tools/#rolling) +**Jazzy** | [`jazzy`](https://github.com/ros-controls/realtime_tools/tree/jazzy) | [![Binary Build](https://github.com/ros-controls/realtime_tools/actions/workflows/jazzy-binary-build.yml/badge.svg?branch=jazzy)](https://github.com/ros-controls/realtime_tools/actions/workflows/jazzy-binary-build.yml?branch=jazzy)
[![Source Build](https://github.com/ros-controls/realtime_tools/actions/workflows/jazzy-source-build.yml/badge.svg?branch=jazzy)](https://github.com/ros-controls/realtime_tools/actions/workflows/jazzy-source-build.yml?branch=jazzy) | [API](http://docs.ros.org/en/jazzy/p/realtime_tools/) | [realtime_tools](https://index.ros.org/p/realtime_tools/#jazzy) **Humble** | [`humble`](https://github.com/ros-controls/realtime_tools/tree/humble) | [![Binary Build](https://github.com/ros-controls/realtime_tools/actions/workflows/humble-binary-build.yml/badge.svg?branch=master)](https://github.com/ros-controls/realtime_tools/actions/workflows/humble-binary-build.yml?branch=master)
[![Source Build](https://github.com/ros-controls/realtime_tools/actions/workflows/humble-source-build.yml/badge.svg?branch=master)](https://github.com/ros-controls/realtime_tools/actions/workflows/humble-source-build.yml?branch=master) | [API](http://docs.ros.org/en/humble/p/realtime_tools/) | [realtime_tools](https://index.ros.org/p/realtime_tools/#humble) diff --git a/.github/workflows/jazzy-abi-compatibility.yml b/.github/workflows/jazzy-abi-compatibility.yml new file mode 100644 index 00000000..ce5d8381 --- /dev/null +++ b/.github/workflows/jazzy-abi-compatibility.yml @@ -0,0 +1,17 @@ +name: Jazzy ABI Compatibility Check +on: + workflow_dispatch: + pull_request: + branches: + - jazzy + +concurrency: + # cancel previous runs of the same workflow, except for pushes on jazzy branch + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: ${{ !startsWith(github.ref, '/refs/heads') }} + +jobs: + abi_check: + uses: ros-controls/ros2_control_ci/.github/workflows/reusable-abi-check.yml@master + with: + ros_distro: jazzy diff --git a/.github/workflows/jazzy-binary-build-win.yml b/.github/workflows/jazzy-binary-build-win.yml new file mode 100644 index 00000000..d3f87de1 --- /dev/null +++ b/.github/workflows/jazzy-binary-build-win.yml @@ -0,0 +1,34 @@ +name: Jazzy Windows Binary Build +# author: Christoph Fröhlich +# description: 'Build & test all dependencies from released (binary) windows packages.' + +on: + workflow_dispatch: + pull_request: + branches: + - jazzy + # types: + # - labeled + push: + branches: + - jazzy + # issue_comment: + # types: + # - created + +concurrency: + # cancel previous runs of the same workflow, except for pushes on jazzy branch + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: ${{ !startsWith(github.ref, '/refs/heads') }} + +jobs: + binary-windows: + # if: | + # (github.event_name == 'issue_comment' && contains(github.event.comment.body, '/check-windows')) || + # (github.event_name == 'pull_request' && contains(github.event.label.name, 'check-windows')) || + # (github.event_name == 'workflow_dispatch') + uses: ros-controls/ros2_control_ci/.github/workflows/reusable-ros-tooling-win-build.yml@master + with: + ros_distro: jazzy + ref_for_scheduled_build: jazzy + os_name: windows-2019 diff --git a/.github/workflows/jazzy-binary-build.yml b/.github/workflows/jazzy-binary-build.yml new file mode 100644 index 00000000..afca09c1 --- /dev/null +++ b/.github/workflows/jazzy-binary-build.yml @@ -0,0 +1,43 @@ +name: Jazzy Binary Build +# author: Denis Štogl +# description: 'Build & test all dependencies from released (binary) packages.' + +on: + workflow_dispatch: + pull_request: + branches: + - jazzy + push: + branches: + - jazzy + schedule: + # Run every morning to detect flakiness and broken dependencies + - cron: '03 1 * * *' + +concurrency: + # cancel previous runs of the same workflow, except for pushes on jazzy branch + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: ${{ !startsWith(github.ref, '/refs/heads') }} + +jobs: + binary: + uses: ros-controls/ros2_control_ci/.github/workflows/reusable-industrial-ci-with-cache.yml@master + strategy: + fail-fast: false + matrix: + ROS_DISTRO: [jazzy] + ROS_REPO: [main, testing] + with: + ros_distro: ${{ matrix.ROS_DISTRO }} + ros_repo: ${{ matrix.ROS_REPO }} + ref_for_scheduled_build: jazzy + binary_clang: + uses: ros-controls/ros2_control_ci/.github/workflows/reusable-industrial-ci-with-cache.yml@master + with: + ros_distro: jazzy + ros_repo: testing + ref_for_scheduled_build: jazzy + additional_debs: clang + c_compiler: clang + cxx_compiler: clang++ + not_test_build: true diff --git a/.github/workflows/jazzy-binary-downstream-build.yml b/.github/workflows/jazzy-binary-downstream-build.yml new file mode 100644 index 00000000..252ba2e8 --- /dev/null +++ b/.github/workflows/jazzy-binary-downstream-build.yml @@ -0,0 +1,28 @@ +name: Jazzy Downstream Build +# description: 'Build & test downstream packages from source.' +# author: Christoph Froehlich + +on: + workflow_dispatch: + pull_request: + branches: + - jazzy + push: + branches: + - jazzy + +concurrency: + # cancel previous runs of the same workflow, except for pushes on jazzy branch + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: ${{ !startsWith(github.ref, '/refs/heads') }} + +jobs: + build-downstream: + uses: ros-controls/ros2_control_ci/.github/workflows/reusable-industrial-ci-with-cache.yml@master + with: + ros_distro: jazzy + ros_repo: testing + ref_for_scheduled_build: jazzy + not_test_build: true + downstream_workspace: ros_controls.jazzy.repos + not_test_downstream: true diff --git a/.github/workflows/jazzy-coverage-build.yml b/.github/workflows/jazzy-coverage-build.yml new file mode 100644 index 00000000..864afbcd --- /dev/null +++ b/.github/workflows/jazzy-coverage-build.yml @@ -0,0 +1,22 @@ +name: Jazzy Coverage Build +on: + workflow_dispatch: + push: + branches: + - jazzy + pull_request: + branches: + - jazzy + +concurrency: + # cancel previous runs of the same workflow, except for pushes on jazzy branch + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: ${{ !startsWith(github.ref, '/refs/heads') }} + +jobs: + coverage: + name: coverage build + uses: ros-controls/ros2_control_ci/.github/workflows/reusable-build-coverage.yml@master + secrets: inherit + with: + ros_distro: jazzy diff --git a/.github/workflows/jazzy-debian-build.yml b/.github/workflows/jazzy-debian-build.yml new file mode 100644 index 00000000..f1629d6b --- /dev/null +++ b/.github/workflows/jazzy-debian-build.yml @@ -0,0 +1,21 @@ +name: Jazzy Debian Build +on: + workflow_dispatch: + pull_request: + branches: + - jazzy + schedule: + # Run every day to detect flakiness and broken dependencies + - cron: '33 2 * * *' + +concurrency: + # cancel previous runs of the same workflow, except for pushes on jazzy branch + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: ${{ !startsWith(github.ref, '/refs/heads') }} + +jobs: + debian_source_build: + uses: ros-controls/ros2_control_ci/.github/workflows/reusable-debian-build.yml@master + with: + ros_distro: jazzy + ref_for_scheduled_build: jazzy diff --git a/.github/workflows/jazzy-pre-commit.yml b/.github/workflows/jazzy-pre-commit.yml new file mode 100644 index 00000000..4deac0fc --- /dev/null +++ b/.github/workflows/jazzy-pre-commit.yml @@ -0,0 +1,17 @@ +name: Jazzy Pre-Commit + +on: + workflow_dispatch: + pull_request: + branches: + - jazzy + +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + +jobs: + pre-commit: + uses: ros-controls/ros2_control_ci/.github/workflows/reusable-pre-commit.yml@master + with: + ros_distro: jazzy diff --git a/.github/workflows/jazzy-rhel-semi-binary-build.yml b/.github/workflows/jazzy-rhel-semi-binary-build.yml new file mode 100644 index 00000000..f740cb76 --- /dev/null +++ b/.github/workflows/jazzy-rhel-semi-binary-build.yml @@ -0,0 +1,21 @@ +name: Jazzy RHEL Binary Build +on: + workflow_dispatch: + pull_request: + branches: + - jazzy + schedule: + # Run every day to detect flakiness and broken dependencies + - cron: '03 3 * * *' + +concurrency: + # cancel previous runs of the same workflow, except for pushes on jazzy branch + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: ${{ !startsWith(github.ref, '/refs/heads') }} + +jobs: + rhel_semi_binary_build: + uses: ros-controls/ros2_control_ci/.github/workflows/reusable-rhel-binary-build.yml@master + with: + ros_distro: jazzy + ref_for_scheduled_build: jazzy diff --git a/.github/workflows/jazzy-rosdoc2.yml b/.github/workflows/jazzy-rosdoc2.yml new file mode 100644 index 00000000..5d3f131e --- /dev/null +++ b/.github/workflows/jazzy-rosdoc2.yml @@ -0,0 +1,20 @@ +name: Jazzy rosdoc2 + +on: + workflow_dispatch: + pull_request: + branches: + - jazzy + paths: + - doc/** + - rosdoc2.yaml + - package.xml + +concurrency: + # cancel previous runs of the same workflow, except for pushes on jazzy branch + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: ${{ !startsWith(github.ref, '/refs/heads') }} + +jobs: + check: + uses: ros-controls/ros2_control_ci/.github/workflows/reusable-rosdoc2.yml@master diff --git a/.github/workflows/jazzy-source-build.yml b/.github/workflows/jazzy-source-build.yml new file mode 100644 index 00000000..533b1eed --- /dev/null +++ b/.github/workflows/jazzy-source-build.yml @@ -0,0 +1,19 @@ +name: Jazzy Source Build +on: + workflow_dispatch: + push: + branches: + - jazzy + schedule: + # Run every day to detect flakiness and broken dependencies + - cron: '03 3 * * *' + +jobs: + source: + uses: ros-controls/ros2_control_ci/.github/workflows/reusable-ros-tooling-source-build.yml@master + with: + ros_distro: jazzy + ref: jazzy + ros2_repo_branch: jazzy + os_name: ubuntu-latest + container: ubuntu:24.04 diff --git a/.github/workflows/rolling-abi-compatibility.yml b/.github/workflows/rolling-abi-compatibility.yml index 76331f44..c7a34fd0 100644 --- a/.github/workflows/rolling-abi-compatibility.yml +++ b/.github/workflows/rolling-abi-compatibility.yml @@ -13,15 +13,11 @@ concurrency: jobs: abi_check: runs-on: ubuntu-latest - strategy: - fail-fast: false - matrix: - ROS_DISTRO: [jazzy, rolling] steps: - uses: actions/checkout@v4 - uses: ros-industrial/industrial_ci@master env: - ROS_DISTRO: ${{ matrix.ROS_DISTRO }} + ROS_DISTRO: rolling ROS_REPO: main ABICHECK_URL: github:${{ github.repository }}#${{ github.base_ref }} NOT_TEST_BUILD: true diff --git a/.github/workflows/rolling-binary-build.yml b/.github/workflows/rolling-binary-build.yml index 78becc36..cc5f5c21 100644 --- a/.github/workflows/rolling-binary-build.yml +++ b/.github/workflows/rolling-binary-build.yml @@ -25,7 +25,7 @@ jobs: strategy: fail-fast: false matrix: - ROS_DISTRO: [jazzy, rolling] + ROS_DISTRO: [rolling] ROS_REPO: [main, testing] with: ros_distro: ${{ matrix.ROS_DISTRO }} diff --git a/.github/workflows/rolling-binary-downstream-build.yml b/.github/workflows/rolling-binary-downstream-build.yml index 91efb7e3..3192b6e3 100644 --- a/.github/workflows/rolling-binary-downstream-build.yml +++ b/.github/workflows/rolling-binary-downstream-build.yml @@ -19,15 +19,10 @@ concurrency: jobs: build-downstream: uses: ros-controls/ros2_control_ci/.github/workflows/reusable-industrial-ci-with-cache.yml@master - strategy: - fail-fast: false - matrix: - ROS_DISTRO: [jazzy, rolling] - ROS_REPO: [testing] with: - ros_distro: ${{ matrix.ROS_DISTRO }} - ros_repo: ${{ matrix.ROS_REPO }} + ros_distro: rolling + ros_repo: testing ref_for_scheduled_build: master not_test_build: true - downstream_workspace: ros_controls.${{ matrix.ROS_DISTRO }}.repos + downstream_workspace: ros_controls.rolling.repos not_test_downstream: true diff --git a/.github/workflows/rolling-debian-build.yml b/.github/workflows/rolling-debian-build.yml index ae3ef3bc..8e0898ca 100644 --- a/.github/workflows/rolling-debian-build.yml +++ b/.github/workflows/rolling-debian-build.yml @@ -16,10 +16,6 @@ concurrency: jobs: debian_source_build: uses: ros-controls/ros2_control_ci/.github/workflows/reusable-debian-build.yml@master - strategy: - fail-fast: false - matrix: - ROS_DISTRO: [jazzy, rolling] with: - ros_distro: ${{ matrix.ROS_DISTRO }} + ros_distro: rolling ref_for_scheduled_build: master diff --git a/.github/workflows/rolling-pre-commit.yml b/.github/workflows/rolling-pre-commit.yml index aec5a783..fa444fc5 100644 --- a/.github/workflows/rolling-pre-commit.yml +++ b/.github/workflows/rolling-pre-commit.yml @@ -13,9 +13,5 @@ concurrency: jobs: pre-commit: uses: ros-controls/ros2_control_ci/.github/workflows/reusable-pre-commit.yml@master - strategy: - fail-fast: false - matrix: - ROS_DISTRO: [jazzy, rolling] with: - ros_distro: ${{ matrix.ROS_DISTRO }} + ros_distro: rolling diff --git a/.github/workflows/rolling-rhel-semi-binary-build.yml b/.github/workflows/rolling-rhel-semi-binary-build.yml index ab50864c..5ce19b00 100644 --- a/.github/workflows/rolling-rhel-semi-binary-build.yml +++ b/.github/workflows/rolling-rhel-semi-binary-build.yml @@ -16,10 +16,6 @@ concurrency: jobs: rhel_semi_binary_build: uses: ros-controls/ros2_control_ci/.github/workflows/reusable-rhel-binary-build.yml@master - strategy: - fail-fast: false - matrix: - ROS_DISTRO: [jazzy, rolling] with: - ros_distro: ${{ matrix.ROS_DISTRO }} + ros_distro: rolling ref_for_scheduled_build: master diff --git a/.github/workflows/rolling-source-build.yml b/.github/workflows/rolling-source-build.yml index fb885556..e984dd46 100644 --- a/.github/workflows/rolling-source-build.yml +++ b/.github/workflows/rolling-source-build.yml @@ -11,19 +11,9 @@ on: jobs: source: uses: ros-controls/ros2_control_ci/.github/workflows/reusable-ros-tooling-source-build.yml@master - strategy: - fail-fast: false - matrix: - include: - - ROS_DISTRO: jazzy - CONTAINER: ubuntu:24.04 - OS_NAME: ubuntu-latest - - ROS_DISTRO: rolling - CONTAINER: ubuntu:24.04 - OS_NAME: ubuntu-latest with: - ros_distro: ${{ matrix.ROS_DISTRO }} + ros_distro: rolling ref: master - ros2_repo_branch: ${{ matrix.ROS_DISTRO }} - os_name: ${{ matrix.OS_NAME }} - container: ${{ matrix.CONTAINER }} + ros2_repo_branch: rolling + os_name: ubuntu-latest + container: ubuntu:24.04 diff --git a/README.md b/README.md index 6903dafd..0f56f4fb 100644 --- a/README.md +++ b/README.md @@ -9,7 +9,7 @@ Contains a set of tools that can be used from a hard realtime thread, without br ROS2 Distro | Branch | Build status | Documentation | Released packages :---------: | :----: | :----------: | :-----------: | :---------------: **Rolling** | [`master`](https://github.com/ros-controls/realtime_tools/tree/master) | [![Binary Build](https://github.com/ros-controls/realtime_tools/actions/workflows/rolling-binary-build.yml/badge.svg?branch=master)](https://github.com/ros-controls/realtime_tools/actions/workflows/rolling-binary-build.yml?branch=master)
[![Source Build](https://github.com/ros-controls/realtime_tools/actions/workflows/rolling-source-build.yml/badge.svg?branch=master)](https://github.com/ros-controls/realtime_tools/actions/workflows/rolling-source-build.yml?branch=master) | [API](http://docs.ros.org/en/rolling/p/realtime_tools/) | [realtime_tools](https://index.ros.org/p/realtime_tools/#rolling) -**Jazzy** | [`master`](https://github.com/ros-controls/realtime_tools/tree/master) | see above | [API](http://docs.ros.org/en/jazzy/p/realtime_tools/) | [realtime_tools](https://index.ros.org/p/realtime_tools/#jazzy) +**Jazzy** | [`jazzy`](https://github.com/ros-controls/realtime_tools/tree/jazzy) | [![Binary Build](https://github.com/ros-controls/realtime_tools/actions/workflows/jazzy-binary-build.yml/badge.svg?branch=jazzy)](https://github.com/ros-controls/realtime_tools/actions/workflows/jazzy-binary-build.yml?branch=jazzy)
[![Source Build](https://github.com/ros-controls/realtime_tools/actions/workflows/jazzy-source-build.yml/badge.svg?branch=jazzy)](https://github.com/ros-controls/realtime_tools/actions/workflows/jazzy-source-build.yml?branch=jazzy) | [API](http://docs.ros.org/en/jazzy/p/realtime_tools/) | [realtime_tools](https://index.ros.org/p/realtime_tools/#jazzy) **Humble** | [`humble`](https://github.com/ros-controls/realtime_tools/tree/humble) | [![Binary Build](https://github.com/ros-controls/realtime_tools/actions/workflows/humble-binary-build.yml/badge.svg?branch=master)](https://github.com/ros-controls/realtime_tools/actions/workflows/humble-binary-build.yml?branch=master)
[![Source Build](https://github.com/ros-controls/realtime_tools/actions/workflows/humble-source-build.yml/badge.svg?branch=master)](https://github.com/ros-controls/realtime_tools/actions/workflows/humble-source-build.yml?branch=master) | [API](http://docs.ros.org/en/humble/p/realtime_tools/) | [realtime_tools](https://index.ros.org/p/realtime_tools/#humble)