diff --git a/.github/dependabot.yml b/.github/dependabot.yml
index 05a48fc6..f5e9921f 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
index f31518a0..1035341d 100644
--- a/.github/mergify.yml
+++ b/.github/mergify.yml
@@ -1,5 +1,14 @@
pull_request_rules:
+ - name: Backport to humble at reviewers discretion
+ conditions:
+ - base=ros2-master
+ - "label=backport-humble"
+ actions:
+ backport:
+ branches:
+ - humble
+
- name: Ask to resolve conflict
conditions:
- conflict
diff --git a/.github/workflows/humble-abi-compatibility.yml b/.github/workflows/humble-abi-compatibility.yml
new file mode 100644
index 00000000..5c288fab
--- /dev/null
+++ b/.github/workflows/humble-abi-compatibility.yml
@@ -0,0 +1,18 @@
+name: Humble - ABI Compatibility Check
+on:
+ workflow_dispatch:
+ pull_request:
+ branches:
+ - humble
+
+jobs:
+ abi_check:
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v4
+ - uses: ros-industrial/industrial_ci@master
+ env:
+ ROS_DISTRO: humble
+ ROS_REPO: testing
+ ABICHECK_URL: github:${{ github.repository }}#${{ github.base_ref }}
+ NOT_TEST_BUILD: true
diff --git a/.github/workflows/humble-build-binary.yml b/.github/workflows/humble-build-binary.yml
new file mode 100644
index 00000000..a36c0b78
--- /dev/null
+++ b/.github/workflows/humble-build-binary.yml
@@ -0,0 +1,35 @@
+# 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:
+ pull_request:
+ branches:
+ - humble
+ push:
+ branches:
+ - humble
+ schedule:
+ # Run every day to detect flakiness and broken dependencies
+ - cron: '28 6 * * *'
+
+
+jobs:
+ binary:
+ uses: ros-controls/ros2_control_ci/.github/workflows/reusable-industrial-ci-with-cache.yml@master
+ with:
+ ros_distro: humble
+ ros_repo: testing
+ upstream_workspace: control_toolbox-not-released.humble.repos
+ ref_for_scheduled_build: humble
+ binary_clang:
+ uses: ros-controls/ros2_control_ci/.github/workflows/reusable-industrial-ci-with-cache.yml@master
+ with:
+ ros_distro: humble
+ ros_repo: testing
+ upstream_workspace: control_toolbox-not-released.humble.repos
+ ref_for_scheduled_build: humble
+ additional_debs: clang
+ c_compiler: clang
+ cxx_compiler: clang++
+ not_test_build: true
diff --git a/.github/workflows/humble-build-coverage.yml b/.github/workflows/humble-build-coverage.yml
new file mode 100644
index 00000000..1571c4f3
--- /dev/null
+++ b/.github/workflows/humble-build-coverage.yml
@@ -0,0 +1,17 @@
+name: Humble - Coverage Build
+on:
+ workflow_dispatch:
+ push:
+ branches:
+ - humble
+ pull_request:
+ branches:
+ - humble
+
+jobs:
+ coverage_humble:
+ name: coverage build - humble
+ uses: ros-controls/ros2_control_ci/.github/workflows/reusable-build-coverage.yml@master
+ secrets: inherit
+ with:
+ ros_distro: humble
diff --git a/.github/workflows/humble-build-downstream.yml b/.github/workflows/humble-build-downstream.yml
new file mode 100644
index 00000000..c1abe2a4
--- /dev/null
+++ b/.github/workflows/humble-build-downstream.yml
@@ -0,0 +1,23 @@
+# 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 - Downstream Build
+on:
+ pull_request:
+ branches:
+ - humble
+ push:
+ branches:
+ - humble
+
+
+jobs:
+ build-downstream:
+ 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: humble
+ not_test_build: true
+ downstream_workspace: ros_controls.humble.repos
+ not_test_downstream: true
diff --git a/.github/workflows/humble-build-semi-binary.yml b/.github/workflows/humble-build-semi-binary.yml
new file mode 100644
index 00000000..5d5eb76f
--- /dev/null
+++ b/.github/workflows/humble-build-semi-binary.yml
@@ -0,0 +1,24 @@
+# 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 - Semi-Binary Build
+on:
+ pull_request:
+ branches:
+ - humble
+ push:
+ branches:
+ - humble
+ schedule:
+ # Run every day to detect flakiness and broken dependencies
+ - cron: '28 6 * * *'
+
+
+jobs:
+ semi-binary:
+ uses: ros-controls/ros2_control_ci/.github/workflows/reusable-industrial-ci-with-cache.yml@master
+ with:
+ ros_distro: humble
+ ros_repo: testing
+ upstream_workspace: control_toolbox.humble.repos
+ ref_for_scheduled_build: humble
diff --git a/.github/workflows/humble-build-source.yml b/.github/workflows/humble-build-source.yml
new file mode 100644
index 00000000..447cce9b
--- /dev/null
+++ b/.github/workflows/humble-build-source.yml
@@ -0,0 +1,19 @@
+name: Humble - Source Build
+on:
+ workflow_dispatch:
+ push:
+ branches:
+ - humble
+ schedule:
+ # Run every day to detect flakiness and broken dependencies
+ - cron: '03 3 * * *'
+
+jobs:
+ source_build:
+ uses: ros-controls/ros2_control_ci/.github/workflows/reusable-ros-tooling-source-build.yml@master
+ with:
+ ros_distro: humble
+ ref: humble
+ ros2_repo_branch: humble
+ os_name: ubuntu-22.04
+ container: ""
diff --git a/.github/workflows/humble-ci-pre-commit.yml b/.github/workflows/humble-ci-pre-commit.yml
new file mode 100644
index 00000000..b707737f
--- /dev/null
+++ b/.github/workflows/humble-ci-pre-commit.yml
@@ -0,0 +1,13 @@
+name: Humble - Pre-Commit
+
+on:
+ workflow_dispatch:
+ pull_request:
+ branches:
+ - humble
+
+jobs:
+ pre-commit:
+ uses: ros-controls/ros2_control_ci/.github/workflows/reusable-pre-commit.yml@master
+ with:
+ ros_distro: humble
diff --git a/.github/workflows/humble-debian-build.yml b/.github/workflows/humble-debian-build.yml
new file mode 100644
index 00000000..79a9fc79
--- /dev/null
+++ b/.github/workflows/humble-debian-build.yml
@@ -0,0 +1,18 @@
+name: Humble - Debian Source Build
+on:
+ workflow_dispatch:
+ pull_request:
+ branches:
+ - humble
+ schedule:
+ # Run every day to detect flakiness and broken dependencies
+ - cron: '03 5 * * *'
+
+
+jobs:
+ debian_source_build:
+ uses: ros-controls/ros2_control_ci/.github/workflows/reusable-debian-build.yml@master
+ with:
+ ros_distro: humble
+ upstream_workspace: control_toolbox.humble.repos
+ ref_for_scheduled_build: humble
diff --git a/.github/workflows/humble-rhel-semi-binary-build.yml b/.github/workflows/humble-rhel-semi-binary-build.yml
new file mode 100644
index 00000000..58a154e4
--- /dev/null
+++ b/.github/workflows/humble-rhel-semi-binary-build.yml
@@ -0,0 +1,18 @@
+name: Humble - RHEL Semi-Binary Build
+on:
+ workflow_dispatch:
+ pull_request:
+ branches:
+ - humble
+ schedule:
+ # Run every day to detect flakiness and broken dependencies
+ - cron: '03 3 * * *'
+
+
+jobs:
+ rhel_semi_binary_build:
+ uses: ros-controls/ros2_control_ci/.github/workflows/reusable-rhel-binary-build.yml@master
+ with:
+ ros_distro: humble
+ upstream_workspace: control_toolbox.humble.repos
+ ref_for_scheduled_build: humble
diff --git a/.github/workflows/abi-compatibility.yml b/.github/workflows/rolling-abi-compatibility.yml
similarity index 91%
rename from .github/workflows/abi-compatibility.yml
rename to .github/workflows/rolling-abi-compatibility.yml
index 31dc90ae..61e4b2a2 100644
--- a/.github/workflows/abi-compatibility.yml
+++ b/.github/workflows/rolling-abi-compatibility.yml
@@ -11,7 +11,7 @@ jobs:
strategy:
fail-fast: false
matrix:
- ROS_DISTRO: [rolling, jazzy, humble]
+ ROS_DISTRO: [rolling, jazzy]
steps:
- uses: actions/checkout@v4
- uses: ros-industrial/industrial_ci@master
diff --git a/.github/workflows/build-binary.yml b/.github/workflows/rolling-build-binary.yml
similarity index 94%
rename from .github/workflows/build-binary.yml
rename to .github/workflows/rolling-build-binary.yml
index 6c85872e..b254ea3f 100644
--- a/.github/workflows/build-binary.yml
+++ b/.github/workflows/rolling-build-binary.yml
@@ -4,6 +4,8 @@
name: Binary Build
on:
pull_request:
+ branches:
+ - ros2-master
push:
branches:
- ros2-master
@@ -18,7 +20,7 @@ jobs:
strategy:
fail-fast: false
matrix:
- ROS_DISTRO: [rolling, jazzy, humble]
+ ROS_DISTRO: [rolling, jazzy]
ROS_REPO: [main, testing]
with:
ros_distro: ${{ matrix.ROS_DISTRO }}
diff --git a/.github/workflows/build-coverage.yml b/.github/workflows/rolling-build-coverage.yml
similarity index 100%
rename from .github/workflows/build-coverage.yml
rename to .github/workflows/rolling-build-coverage.yml
diff --git a/.github/workflows/build-downstream.yml b/.github/workflows/rolling-build-downstream.yml
similarity index 91%
rename from .github/workflows/build-downstream.yml
rename to .github/workflows/rolling-build-downstream.yml
index d6588993..bb5ca6ae 100644
--- a/.github/workflows/build-downstream.yml
+++ b/.github/workflows/rolling-build-downstream.yml
@@ -4,6 +4,8 @@
name: Downstream Build
on:
pull_request:
+ branches:
+ - ros2-master
push:
branches:
- ros2-master
@@ -15,7 +17,7 @@ jobs:
strategy:
fail-fast: false
matrix:
- ROS_DISTRO: [rolling, jazzy, humble]
+ ROS_DISTRO: [rolling, jazzy]
ROS_REPO: [testing]
with:
ros_distro: ${{ matrix.ROS_DISTRO }}
diff --git a/.github/workflows/build-semi-binary.yml b/.github/workflows/rolling-build-semi-binary.yml
similarity index 91%
rename from .github/workflows/build-semi-binary.yml
rename to .github/workflows/rolling-build-semi-binary.yml
index cb2cb450..8de53032 100644
--- a/.github/workflows/build-semi-binary.yml
+++ b/.github/workflows/rolling-build-semi-binary.yml
@@ -4,6 +4,8 @@
name: Semi-Binary Build
on:
pull_request:
+ branches:
+ - ros2-master
push:
branches:
- ros2-master
@@ -18,7 +20,7 @@ jobs:
strategy:
fail-fast: false
matrix:
- ROS_DISTRO: [rolling, jazzy, humble]
+ ROS_DISTRO: [rolling, jazzy]
ROS_REPO: [testing]
with:
ros_distro: ${{ matrix.ROS_DISTRO }}
diff --git a/.github/workflows/build-source.yml b/.github/workflows/rolling-build-source.yml
similarity index 90%
rename from .github/workflows/build-source.yml
rename to .github/workflows/rolling-build-source.yml
index 8708039f..00c6e61f 100644
--- a/.github/workflows/build-source.yml
+++ b/.github/workflows/rolling-build-source.yml
@@ -15,9 +15,6 @@ jobs:
fail-fast: false
matrix:
include:
- - ROS_DISTRO: humble
- CONTAINER: ""
- OS_NAME: ubuntu-22.04
- ROS_DISTRO: jazzy
CONTAINER: ubuntu:24.04
OS_NAME: ubuntu-latest
diff --git a/.github/workflows/ci-pre-commit.yml b/.github/workflows/rolling-ci-pre-commit.yml
similarity index 79%
rename from .github/workflows/ci-pre-commit.yml
rename to .github/workflows/rolling-ci-pre-commit.yml
index a355fc89..64699170 100644
--- a/.github/workflows/ci-pre-commit.yml
+++ b/.github/workflows/rolling-ci-pre-commit.yml
@@ -3,6 +3,8 @@ name: Pre-Commit
on:
workflow_dispatch:
pull_request:
+ branches:
+ - ros2-master
jobs:
pre-commit:
@@ -10,6 +12,6 @@ jobs:
strategy:
fail-fast: false
matrix:
- ROS_DISTRO: [humble, jazzy, rolling]
+ ROS_DISTRO: [jazzy, rolling]
with:
ros_distro: ${{ matrix.ROS_DISTRO }}
diff --git a/.github/workflows/debian-build.yml b/.github/workflows/rolling-debian-build.yml
similarity index 92%
rename from .github/workflows/debian-build.yml
rename to .github/workflows/rolling-debian-build.yml
index 0d3aeea4..17b6827d 100644
--- a/.github/workflows/debian-build.yml
+++ b/.github/workflows/rolling-debian-build.yml
@@ -15,7 +15,7 @@ jobs:
strategy:
fail-fast: false
matrix:
- ROS_DISTRO: [rolling, jazzy, humble]
+ ROS_DISTRO: [rolling, jazzy]
with:
ros_distro: ${{ matrix.ROS_DISTRO }}
upstream_workspace: control_toolbox.${{ matrix.ROS_DISTRO }}.repos
diff --git a/.github/workflows/rhel-semi-binary-build.yml b/.github/workflows/rolling-rhel-semi-binary-build.yml
similarity index 92%
rename from .github/workflows/rhel-semi-binary-build.yml
rename to .github/workflows/rolling-rhel-semi-binary-build.yml
index 108980a2..f130c1fc 100644
--- a/.github/workflows/rhel-semi-binary-build.yml
+++ b/.github/workflows/rolling-rhel-semi-binary-build.yml
@@ -15,7 +15,7 @@ jobs:
strategy:
fail-fast: false
matrix:
- ROS_DISTRO: [rolling, jazzy, humble]
+ ROS_DISTRO: [rolling, jazzy]
with:
ros_distro: ${{ matrix.ROS_DISTRO }}
upstream_workspace: control_toolbox.${{ matrix.ROS_DISTRO }}.repos
diff --git a/README.md b/README.md
index ea879f75..f5a402d4 100644
--- a/README.md
+++ b/README.md
@@ -2,7 +2,7 @@ control_toolbox
===========
[](https://opensource.org/licenses/BSD-3-Clause)
[](https://opensource.org/licenses/Apache-2.0)
-[](https://codecov.io/gh/ros-controls/control_toolbox)
+[](https://codecov.io/gh/ros-controls/control_toolbox/tree/humble)
This package contains several C++ classes useful in writing controllers.
@@ -11,9 +11,9 @@ See the documentation of [ros2_control](http://control.ros.org) and release info
## Build status
ROS2 Distro | Branch | Build status | Documentation | Released packages
:---------: | :----: | :----------: | :-----------: | :---------------:
-**Rolling** | [`ros2-master`](https://github.com/ros-controls/control_toolbox/tree/ros2-master) | [](https://github.com/ros-controls/control_toolbox/actions/workflows/build-binary.yml?branch=ros2-master)
[](https://github.com/ros-controls/control_toolbox/actions/workflows/build-source.yml?branch=ros2-master) | [API](http://docs.ros.org/en/rolling/p/control_toolbox/) | [control_toolbox](https://index.ros.org/p/control_toolbox/#rolling)
+**Rolling** | [`ros2-master`](https://github.com/ros-controls/control_toolbox/tree/ros2-master) | [](https://github.com/ros-controls/control_toolbox/actions/workflows/rolling-build-binary.yml?branch=ros2-master)
[](https://github.com/ros-controls/control_toolbox/actions/workflows/rolling-build-source.yml?branch=ros2-master) | [API](http://docs.ros.org/en/rolling/p/control_toolbox/) | [control_toolbox](https://index.ros.org/p/control_toolbox/#rolling)
**Jazzy** | [`ros2-master`](https://github.com/ros-controls/control_toolbox/tree/ros2-master) | see above | [API](http://docs.ros.org/en/jazzy/p/control_toolbox/) | [control_toolbox](https://index.ros.org/p/control_toolbox/#jazzy)
-**Humble** | [`ros2-master`](https://github.com/ros-controls/control_toolbox/tree/ros2-master) | see above | [API](http://docs.ros.org/en/humble/p/control_toolbox/) | [control_toolbox](https://index.ros.org/p/control_toolbox/#humble)
+**Humble** | [`humble`](https://github.com/ros-controls/control_toolbox/tree/humble) | [](https://github.com/ros-controls/control_toolbox/actions/workflows/humble-build-binary.yml?branch=ros2-master)
[](https://github.com/ros-controls/control_toolbox/actions/workflows/humble-build-source.yml?branch=ros2-master) | [API](http://docs.ros.org/en/humble/p/control_toolbox/) | [control_toolbox](https://index.ros.org/p/control_toolbox/#humble)
## Publication