Skip to content

Commit 005a904

Browse files
authored
[CI] clang, downstream and compatibility builds (backport #94) (#98)
1 parent 3b5f9b5 commit 005a904

25 files changed

+263
-28
lines changed

.github/workflows/humble-abi-compatibility.yml

+5
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,11 @@ on:
55
branches:
66
- humble
77

8+
concurrency:
9+
# cancel previous runs of the same workflow, except for pushes on humble branch
10+
group: ${{ github.workflow }}-${{ github.ref }}
11+
cancel-in-progress: ${{ !startsWith(github.ref, '/refs/heads') }}
12+
813
jobs:
914
abi_check:
1015
runs-on: ubuntu-latest

.github/workflows/humble-binary-build.yml

+6-1
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,11 @@ on:
1414
# Run every morning to detect flakiness and broken dependencies
1515
- cron: '03 1 * * *'
1616

17+
concurrency:
18+
# cancel previous runs of the same workflow, except for pushes on humble branch
19+
group: ${{ github.workflow }}-${{ github.ref }}
20+
cancel-in-progress: ${{ !startsWith(github.ref, '/refs/heads') }}
21+
1722
jobs:
1823
binary:
1924
uses: ros-controls/ros2_control_ci/.github/workflows/reusable-industrial-ci-with-cache.yml@master
@@ -26,4 +31,4 @@ jobs:
2631
ros_distro: ${{ matrix.ROS_DISTRO }}
2732
ros_repo: ${{ matrix.ROS_REPO }}
2833
upstream_workspace: kinematics_interface-not-released.${{ matrix.ROS_DISTRO }}.repos
29-
ref_for_scheduled_build: master
34+
ref_for_scheduled_build: humble

.github/workflows/humble-coverage-build.yml

+5
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,11 @@ on:
88
branches:
99
- humble
1010

11+
concurrency:
12+
# cancel previous runs of the same workflow, except for pushes on humble branch
13+
group: ${{ github.workflow }}-${{ github.ref }}
14+
cancel-in-progress: ${{ !startsWith(github.ref, '/refs/heads') }}
15+
1116
jobs:
1217
coverage_humble:
1318
name: coverage build - humble

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

+6-6
Original file line numberDiff line numberDiff line change
@@ -8,15 +8,15 @@ on:
88
# Run every day to detect flakiness and broken dependencies
99
- cron: '33 2 * * *'
1010

11+
concurrency:
12+
# cancel previous runs of the same workflow, except for pushes on humble branch
13+
group: ${{ github.workflow }}-${{ github.ref }}
14+
cancel-in-progress: ${{ !startsWith(github.ref, '/refs/heads') }}
1115

1216
jobs:
1317
debian_source_build:
1418
uses: ros-controls/ros2_control_ci/.github/workflows/reusable-debian-build.yml@master
15-
strategy:
16-
fail-fast: false
17-
matrix:
18-
ROS_DISTRO: [humble]
1919
with:
20-
ros_distro: ${{ matrix.ROS_DISTRO }}
21-
upstream_workspace: kinematics_interface.${{ matrix.ROS_DISTRO }}.repos
20+
ros_distro: humble
21+
upstream_workspace: kinematics_interface.humble.repos
2222
ref_for_scheduled_build: master

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

+4
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,10 @@ on:
66
branches:
77
- humble
88

9+
concurrency:
10+
group: ${{ github.workflow }}-${{ github.ref }}
11+
cancel-in-progress: true
12+
913
jobs:
1014
pre-commit:
1115
uses: ros-controls/ros2_control_ci/.github/workflows/reusable-pre-commit.yml@master

.github/workflows/humble-rhel-semi-binary-build.yml

+7-6
Original file line numberDiff line numberDiff line change
@@ -8,14 +8,15 @@ on:
88
# Run every day to detect flakiness and broken dependencies
99
- cron: '42 4 * * *'
1010

11+
concurrency:
12+
# cancel previous runs of the same workflow, except for pushes on humble branch
13+
group: ${{ github.workflow }}-${{ github.ref }}
14+
cancel-in-progress: ${{ !startsWith(github.ref, '/refs/heads') }}
15+
1116
jobs:
1217
rhel_semi_binary_build:
1318
uses: ros-controls/ros2_control_ci/.github/workflows/reusable-rhel-binary-build.yml@master
14-
strategy:
15-
fail-fast: false
16-
matrix:
17-
ROS_DISTRO: [humble]
1819
with:
19-
ros_distro: ${{ matrix.ROS_DISTRO }}
20-
upstream_workspace: kinematics_interface.${{ matrix.ROS_DISTRO }}.repos
20+
ros_distro: humble
21+
upstream_workspace: kinematics_interface.humble.repos
2122
ref_for_scheduled_build: master

.github/workflows/humble-semi-binary-build.yml

+19-8
Original file line numberDiff line numberDiff line change
@@ -13,16 +13,27 @@ on:
1313
# Run every morning to detect flakiness and broken dependencies
1414
- cron: '33 1 * * *'
1515

16+
concurrency:
17+
# cancel previous runs of the same workflow, except for pushes on humble branch
18+
group: ${{ github.workflow }}-${{ github.ref }}
19+
cancel-in-progress: ${{ !startsWith(github.ref, '/refs/heads') }}
20+
1621
jobs:
1722
semi_binary:
1823
uses: ros-controls/ros2_control_ci/.github/workflows/reusable-industrial-ci-with-cache.yml@master
19-
strategy:
20-
fail-fast: false
21-
matrix:
22-
ROS_DISTRO: [humble]
23-
ROS_REPO: [main, testing]
2424
with:
25-
ros_distro: ${{ matrix.ROS_DISTRO }}
26-
ros_repo: ${{ matrix.ROS_REPO }}
27-
upstream_workspace: kinematics_interface.${{ matrix.ROS_DISTRO }}.repos
25+
ros_distro: humble
26+
ros_repo: testing
27+
upstream_workspace: kinematics_interface.humble.repos
2828
ref_for_scheduled_build: master
29+
semi_binary_clang:
30+
uses: ros-controls/ros2_control_ci/.github/workflows/reusable-industrial-ci-with-cache.yml@master
31+
with:
32+
ros_distro: humble
33+
ros_repo: testing
34+
upstream_workspace: kinematics_interface.humble.repos
35+
ref_for_scheduled_build: humble
36+
additional_debs: clang
37+
c_compiler: clang
38+
cxx_compiler: clang++
39+
not_test_build: true
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
name: Humble Downstream Build
2+
# description: 'Build & test downstream packages from source.'
3+
# author: Christoph Froehlich <[email protected]>
4+
5+
on:
6+
workflow_dispatch:
7+
pull_request:
8+
branches:
9+
- humble
10+
11+
concurrency:
12+
group: ${{ github.workflow }}-${{ github.ref }}
13+
cancel-in-progress: true
14+
15+
jobs:
16+
build-downstream:
17+
uses: ros-controls/ros2_control_ci/.github/workflows/reusable-industrial-ci-with-cache.yml@master
18+
with:
19+
ros_distro: humble
20+
ros_repo: testing
21+
ref_for_scheduled_build: master
22+
not_test_build: true
23+
upstream_workspace: kinematics_interface.humble.repos
24+
# we test the downstream packages, which are part of our organization
25+
downstream_workspace: ros_controls.humble.repos
26+
not_test_downstream: false

.github/workflows/humble-source-build.yml

+7-6
Original file line numberDiff line numberDiff line change
@@ -8,15 +8,16 @@ on:
88
# Run every day to detect flakiness and broken dependencies
99
- cron: '03 3 * * *'
1010

11+
concurrency:
12+
# cancel previous runs of the same workflow, except for pushes on humble branch
13+
group: ${{ github.workflow }}-${{ github.ref }}
14+
cancel-in-progress: ${{ !startsWith(github.ref, '/refs/heads') }}
15+
1116
jobs:
1217
source:
1318
uses: ros-controls/ros2_control_ci/.github/workflows/reusable-ros-tooling-source-build.yml@master
14-
strategy:
15-
fail-fast: false
16-
matrix:
17-
ROS_DISTRO: [humble]
1819
with:
19-
ros_distro: ${{ matrix.ROS_DISTRO }}
20+
ros_distro: humble
2021
ref: master
21-
ros2_repo_branch: ${{ matrix.ROS_DISTRO }}
22+
ros2_repo_branch: humble
2223
os_name: ubuntu-22.04

.github/workflows/rolling-abi-compatibility.yml

+5
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,11 @@ on:
55
branches:
66
- master
77

8+
concurrency:
9+
# cancel previous runs of the same workflow, except for pushes on humble branch
10+
group: ${{ github.workflow }}-${{ github.ref }}
11+
cancel-in-progress: ${{ !startsWith(github.ref, '/refs/heads') }}
12+
813
jobs:
914
abi_check:
1015
runs-on: ubuntu-latest

.github/workflows/rolling-binary-build.yml

+5
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,11 @@ on:
1414
# Run every morning to detect flakiness and broken dependencies
1515
- cron: '03 1 * * *'
1616

17+
concurrency:
18+
# cancel previous runs of the same workflow, except for pushes on humble branch
19+
group: ${{ github.workflow }}-${{ github.ref }}
20+
cancel-in-progress: ${{ !startsWith(github.ref, '/refs/heads') }}
21+
1722
jobs:
1823
binary:
1924
uses: ros-controls/ros2_control_ci/.github/workflows/reusable-industrial-ci-with-cache.yml@master
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
name: Check Rolling Compatibility
2+
# author: Christoph Froehlich <[email protected]>
3+
# description: 'Build & test the rolling version on earlier distros.'
4+
5+
on:
6+
workflow_dispatch:
7+
pull_request:
8+
branches:
9+
- master
10+
push:
11+
branches:
12+
- master
13+
14+
concurrency:
15+
# cancel previous runs of the same workflow, except for pushes on humble branch
16+
group: ${{ github.workflow }}-${{ github.ref }}
17+
cancel-in-progress: ${{ !startsWith(github.ref, '/refs/heads') }}
18+
19+
jobs:
20+
build:
21+
uses: ros-controls/ros2_control_ci/.github/workflows/reusable-industrial-ci-with-cache.yml@master
22+
strategy:
23+
fail-fast: false
24+
matrix:
25+
ROS_DISTRO: [humble, jazzy]
26+
ROS_REPO: [testing]
27+
with:
28+
ros_distro: ${{ matrix.ROS_DISTRO }}
29+
ros_repo: ${{ matrix.ROS_REPO }}
30+
upstream_workspace: kinematics_interface.rolling.repos
31+
ref_for_scheduled_build: master

.github/workflows/rolling-coverage-build.yml

+5
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,11 @@ on:
88
branches:
99
- master
1010

11+
concurrency:
12+
# cancel previous runs of the same workflow, except for pushes on humble branch
13+
group: ${{ github.workflow }}-${{ github.ref }}
14+
cancel-in-progress: ${{ !startsWith(github.ref, '/refs/heads') }}
15+
1116
jobs:
1217
coverage_rolling:
1318
name: coverage build - rolling

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

+4
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,10 @@ on:
88
# Run every day to detect flakiness and broken dependencies
99
- cron: '33 2 * * *'
1010

11+
concurrency:
12+
# cancel previous runs of the same workflow, except for pushes on humble branch
13+
group: ${{ github.workflow }}-${{ github.ref }}
14+
cancel-in-progress: ${{ !startsWith(github.ref, '/refs/heads') }}
1115

1216
jobs:
1317
debian_source_build:

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

+4
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,10 @@ on:
66
branches:
77
- master
88

9+
concurrency:
10+
group: ${{ github.workflow }}-${{ github.ref }}
11+
cancel-in-progress: true
12+
913
jobs:
1014
pre-commit:
1115
uses: ros-controls/ros2_control_ci/.github/workflows/reusable-pre-commit.yml@master

.github/workflows/rolling-rhel-semi-binary-build.yml

+4
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,10 @@ on:
88
# Run every day to detect flakiness and broken dependencies
99
- cron: '42 4 * * *'
1010

11+
concurrency:
12+
# cancel previous runs of the same workflow, except for pushes on humble branch
13+
group: ${{ github.workflow }}-${{ github.ref }}
14+
cancel-in-progress: ${{ !startsWith(github.ref, '/refs/heads') }}
1115

1216
jobs:
1317
rhel_semi_binary_build:

.github/workflows/rolling-semi-binary-build.yml

+18-1
Original file line numberDiff line numberDiff line change
@@ -13,16 +13,33 @@ on:
1313
# Run every morning to detect flakiness and broken dependencies
1414
- cron: '33 1 * * *'
1515

16+
concurrency:
17+
# cancel previous runs of the same workflow, except for pushes on humble branch
18+
group: ${{ github.workflow }}-${{ github.ref }}
19+
cancel-in-progress: ${{ !startsWith(github.ref, '/refs/heads') }}
20+
1621
jobs:
1722
semi_binary:
1823
uses: ros-controls/ros2_control_ci/.github/workflows/reusable-industrial-ci-with-cache.yml@master
1924
strategy:
2025
fail-fast: false
2126
matrix:
2227
ROS_DISTRO: [rolling, jazzy]
23-
ROS_REPO: [main, testing]
28+
ROS_REPO: [testing]
2429
with:
2530
ros_distro: ${{ matrix.ROS_DISTRO }}
2631
ros_repo: ${{ matrix.ROS_REPO }}
2732
upstream_workspace: kinematics_interface.${{ matrix.ROS_DISTRO }}.repos
2833
ref_for_scheduled_build: master
34+
semi_binary_clang:
35+
uses: ros-controls/ros2_control_ci/.github/workflows/reusable-industrial-ci-with-cache.yml@master
36+
with:
37+
# job for building only, no tests -> one distro is enough
38+
ros_distro: rolling
39+
ros_repo: testing
40+
upstream_workspace: kinematics_interface.rolling.repos
41+
ref_for_scheduled_build: master
42+
additional_debs: clang
43+
c_compiler: clang
44+
cxx_compiler: clang++
45+
not_test_build: true
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
name: Rolling Downstream Build
2+
# description: 'Build & test downstream packages from source.'
3+
# author: Christoph Froehlich <[email protected]>
4+
5+
on:
6+
workflow_dispatch:
7+
pull_request:
8+
branches:
9+
- master
10+
11+
concurrency:
12+
group: ${{ github.workflow }}-${{ github.ref }}
13+
cancel-in-progress: true
14+
15+
jobs:
16+
build-downstream:
17+
uses: ros-controls/ros2_control_ci/.github/workflows/reusable-industrial-ci-with-cache.yml@master
18+
strategy:
19+
fail-fast: false
20+
matrix:
21+
ROS_DISTRO: [jazzy, rolling]
22+
ROS_REPO: [testing]
23+
with:
24+
ros_distro: ${{ matrix.ROS_DISTRO }}
25+
ros_repo: ${{ matrix.ROS_REPO }}
26+
ref_for_scheduled_build: master
27+
not_test_build: true
28+
upstream_workspace: kinematics_interface.${{ matrix.ROS_DISTRO }}.repos
29+
# we test the downstream packages, which are part of our organization
30+
downstream_workspace: ros_controls.${{ matrix.ROS_DISTRO }}.repos
31+
not_test_downstream: false

.github/workflows/rolling-source-build.yml

+5
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,11 @@ on:
88
# Run every day to detect flakiness and broken dependencies
99
- cron: '03 3 * * *'
1010

11+
concurrency:
12+
# cancel previous runs of the same workflow, except for pushes on humble branch
13+
group: ${{ github.workflow }}-${{ github.ref }}
14+
cancel-in-progress: ${{ !startsWith(github.ref, '/refs/heads') }}
15+
1116
jobs:
1217
source:
1318
uses: ros-controls/ros2_control_ci/.github/workflows/reusable-ros-tooling-source-build.yml@master

kinematics_interface.humble.repos

+9
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,14 @@
11
repositories:
2+
# needed for ros2_control_test_assets
23
ros2_control:
34
type: git
45
url: https://github.com/ros-controls/ros2_control.git
56
version: humble
7+
realtime_tools:
8+
type: git
9+
url: https://github.com/ros-controls/realtime_tools.git
10+
version: humble
11+
control_msgs:
12+
type: git
13+
url: https://github.com/ros-controls/control_msgs.git
14+
version: humble

kinematics_interface.jazzy.repos

+9
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,14 @@
11
repositories:
2+
# needed for ros2_control_test_assets
23
ros2_control:
34
type: git
45
url: https://github.com/ros-controls/ros2_control.git
56
version: master
7+
realtime_tools:
8+
type: git
9+
url: https://github.com/ros-controls/realtime_tools.git
10+
version: master
11+
control_msgs:
12+
type: git
13+
url: https://github.com/ros-controls/control_msgs.git
14+
version: master

0 commit comments

Comments
 (0)