Skip to content

Commit aaa1376

Browse files
Merge branch 'master' into rhel10
2 parents fab7d0a + e175bd6 commit aaa1376

14 files changed

Lines changed: 231 additions & 14 deletions

.github/workflows/build_and_publish_debian_docker.yaml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,9 @@ jobs:
4141
- ros_distro: 'kilted'
4242
debian_version: 'debian12'
4343
exclude_packages: ''
44+
- ros_distro: 'lyrical'
45+
debian_version: 'debian12'
46+
exclude_packages: ''
4447
- ros_distro: 'rolling'
4548
debian_version: 'debian12'
4649
exclude_packages: ''

.github/workflows/build_and_publish_ubuntu_docker.yaml

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -40,8 +40,11 @@ jobs:
4040
- ros_distro: 'kilted'
4141
base_image: 'ubuntu:noble'
4242
ros-repo-packages: ""
43+
- ros_distro: 'lyrical'
44+
base_image: 'ubuntu:resolute'
45+
ros-repo-packages: ""
4346
- ros_distro: 'rolling'
44-
base_image: 'ubuntu:noble'
47+
base_image: 'ubuntu:resolute'
4548
ros-repo-packages: ""
4649
- ros_distro: 'humble'
4750
base_image: 'ubuntu:jammy'
@@ -52,8 +55,11 @@ jobs:
5255
- ros_distro: 'kilted'
5356
base_image: 'ubuntu:noble'
5457
ros-repo-packages: "-testing"
58+
- ros_distro: 'lyrical'
59+
base_image: 'ubuntu:resolute'
60+
ros-repo-packages: "-testing"
5561
- ros_distro: 'rolling'
56-
base_image: 'ubuntu:noble'
62+
base_image: 'ubuntu:resolute'
5763
ros-repo-packages: "-testing"
5864
steps:
5965
- uses: actions/checkout@v6
@@ -102,7 +108,7 @@ jobs:
102108
strategy:
103109
fail-fast: false
104110
matrix:
105-
ROS_DISTRO: [rolling, humble, jazzy, kilted]
111+
ROS_DISTRO: [rolling, humble, jazzy, kilted, lyrical]
106112
ROS_REPO: [main, testing]
107113
with:
108114
ros_distro: ${{ matrix.ROS_DISTRO }}
@@ -118,7 +124,7 @@ jobs:
118124
strategy:
119125
fail-fast: false
120126
matrix:
121-
ROS_DISTRO: [kilted, humble, jazzy]
127+
ROS_DISTRO: [kilted, humble, jazzy, lyrical]
122128
ROS_REPO: [main, testing]
123129
with:
124130
ros_distro: ${{ matrix.ROS_DISTRO }}

.github/workflows/debian-stack-build.yml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ on:
1010
- 'ros_controls.humble.repos'
1111
- 'ros_controls.jazzy.repos'
1212
- 'ros_controls.kilted.repos'
13+
- 'ros_controls.lyrical.repos'
1314
- 'ros_controls.rolling.repos'
1415
push: *event
1516
schedule:
@@ -44,7 +45,7 @@ jobs:
4445
strategy:
4546
fail-fast: false
4647
matrix:
47-
ROS_DISTRO: [humble, jazzy, kilted, rolling]
48+
ROS_DISTRO: [humble, jazzy, kilted, lyrical, rolling]
4849
with:
4950
ros_distro: ${{ matrix.ROS_DISTRO }}
5051
target_workspace: ros_controls.${{ matrix.ROS_DISTRO }}.repos
Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
name: Lyrical Stack Build
2+
# author: Denis Štogl <denis@stoglrobotics.de>
3+
# description: 'Build & test all dependencies from released (binary) packages.'
4+
5+
on:
6+
workflow_dispatch:
7+
pull_request:
8+
paths:
9+
- '.github/workflows/lyrical-binary-build.yml'
10+
- '.github/workflows/reusable-industrial-ci-with-cache.yml'
11+
- 'ros_controls.lyrical.repos'
12+
push:
13+
branches:
14+
- master
15+
paths:
16+
- '.github/workflows/lyrical-binary-build.yml'
17+
- '.github/workflows/reusable-industrial-ci-with-cache.yml'
18+
- 'ros_controls.lyrical.repos'
19+
schedule:
20+
# Run every morning to detect flakiness and broken dependencies
21+
- cron: '03 1 * * *'
22+
23+
concurrency:
24+
# cancel previous runs of the same workflow, except for pushes on given branches
25+
group: ${{ github.workflow }}-${{ github.ref }}
26+
cancel-in-progress: ${{ !startsWith(github.ref, 'refs/heads') }}
27+
28+
jobs:
29+
stack-build-gate:
30+
runs-on: ubuntu-latest
31+
outputs:
32+
skip_stack_build: ${{ steps.gate.outputs.skip_stack_build }}
33+
steps:
34+
- name: Checkout
35+
uses: actions/checkout@v6
36+
- name: Evaluate stack build gate
37+
id: gate
38+
uses: ./.github/actions/stack-build-gate
39+
with:
40+
blocked_paths: |
41+
- '.github/workflows/build_and_publish_ubuntu_docker.yaml'
42+
- 'ros2_ubuntu/**'
43+
44+
stack-build:
45+
needs: stack-build-gate
46+
if: ${{ needs.stack-build-gate.outputs.skip_stack_build != 'true' }}
47+
uses: ./.github/workflows/reusable-industrial-ci-with-cache.yml
48+
strategy:
49+
fail-fast: false
50+
matrix:
51+
ROS_DISTRO: [lyrical]
52+
ROS_REPO: [main, testing]
53+
with:
54+
ros_distro: ${{ matrix.ROS_DISTRO }}
55+
ros_repo: ${{ matrix.ROS_REPO }}
56+
target_workspace: ros_controls.${{ matrix.ROS_DISTRO }}.repos
57+
ref_for_scheduled_build: master

.github/workflows/reusable-pre-commit.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,14 +6,14 @@ on:
66
workflow_call:
77
inputs:
88
ros_distro:
9-
description: 'ROS2 distribution name'
9+
description: 'ROS 2 distribution name'
1010
required: true
1111
type: string
1212

1313
jobs:
1414
pre-commit:
1515
runs-on: ubuntu-latest
16-
container: ghcr.io/ros-controls/ros:${{ inputs.ros_distro }}-ubuntu
16+
container: ghcr.io/ros-controls/ros:${{ inputs.ros_distro }}-ubuntu-testing
1717
env:
1818
# this will be src/{repo-owner}/{repo-name}
1919
path: src/${{ github.repository }}

.github/workflows/reusable-ros-tooling-source-build.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -25,12 +25,12 @@ on:
2525
default: ''
2626
type: string
2727
extra-cmake-args:
28-
default: ''
28+
default: '-DBUILD_EXAMPLES=OFF -DBUILD_PYTHON_INTERFACE=OFF -DBUILD_WITH_COLLISION_SUPPORT=OFF' # for pinocchio
2929
description: Additional flags passed to CMake (using colcon build --cmake-args)
3030
required: false
3131
type: string
3232
exclude_source_packages:
33-
default: 'pinocchio'
33+
default: 'coal' # for pinocchio
3434
description: |
3535
Space-separated list of packages to exclude from source build (e.g. packages that should be installed via apt). Note: Also its dependencies will be excluded from source build.
3636
required: false
@@ -99,7 +99,7 @@ jobs:
9999
target-ros2-distro: ${{ inputs.ros_distro }}
100100
ref: ${{ inputs.ref }}
101101
package-name: ${{ steps.package_list_action.outputs.package_list }}
102-
rosdep-skip-keys: rmw_zenoh_cpp
102+
rosdep-skip-keys: rmw_zenoh_cpp coal
103103
vcs-repo-file-url: ${{ steps.check_deps_file.outputs.vcs_file_path }}
104104
colcon-mixin-repository: https://raw.githubusercontent.com/colcon/colcon-mixin-repository/master/index.yaml
105105
extra-cmake-args: ${{ inputs.extra-cmake-args }}

.github/workflows/reusable-ros-tooling-win-build.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -318,7 +318,7 @@ jobs:
318318
@echo eigenpy and hpp-fcl is not needed with the used cmake args, see 'skip_dependencies' default
319319
colcon build ^
320320
--cmake-args --no-warn-unused-cli ^
321-
-DBUILD_EXAMPLES=OFF -DBUILD_PYTHON_INTERFACE=OFF -DBUILD_WITH_HPP_FCL_SUPPORT=OFF ^
321+
-DBUILD_EXAMPLES=OFF -DBUILD_PYTHON_INTERFACE=OFF ^
322322
-DBUILD_WITH_COLLISION_SUPPORT=OFF ^
323323
-DCMAKE_C_COMPILER="%CCACHE_WRAPPER%" -DCMAKE_CXX_COMPILER="%CCACHE_WRAPPER%" ^
324324
--packages-up-to pinocchio ^
Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
name: Check Rolling Compatibility on Lyrical
2+
# author: Christoph Froehlich <christoph.froehlich@ait.ac.at>
3+
# description: 'Build & test the rolling stack on lyrical distro.'
4+
5+
on:
6+
workflow_dispatch:
7+
pull_request:
8+
paths:
9+
- '.github/workflows/rolling-compatibility-lyrical-binary-build.yml'
10+
- '.github/workflows/reusable-industrial-ci-with-cache.yml'
11+
- 'ros_controls.rolling-on-lyrical.repos'
12+
push:
13+
branches:
14+
- master
15+
paths:
16+
- '.github/workflows/rolling-compatibility-lyrical-binary-build.yml'
17+
- '.github/workflows/reusable-industrial-ci-with-cache.yml'
18+
- 'ros_controls.rolling-on-lyrical.repos'
19+
schedule:
20+
# Run every morning to detect flakiness and broken dependencies
21+
- cron: '03 1 * * *'
22+
23+
concurrency:
24+
# cancel previous runs of the same workflow, except for pushes on given branches
25+
group: ${{ github.workflow }}-${{ github.ref }}
26+
cancel-in-progress: ${{ !startsWith(github.ref, 'refs/heads') }}
27+
28+
jobs:
29+
stack-build-gate:
30+
runs-on: ubuntu-latest
31+
outputs:
32+
skip_stack_build: ${{ steps.gate.outputs.skip_stack_build }}
33+
steps:
34+
- name: Checkout
35+
uses: actions/checkout@v6
36+
- name: Evaluate stack build gate
37+
id: gate
38+
uses: ./.github/actions/stack-build-gate
39+
with:
40+
blocked_paths: |
41+
- '.github/workflows/build_and_publish_ubuntu_docker.yaml'
42+
- 'ros2_ubuntu/**'
43+
44+
stack-build-on-lyrical:
45+
needs: stack-build-gate
46+
if: ${{ needs.stack-build-gate.outputs.skip_stack_build != 'true' }}
47+
uses: ./.github/workflows/reusable-industrial-ci-with-cache.yml
48+
strategy:
49+
fail-fast: false
50+
matrix:
51+
ROS_DISTRO: [lyrical]
52+
ROS_REPO: [main, testing]
53+
with:
54+
ros_distro: ${{ matrix.ROS_DISTRO }}
55+
ros_repo: ${{ matrix.ROS_REPO }}
56+
target_workspace: ros_controls.rolling-on-lyrical.repos
57+
ref_for_scheduled_build: master

README.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,14 +11,16 @@ Within this repo the full ros2_control stack is built and tested once per day.
1111

1212
| Platform | Build status |
1313
| --- | --- |
14-
| Ubuntu | [![Rolling Stack Build](https://github.com/ros-controls/ros2_control_ci/actions/workflows/rolling-binary-build.yml/badge.svg)](https://github.com/ros-controls/ros2_control_ci/actions/workflows/rolling-binary-build.yml) [![Kilted Stack Build](https://github.com/ros-controls/ros2_control_ci/actions/workflows/kilted-binary-build.yml/badge.svg)](https://github.com/ros-controls/ros2_control_ci/actions/workflows/kilted-binary-build.yml) [![Jazzy Stack Build](https://github.com/ros-controls/ros2_control_ci/actions/workflows/jazzy-binary-build.yml/badge.svg)](https://github.com/ros-controls/ros2_control_ci/actions/workflows/jazzy-binary-build.yml) [![Humble Stack Build](https://github.com/ros-controls/ros2_control_ci/actions/workflows/humble-binary-build.yml/badge.svg)](https://github.com/ros-controls/ros2_control_ci/actions/workflows/humble-binary-build.yml) |
14+
| Ubuntu | [![Rolling Stack Build](https://github.com/ros-controls/ros2_control_ci/actions/workflows/rolling-binary-build.yml/badge.svg)](https://github.com/ros-controls/ros2_control_ci/actions/workflows/rolling-binary-build.yml) [![Lyrical Stack Build](https://github.com/ros-controls/ros2_control_ci/actions/workflows/lyrical-binary-build.yml/badge.svg)](https://github.com/ros-controls/ros2_control_ci/actions/workflows/lyrical-binary-build.yml) [![Kilted Stack Build](https://github.com/ros-controls/ros2_control_ci/actions/workflows/kilted-binary-build.yml/badge.svg)](https://github.com/ros-controls/ros2_control_ci/actions/workflows/kilted-binary-build.yml) [![Jazzy Stack Build](https://github.com/ros-controls/ros2_control_ci/actions/workflows/jazzy-binary-build.yml/badge.svg)](https://github.com/ros-controls/ros2_control_ci/actions/workflows/jazzy-binary-build.yml) [![Humble Stack Build](https://github.com/ros-controls/ros2_control_ci/actions/workflows/humble-binary-build.yml/badge.svg)](https://github.com/ros-controls/ros2_control_ci/actions/workflows/humble-binary-build.yml) |
1515
| Debian | [![Debian Stack Build](https://github.com/ros-controls/ros2_control_ci/actions/workflows/debian-stack-build.yml/badge.svg)](https://github.com/ros-controls/ros2_control_ci/actions/workflows/debian-stack-build.yml) |
1616
| RHEL | [![RHEL Stack Build](https://github.com/ros-controls/ros2_control_ci/actions/workflows/rhel-stack-build.yml/badge.svg)](https://github.com/ros-controls/ros2_control_ci/actions/workflows/rhel-stack-build.yml) |
1717
| Windows | [![Windows Stack Build](https://github.com/ros-controls/ros2_control_ci/actions/workflows/windows-stack-build.yml/badge.svg)](https://github.com/ros-controls/ros2_control_ci/actions/workflows/windows-stack-build.yml) |
1818

1919
## Compatibility versions
2020
We thrive to make the rolling development version of the ros2_control stack compatible with earlier releases of ROS 2. This is done by building the rolling version of the stack from source with the earlier releases of ROS 2.
2121

22+
[![Check Rolling Compatibility on Lyrical with Stack Build](https://github.com/ros-controls/ros2_control_ci/actions/workflows/rolling-compatibility-lyrical-binary-build.yml/badge.svg)](https://github.com/ros-controls/ros2_control_ci/actions/workflows/rolling-compatibility-lyrical-binary-build.yml)
23+
2224
[![Check Rolling Compatibility on Kilted with Stack Build](https://github.com/ros-controls/ros2_control_ci/actions/workflows/rolling-compatibility-kilted-binary-build.yml/badge.svg)](https://github.com/ros-controls/ros2_control_ci/actions/workflows/rolling-compatibility-kilted-binary-build.yml)
2325

2426
[![Check Rolling Compatibility on Jazzy with Stack Build](https://github.com/ros-controls/ros2_control_ci/actions/workflows/rolling-compatibility-jazzy-binary-build.yml/badge.svg)](https://github.com/ros-controls/ros2_control_ci/actions/workflows/rolling-compatibility-jazzy-binary-build.yml)

ros2_debian/Dockerfile.debian12

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -217,7 +217,7 @@ RUN set -ex; \
217217
. install/setup.sh; \
218218
colcon build \
219219
--cmake-args --no-warn-unused-cli -DBUILD_EXAMPLES=OFF -DBUILD_PYTHON_INTERFACE=OFF \
220-
-DBUILD_WITH_COLLISION_SUPPORT=OFF -DBUILD_WITH_HPP_FCL_SUPPORT=OFF \
220+
-DBUILD_WITH_COLLISION_SUPPORT=OFF \
221221
--continue-on-error \
222222
--packages-select pinocchio; \
223223
fi; \

0 commit comments

Comments
 (0)