From ba400fe3a57021952f6bc8b9f22e5bfbe753f856 Mon Sep 17 00:00:00 2001 From: Christoph Froehlich Date: Thu, 12 Mar 2026 07:57:39 +0000 Subject: [PATCH 1/3] Update workflows --- .github/workflows/humble-binary-build.yml | 38 +++++++++++++++++++ .../workflows/humble-debian-binary-build.yml | 23 +++++++++++ .github/workflows/humble-format.yaml | 17 +++++++++ .../workflows/humble-rhel-binary-build.yml | 23 +++++++++++ .github/workflows/rolling-binary-build.yml | 8 ++-- .../workflows/rolling-debian-binary-build.yml | 2 +- .../{format.yaml => rolling-format.yaml} | 6 +-- .../workflows/rolling-rhel-binary-build.yml | 5 ++- 8 files changed, 111 insertions(+), 11 deletions(-) create mode 100644 .github/workflows/humble-binary-build.yml create mode 100644 .github/workflows/humble-debian-binary-build.yml create mode 100644 .github/workflows/humble-format.yaml create mode 100644 .github/workflows/humble-rhel-binary-build.yml rename .github/workflows/{format.yaml => rolling-format.yaml} (80%) diff --git a/.github/workflows/humble-binary-build.yml b/.github/workflows/humble-binary-build.yml new file mode 100644 index 0000000..35fa832 --- /dev/null +++ b/.github/workflows/humble-binary-build.yml @@ -0,0 +1,38 @@ +# This config uses industrial_ci (https://github.com/ros-industrial/industrial_ci.git). +# For troubleshooting, see readme (https://github.com/ros-industrial/industrial_ci/blob/master/README.rst) + +name: Humble - Binary Build +on: + workflow_dispatch: + pull_request: &event + branches: + - humble + push: *event + +concurrency: + # cancel previous runs of the same workflow, except for pushes on given branches + 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: [humble, jazzy, kilted] + ROS_REPO: [main, testing] + with: + ros_distro: ${{ matrix.ROS_DISTRO }} + ros_repo: ${{ matrix.ROS_REPO }} + ref_for_scheduled_build: master + binary_clang: + uses: ros-controls/ros2_control_ci/.github/workflows/reusable-industrial-ci-with-cache.yml@master + with: + ros_distro: humble + ros_repo: testing + ref_for_scheduled_build: master + additional_debs: clang + c_compiler: clang + cxx_compiler: clang++ + not_test_build: true diff --git a/.github/workflows/humble-debian-binary-build.yml b/.github/workflows/humble-debian-binary-build.yml new file mode 100644 index 0000000..0186773 --- /dev/null +++ b/.github/workflows/humble-debian-binary-build.yml @@ -0,0 +1,23 @@ +name: Humble - Debian Binary Build +on: + workflow_dispatch: + pull_request: &event + branches: + - humble + push: *event + +concurrency: + # cancel previous runs of the same workflow, except for pushes on given branches + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: ${{ !startsWith(github.ref, 'refs/heads') }} + +jobs: + debian_binary_build: + uses: ros-controls/ros2_control_ci/.github/workflows/reusable-debian-build.yml@master + strategy: + fail-fast: false + matrix: + ROS_DISTRO: [humble, jazzy, kilted] + with: + ros_distro: ${{ matrix.ROS_DISTRO }} + ref_for_scheduled_build: main diff --git a/.github/workflows/humble-format.yaml b/.github/workflows/humble-format.yaml new file mode 100644 index 0000000..2f94e5e --- /dev/null +++ b/.github/workflows/humble-format.yaml @@ -0,0 +1,17 @@ +name: Humble Format + +on: + workflow_dispatch: + pull_request: &event + branches: + - humble + push: *event + +jobs: + pre-commit: + name: pre-commit + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v6 + - uses: actions/setup-python@v6 + - uses: pre-commit/action@v3.0.1 diff --git a/.github/workflows/humble-rhel-binary-build.yml b/.github/workflows/humble-rhel-binary-build.yml new file mode 100644 index 0000000..d09e33b --- /dev/null +++ b/.github/workflows/humble-rhel-binary-build.yml @@ -0,0 +1,23 @@ +name: Humble - RHEL Binary Build +on: + workflow_dispatch: + pull_request: &event + branches: + - humble + push: *event + +concurrency: + # cancel previous runs of the same workflow, except for pushes on given branches + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: ${{ !startsWith(github.ref, 'refs/heads') }} + +jobs: + rhel_binary_build: + uses: ros-controls/ros2_control_ci/.github/workflows/reusable-rhel-binary-build.yml@master + strategy: + fail-fast: false + matrix: + ROS_DISTRO: [humble, jazzy, kilted] + with: + ros_distro: ${{ matrix.ROS_DISTRO }} + ref_for_scheduled_build: main diff --git a/.github/workflows/rolling-binary-build.yml b/.github/workflows/rolling-binary-build.yml index 3e4ea99..bd3ee42 100644 --- a/.github/workflows/rolling-binary-build.yml +++ b/.github/workflows/rolling-binary-build.yml @@ -4,12 +4,10 @@ name: Rolling - Binary Build on: workflow_dispatch: - pull_request: - branches: - - main - push: + pull_request: &event branches: - main + push: *event concurrency: # cancel previous runs of the same workflow, except for pushes on given branches branch @@ -22,7 +20,7 @@ jobs: strategy: fail-fast: false matrix: - ROS_DISTRO: [humble, jazzy, kilted, rolling] + ROS_DISTRO: [rolling] ROS_REPO: [main, testing] with: ros_distro: ${{ matrix.ROS_DISTRO }} diff --git a/.github/workflows/rolling-debian-binary-build.yml b/.github/workflows/rolling-debian-binary-build.yml index 96242c1..56113d8 100644 --- a/.github/workflows/rolling-debian-binary-build.yml +++ b/.github/workflows/rolling-debian-binary-build.yml @@ -17,7 +17,7 @@ jobs: strategy: fail-fast: false matrix: - ROS_DISTRO: [humble, jazzy, kilted, rolling] + ROS_DISTRO: [rolling] with: ros_distro: ${{ matrix.ROS_DISTRO }} ref_for_scheduled_build: main diff --git a/.github/workflows/format.yaml b/.github/workflows/rolling-format.yaml similarity index 80% rename from .github/workflows/format.yaml rename to .github/workflows/rolling-format.yaml index 24bccb9..86a1cb0 100644 --- a/.github/workflows/format.yaml +++ b/.github/workflows/rolling-format.yaml @@ -1,11 +1,11 @@ -name: Format +name: Rolling Format on: workflow_dispatch: - pull_request: - push: + pull_request: &event branches: - main + push: *event jobs: pre-commit: diff --git a/.github/workflows/rolling-rhel-binary-build.yml b/.github/workflows/rolling-rhel-binary-build.yml index cc7a0a9..36a0ea1 100644 --- a/.github/workflows/rolling-rhel-binary-build.yml +++ b/.github/workflows/rolling-rhel-binary-build.yml @@ -1,9 +1,10 @@ name: Rolling - RHEL Binary Build on: workflow_dispatch: - pull_request: + pull_request: &event branches: - main + push: *event concurrency: # cancel previous runs of the same workflow, except for pushes on given branches @@ -16,7 +17,7 @@ jobs: strategy: fail-fast: false matrix: - ROS_DISTRO: [humble, jazzy, kilted, rolling] + ROS_DISTRO: [rolling] with: ros_distro: ${{ matrix.ROS_DISTRO }} ref_for_scheduled_build: main From 6d847cab7e522fbbc529b5e08aaa6e152b6e11c9 Mon Sep 17 00:00:00 2001 From: Christoph Froehlich Date: Thu, 12 Mar 2026 09:33:33 +0000 Subject: [PATCH 2/3] Update readme --- README.md | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 45f5f06..dc964d3 100644 --- a/README.md +++ b/README.md @@ -1 +1,10 @@ -ROS packages with vendored pollyfills for C++. +ROS packages with vendored polyfills for C++. + +## Build status + +ROS2 Distro | Branch | Build status | Documentation | Package Build +:---------: | :----: | :----------: | :-----------: | :---------------: +**Rolling** | [`main`](https://github.com/PickNikRobotics/cpp_polyfills/tree/main) | [![Rolling Binary Build](https://github.com/PickNikRobotics/cpp_polyfills/actions/workflows/rolling-binary-build.yml/badge.svg?branch=main)](https://github.com/PickNikRobotics/cpp_polyfills/actions/workflows/rolling-binary-build.yml?branch=main)
[![build.ros2.org](https://build.ros2.org/buildStatus/icon?job=Rdev__cpp_polyfills__ubuntu_noble_amd64&subject=build.ros2.org)](https://build.ros2.org/job/Rdev__cpp_polyfills__ubuntu_noble_amd64/) | [Documentation](https://docs.ros.org/en/rolling/p/tcb_span/) | [![Build Status](https://build.ros2.org/buildStatus/icon?job=Rbin_uN64__tl_expected__ubuntu_noble_amd64__binary)](https://build.ros2.org/job/Rbin_uN64__tl_expected__ubuntu_noble_amd64__binary/)
[![Build Status](https://build.ros2.org/buildStatus/icon?job=Rbin_uN64__tcb_span__ubuntu_noble_amd64__binary)](https://build.ros2.org/job/Rbin_uN64__tcb_span__ubuntu_noble_amd64__binary/) +**Kilted** | [`humble`](https://github.com/PickNikRobotics/cpp_polyfills/tree/humble) | see below
[![build.ros2.org](https://build.ros2.org/buildStatus/icon?job=Kdev__cpp_polyfills__ubuntu_noble_amd64&subject=build.ros2.org)](https://build.ros2.org/job/Kdev__cpp_polyfills__ubuntu_noble_amd64/) | [Documentation](https://docs.ros.org/en/kilted/p/tcb_span/) | [![Build Status](https://build.ros2.org/buildStatus/icon?job=Kbin_uN64__tl_expected__ubuntu_noble_amd64__binary)](https://build.ros2.org/job/Kbin_uN64__tl_expected__ubuntu_noble_amd64__binary/)
[![Build Status](https://build.ros2.org/buildStatus/icon?job=Kbin_uN64__tcb_span__ubuntu_noble_amd64__binary)](https://build.ros2.org/job/Kbin_uN64__tcb_span__ubuntu_noble_amd64__binary/) +**Jazzy** | [`humble`](https://github.com/PickNikRobotics/cpp_polyfills/tree/humble) | see below
[![build.ros2.org](https://build.ros2.org/buildStatus/icon?job=Jdev__cpp_polyfills__ubuntu_noble_amd64&subject=build.ros2.org)](https://build.ros2.org/job/Jdev__cpp_polyfills__ubuntu_noble_amd64/) | [Documentation](https://docs.ros.org/en/jazzy/p/tcb_span/) | [![Build Status](https://build.ros2.org/buildStatus/icon?job=Jbin_uN64__tl_expected__ubuntu_noble_amd64__binary)](https://build.ros2.org/job/Jbin_uN64__tl_expected__ubuntu_noble_amd64__binary/)
[![Build Status](https://build.ros2.org/buildStatus/icon?job=Jbin_uN64__tcb_span__ubuntu_noble_amd64__binary)](https://build.ros2.org/job/Jbin_uN64__tcb_span__ubuntu_noble_amd64__binary/) +**Humble** | [`humble`](https://github.com/PickNikRobotics/cpp_polyfills/tree/humble) | [![Humble Binary Build](https://github.com/PickNikRobotics/cpp_polyfills/actions/workflows/humble-binary-build.yml/badge.svg?branch=humble)](https://github.com/PickNikRobotics/cpp_polyfills/actions/workflows/humble-binary-build.yml?branch=humble)
[![build.ros2.org](https://build.ros2.org/buildStatus/icon?job=Hdev__cpp_polyfills__ubuntu_jammy_amd64&subject=build.ros2.org)](https://build.ros2.org/job/Hdev__cpp_polyfills__ubuntu_jammy_amd64/) | [Documentation](https://docs.ros.org/en/humble/p/tcb_span/) | [![Build Status](https://build.ros2.org/buildStatus/icon?job=Hbin_uJ64__tl_expected__ubuntu_jammy_amd64__binary)](https://build.ros2.org/job/Hbin_uJ64__tl_expected__ubuntu_jammy_amd64__binary/)
[![Build Status](https://build.ros2.org/buildStatus/icon?job=Hbin_uJ64__tcb_span__ubuntu_jammy_amd64__binary)](https://build.ros2.org/job/Hbin_uJ64__tcb_span__ubuntu_jammy_amd64__binary/) From f64d9d4fdf9d6d083a511c478b28bf063e03a2b4 Mon Sep 17 00:00:00 2001 From: Christoph Froehlich Date: Thu, 12 Mar 2026 09:34:01 +0000 Subject: [PATCH 3/3] Update dependabot and mergify --- .github/dependabot.yml | 7 +++++++ .github/mergify.yml | 41 +++++++++++++++++++++++++++++++++++++++++ 2 files changed, 48 insertions(+) create mode 100644 .github/mergify.yml diff --git a/.github/dependabot.yml b/.github/dependabot.yml index 05a48fc..f5e9921 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -11,3 +11,10 @@ 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: "humble" diff --git a/.github/mergify.yml b/.github/mergify.yml new file mode 100644 index 0000000..c7cb423 --- /dev/null +++ b/.github/mergify.yml @@ -0,0 +1,41 @@ +pull_request_rules: + - name: Backport to humble at reviewers discretion + conditions: + - base=master + - "label=backport-humble" + actions: + backport: + branches: + - humble + + - name: Ask to resolve conflict + conditions: + - conflict + - author!=mergify[bot] + - author!=dependabot[bot] + actions: + comment: + message: This pull request is in conflict. Could you fix it @{{author}}? + + - name: Ask to resolve conflict for backports + conditions: + - conflict + - author=mergify[bot] + actions: + comment: + message: This pull request is in conflict. Could you please fix it @christophfroehlich? + + - name: development targets master branch + conditions: + - base!=master + - author!=bmagyar + - author!=christophfroehlich + - author!=nbbrooks + - author!=mergify[bot] + - author!=dependabot[bot] + actions: + comment: + message: | + @{{author}}, all pull requests must be targeted towards the `master` development branch. + Once merged into `master`, it is possible to backport to `{{base}}`, but it must be in `master` + to have these changes reflected into new distributions.