diff --git a/.github/workflows/abi-compatibility.yml b/.github/workflows/abi-compatibility.yml
new file mode 100644
index 00000000..a5719664
--- /dev/null
+++ b/.github/workflows/abi-compatibility.yml
@@ -0,0 +1,22 @@
+name: ABI Compatibility Check
+on:
+ workflow_dispatch:
+ pull_request:
+ branches:
+ - ros2-master
+
+jobs:
+ abi_check:
+ runs-on: ubuntu-latest
+ strategy:
+ fail-fast: false
+ matrix:
+ ROS_DISTRO: [rolling, jazzy, iron, humble]
+ steps:
+ - uses: actions/checkout@v4
+ - uses: ros-industrial/industrial_ci@master
+ env:
+ ROS_DISTRO: ${{ matrix.ROS_DISTRO }}
+ ROS_REPO: main
+ ABICHECK_URL: github:${{ github.repository }}#${{ github.base_ref }}
+ NOT_TEST_BUILD: true
diff --git a/.github/workflows/build-binary.yml b/.github/workflows/build-binary.yml
index 657a1799..c6df8877 100644
--- a/.github/workflows/build-binary.yml
+++ b/.github/workflows/build-binary.yml
@@ -18,7 +18,7 @@ jobs:
strategy:
fail-fast: false
matrix:
- ROS_DISTRO: [rolling, iron, humble]
+ ROS_DISTRO: [rolling, jazzy, iron, humble]
ROS_REPO: [main, testing]
with:
ros_distro: ${{ matrix.ROS_DISTRO }}
diff --git a/.github/workflows/build-source.yml b/.github/workflows/build-source.yml
index 662a3338..7033cea8 100644
--- a/.github/workflows/build-source.yml
+++ b/.github/workflows/build-source.yml
@@ -14,8 +14,22 @@ jobs:
strategy:
fail-fast: false
matrix:
- ROS_DISTRO: [rolling, iron, humble]
+ include:
+ - ROS_DISTRO: humble
+ CONTAINER: ""
+ OS_NAME: ubuntu-22.04
+ - ROS_DISTRO: iron
+ CONTAINER: ""
+ OS_NAME: ubuntu-22.04
+ - 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 }}
ref: ros2-master
ros2_repo_branch: ${{ matrix.ROS_DISTRO }}
+ os_name: ${{ matrix.OS_NAME }}
+ container: ${{ matrix.CONTAINER }}
diff --git a/.github/workflows/ci-pre-commit.yml b/.github/workflows/ci-pre-commit.yml
index 676f1f46..2288ed56 100644
--- a/.github/workflows/ci-pre-commit.yml
+++ b/.github/workflows/ci-pre-commit.yml
@@ -10,6 +10,6 @@ jobs:
strategy:
fail-fast: false
matrix:
- ROS_DISTRO: [rolling, iron, humble]
+ ROS_DISTRO: [humble, iron, jazzy, rolling]
with:
ros_distro: ${{ matrix.ROS_DISTRO }}
diff --git a/.github/workflows/debian-build.yml b/.github/workflows/debian-build.yml
index ff3e5f66..c768c33d 100644
--- a/.github/workflows/debian-build.yml
+++ b/.github/workflows/debian-build.yml
@@ -15,7 +15,7 @@ jobs:
strategy:
fail-fast: false
matrix:
- ROS_DISTRO: [rolling, iron, humble]
+ ROS_DISTRO: [rolling, jazzy, iron, humble]
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/rhel-semi-binary-build.yml
index ce84552f..ebf05edf 100644
--- a/.github/workflows/rhel-semi-binary-build.yml
+++ b/.github/workflows/rhel-semi-binary-build.yml
@@ -15,7 +15,7 @@ jobs:
strategy:
fail-fast: false
matrix:
- ROS_DISTRO: [rolling, iron, humble]
+ ROS_DISTRO: [rolling, jazzy, iron, humble]
with:
ros_distro: ${{ matrix.ROS_DISTRO }}
upstream_workspace: control_toolbox.${{ matrix.ROS_DISTRO }}.repos
diff --git a/README.md b/README.md
index 1d0e3a45..352f3e40 100644
--- a/README.md
+++ b/README.md
@@ -11,6 +11,7 @@ See the documentation of [ros2_control](http://control.ros.org) and release info
ROS2 Distro | Branch | Build status | Documentation | Released packages
:---------: | :----: | :----------: | :-----------: | :---------------:
**Rolling** | [`master`](https://github.com/ros-controls/control_toolbox/tree/master) | [![Binary Build](https://github.com/ros-controls/control_toolbox/actions/workflows/build-binary.yml/badge.svg?branch=ros2-master)](https://github.com/ros-controls/control_toolbox/actions/workflows/build-binary.yml?branch=ros2-master)
[![Rolling Source Build](https://github.com/ros-controls/control_toolbox/actions/workflows/build-source.yml/badge.svg?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)
+**Jazzy** | [`master`](https://github.com/ros-controls/control_toolbox/tree/master) | see above | [API](http://docs.ros.org/en/jazzy/p/control_toolbox/) | [control_toolbox](https://index.ros.org/p/control_toolbox/#jazzy)
**Iron** | [`master`](https://github.com/ros-controls/control_toolbox/tree/master) | see above | [API](http://docs.ros.org/en/iron/p/control_toolbox/) | [control_toolbox](https://index.ros.org/p/control_toolbox/#iron)
**Humble** | [`master`](https://github.com/ros-controls/control_toolbox/tree/master) | see above | [API](http://docs.ros.org/en/humble/p/control_toolbox/) | [control_toolbox](https://index.ros.org/p/control_toolbox/#humble)
diff --git a/control_toolbox-not-released.jazzy.repos b/control_toolbox-not-released.jazzy.repos
new file mode 100644
index 00000000..1b3910e7
--- /dev/null
+++ b/control_toolbox-not-released.jazzy.repos
@@ -0,0 +1,6 @@
+repositories:
+ ## EXAMPLE DEPENDENCY
+# :
+# type: git
+# url: git@github.com:/.git
+# version: master
diff --git a/control_toolbox.jazzy.repos b/control_toolbox.jazzy.repos
new file mode 100644
index 00000000..f8ef4ecb
--- /dev/null
+++ b/control_toolbox.jazzy.repos
@@ -0,0 +1,9 @@
+repositories:
+ control_msgs:
+ type: git
+ url: https://github.com/ros-controls/control_msgs.git
+ version: master
+ realtime_tools:
+ type: git
+ url: https://github.com/ros-controls/realtime_tools
+ version: master