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.
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
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) | [](https://github.com/PickNikRobotics/cpp_polyfills/actions/workflows/rolling-binary-build.yml?branch=main)
[](https://build.ros2.org/job/Rdev__cpp_polyfills__ubuntu_noble_amd64/) | [Documentation](https://docs.ros.org/en/rolling/p/tcb_span/) | [](https://build.ros2.org/job/Rbin_uN64__tl_expected__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
[](https://build.ros2.org/job/Kdev__cpp_polyfills__ubuntu_noble_amd64/) | [Documentation](https://docs.ros.org/en/kilted/p/tcb_span/) | [](https://build.ros2.org/job/Kbin_uN64__tl_expected__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
[](https://build.ros2.org/job/Jdev__cpp_polyfills__ubuntu_noble_amd64/) | [Documentation](https://docs.ros.org/en/jazzy/p/tcb_span/) | [](https://build.ros2.org/job/Jbin_uN64__tl_expected__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) | [](https://github.com/PickNikRobotics/cpp_polyfills/actions/workflows/humble-binary-build.yml?branch=humble)
[](https://build.ros2.org/job/Hdev__cpp_polyfills__ubuntu_jammy_amd64/) | [Documentation](https://docs.ros.org/en/humble/p/tcb_span/) | [](https://build.ros2.org/job/Hbin_uJ64__tl_expected__ubuntu_jammy_amd64__binary/)
[](https://build.ros2.org/job/Hbin_uJ64__tcb_span__ubuntu_jammy_amd64__binary/)