Skip to content

Commit 3a21841

Browse files
[CI] Reusable workflows from ros2_control_ci (ros-controls#1383)
1 parent 3e0a023 commit 3a21841

23 files changed

+124
-506
lines changed

.github/workflows/humble-binary-build-testing.yml renamed to .github/workflows/humble-binary-build.yml

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
name: Humble Binary Build - testing
1+
name: Humble Binary Build
22
# author: Denis Štogl <[email protected]>
33
# description: 'Build & test all dependencies from released (binary) packages.'
44

@@ -16,9 +16,13 @@ on:
1616

1717
jobs:
1818
binary:
19-
uses: ./.github/workflows/reusable-industrial-ci-with-cache.yml
19+
uses: ros-controls/ros2_control_ci/.github/workflows/reusable-industrial-ci-with-cache.yml@master
20+
strategy:
21+
matrix:
22+
ROS_DISTRO: [humble]
23+
ROS_REPO: [main, testing]
2024
with:
21-
ros_distro: humble
22-
ros_repo: testing
23-
upstream_workspace: ros2_control-not-released.humble.repos
25+
ros_distro: ${{ matrix.ROS_DISTRO }}
26+
ros_repo: ${{ matrix.ROS_REPO }}
27+
upstream_workspace: ros2_control-not-released.${{ matrix.ROS_DISTRO }}.repos
2428
ref_for_scheduled_build: humble
Lines changed: 12 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
name: Debian Humble Build
1+
name: Debian Humble Source Build
22
on:
33
workflow_dispatch:
44
pull_request:
@@ -10,29 +10,14 @@ on:
1010

1111

1212
jobs:
13-
humble_debian:
14-
name: Humble debian build
15-
runs-on: ubuntu-latest
16-
env:
17-
ROS_DISTRO: humble
18-
skip-packages-build: rqt_controller_manager
19-
skip-packages-test: rqt_controller_manager controller_manager_msgs
20-
container: ghcr.io/ros-controls/ros:humble-debian
21-
steps:
22-
- uses: actions/checkout@v4
23-
with:
24-
path: src/ros2_control
25-
ref: ${{ github.event_name == 'schedule' && 'humble' || '' }}
26-
- name: Build workspace
27-
shell: bash
28-
run: |
29-
source /opt/ros2_ws/install/setup.bash
30-
vcs import src < src/ros2_control/ros2_control.${{ env.ROS_DISTRO }}.repos
31-
colcon build --packages-up-to $(colcon list --paths src/ros2_control/* --names-only) --packages-skip ${{ env.skip-packages-build }}
32-
- name: Test workspace
33-
shell: bash
34-
continue-on-error: true
35-
run: |
36-
source /opt/ros2_ws/install/setup.bash
37-
colcon test --packages-select $(colcon list --paths src/ros2_control/* --names-only) --packages-skip ${{ env.skip-packages-test }}
38-
colcon test-result --verbose
13+
debian_source_build:
14+
uses: ros-controls/ros2_control_ci/.github/workflows/reusable-debian-build.yml@master
15+
strategy:
16+
matrix:
17+
ROS_DISTRO: [humble]
18+
with:
19+
ros_distro: ${{ matrix.ROS_DISTRO }}
20+
upstream_workspace: ros2_control.${{ matrix.ROS_DISTRO }}.repos
21+
ref_for_scheduled_build: master
22+
skip_packages: rqt_controller_manager
23+
skip_packages_test: controller_manager_msgs
Lines changed: 11 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
name: RHEL Humble Binary Build
1+
name: RHEL Humble Semi-Binary Build
22
on:
33
workflow_dispatch:
44
pull_request:
@@ -9,34 +9,13 @@ on:
99
- cron: '03 1 * * *'
1010

1111
jobs:
12-
humble_rhel_binary:
13-
name: Humble RHEL binary build
14-
runs-on: ubuntu-latest
15-
env:
16-
ROS_DISTRO: humble
17-
skip-packages: rqt_controller_manager
18-
container: ghcr.io/ros-controls/ros:humble-rhel
19-
steps:
20-
- uses: actions/checkout@v4
21-
with:
22-
path: src/ros2_control
23-
ref: ${{ github.event_name == 'schedule' && 'humble' || '' }}
24-
- name: Install dependencies
25-
run: |
26-
source /opt/ros/${{ env.ROS_DISTRO }}/setup.bash
27-
source /opt/ros2_ws/install/local_setup.bash
28-
rosdep update
29-
rosdep install -iyr --from-path src/ros2_control || true
30-
- name: Build workspace
31-
run: |
32-
source /opt/ros/${{ env.ROS_DISTRO }}/setup.bash
33-
source /opt/ros2_ws/install/local_setup.bash
34-
colcon build --packages-up-to $(colcon list --paths src/ros2_control/* --names-only) --packages-skip ${{ env.skip-packages }}
35-
- name: Test workspace
36-
shell: bash
37-
continue-on-error: true
38-
run: |
39-
source /opt/ros/${{ env.ROS_DISTRO }}/setup.bash
40-
source /opt/ros2_ws/install/local_setup.bash
41-
colcon test --packages-select $(colcon list --paths src/ros2_control/* --names-only) --packages-skip ${{ env.skip-packages }}
42-
colcon test-result --verbose
12+
rhel_semi_binary_build:
13+
uses: ros-controls/ros2_control_ci/.github/workflows/reusable-rhel-binary-build.yml@master
14+
strategy:
15+
matrix:
16+
ROS_DISTRO: [humble]
17+
with:
18+
ros_distro: ${{ matrix.ROS_DISTRO }}
19+
upstream_workspace: ros2_control.${{ matrix.ROS_DISTRO }}.repos
20+
ref_for_scheduled_build: humble
21+
skip_packages: rqt_controller_manager

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

Lines changed: 0 additions & 23 deletions
This file was deleted.

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

Lines changed: 0 additions & 23 deletions
This file was deleted.

.github/workflows/humble-binary-build-main.yml renamed to .github/workflows/humble-semi-binary-build.yml

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
name: Humble Binary Build - main
1+
name: Humble Semi-Binary Build
22
# author: Denis Štogl <[email protected]>
33
# description: 'Build & test all dependencies from released (binary) packages.'
44

@@ -16,9 +16,13 @@ on:
1616

1717
jobs:
1818
binary:
19-
uses: ./.github/workflows/reusable-industrial-ci-with-cache.yml
19+
uses: ros-controls/ros2_control_ci/.github/workflows/reusable-industrial-ci-with-cache.yml@master
20+
strategy:
21+
matrix:
22+
ROS_DISTRO: [humble]
23+
ROS_REPO: [main, testing]
2024
with:
21-
ros_distro: humble
22-
ros_repo: main
23-
upstream_workspace: ros2_control-not-released.humble.repos
25+
ros_distro: ${{ matrix.ROS_DISTRO }}
26+
ros_repo: ${{ matrix.ROS_REPO }}
27+
upstream_workspace: ros2_control.${{ matrix.ROS_DISTRO }}.repos
2428
ref_for_scheduled_build: humble

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ on:
1010

1111
jobs:
1212
source:
13-
uses: ./.github/workflows/reusable-ros-tooling-source-build.yml
13+
uses: ros-controls/ros2_control_ci/.github/workflows/reusable-ros-tooling-source-build.yml@master
1414
with:
1515
ros_distro: humble
1616
ref: humble

.github/workflows/iron-binary-build-main.yml renamed to .github/workflows/iron-binary-build.yml

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
name: Iron Binary Build - main
1+
name: Iron Binary Build
22
# author: Denis Štogl <[email protected]>
33
# description: 'Build & test all dependencies from released (binary) packages.'
44

@@ -16,9 +16,13 @@ on:
1616

1717
jobs:
1818
binary:
19-
uses: ./.github/workflows/reusable-industrial-ci-with-cache.yml
19+
uses: ros-controls/ros2_control_ci/.github/workflows/reusable-industrial-ci-with-cache.yml@master
20+
strategy:
21+
matrix:
22+
ROS_DISTRO: [iron]
23+
ROS_REPO: [main, testing]
2024
with:
21-
ros_distro: iron
22-
ros_repo: main
25+
ros_distro: ${{ matrix.ROS_DISTRO }}
26+
ros_repo: ${{ matrix.ROS_REPO }}
2327
upstream_workspace: ros2_control-not-released.iron.repos
2428
ref_for_scheduled_build: iron
Lines changed: 12 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
name: Debian Iron Build
1+
name: Debian Iron Source Build
22
on:
33
workflow_dispatch:
44
pull_request:
@@ -10,29 +10,14 @@ on:
1010

1111

1212
jobs:
13-
iron_debian:
14-
name: Iron debian build
15-
runs-on: ubuntu-latest
16-
env:
17-
ROS_DISTRO: iron
18-
skip-packages-build: rqt_controller_manager
19-
skip-packages-test: rqt_controller_manager controller_manager_msgs
20-
container: ghcr.io/ros-controls/ros:iron-debian
21-
steps:
22-
- uses: actions/checkout@v4
23-
with:
24-
path: src/ros2_control
25-
ref: ${{ github.event_name == 'schedule' && 'iron' || '' }}
26-
- name: Build workspace
27-
shell: bash
28-
run: |
29-
source /opt/ros2_ws/install/setup.bash
30-
vcs import src < src/ros2_control/ros2_control.${{ env.ROS_DISTRO }}.repos
31-
colcon build --packages-up-to $(colcon list --paths src/ros2_control/* --names-only) --packages-skip ${{ env.skip-packages-build }}
32-
- name: Test workspace
33-
shell: bash
34-
continue-on-error: true
35-
run: |
36-
source /opt/ros2_ws/install/setup.bash
37-
colcon test --packages-select $(colcon list --paths src/ros2_control/* --names-only) --packages-skip ${{ env.skip-packages-test }}
38-
colcon test-result --verbose
13+
debian_source_build:
14+
uses: ros-controls/ros2_control_ci/.github/workflows/reusable-debian-build.yml@master
15+
strategy:
16+
matrix:
17+
ROS_DISTRO: [iron]
18+
with:
19+
ros_distro: ${{ matrix.ROS_DISTRO }}
20+
upstream_workspace: ros2_control.${{ matrix.ROS_DISTRO }}.repos
21+
ref_for_scheduled_build: master
22+
skip_packages: rqt_controller_manager
23+
skip_packages_test: controller_manager_msgs
Lines changed: 11 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
name: RHEL Iron Binary Build
1+
name: RHEL Iron Semi-Binary Build
22
on:
33
workflow_dispatch:
44
pull_request:
@@ -9,35 +9,13 @@ on:
99
- cron: '03 1 * * *'
1010

1111
jobs:
12-
iron_rhel_binary:
13-
name: Iron RHEL binary build
14-
runs-on: ubuntu-latest
15-
env:
16-
ROS_DISTRO: iron
17-
skip-packages: rqt_controller_manager
18-
container: ghcr.io/ros-controls/ros:iron-rhel
19-
steps:
20-
- uses: actions/checkout@v4
21-
with:
22-
path: src/ros2_control
23-
ref: ${{ github.event_name == 'schedule' && 'iron' || '' }}
24-
- name: Install dependencies
25-
run: |
26-
source /opt/ros/${{ env.ROS_DISTRO }}/setup.bash
27-
source /opt/ros2_ws/install/local_setup.bash
28-
rosdep update
29-
rosdep install -iyr --from-path src/ros2_control || true
30-
- name: Build workspace
31-
# source also underlay workspace with generate_parameter_library on rhel9
32-
run: |
33-
source /opt/ros/${{ env.ROS_DISTRO }}/setup.bash
34-
source /opt/ros2_ws/install/local_setup.bash
35-
colcon build --packages-up-to $(colcon list --paths src/ros2_control/* --names-only) --packages-skip ${{ env.skip-packages }}
36-
- name: Test workspace
37-
shell: bash
38-
continue-on-error: true
39-
run: |
40-
source /opt/ros/${{ env.ROS_DISTRO }}/setup.bash
41-
source /opt/ros2_ws/install/local_setup.bash
42-
colcon test --packages-select $(colcon list --paths src/ros2_control/* --names-only) --packages-skip ${{ env.skip-packages }}
43-
colcon test-result --verbose
12+
rhel_semi_binary_build:
13+
uses: ros-controls/ros2_control_ci/.github/workflows/reusable-rhel-binary-build.yml@master
14+
strategy:
15+
matrix:
16+
ROS_DISTRO: [iron]
17+
with:
18+
ros_distro: ${{ matrix.ROS_DISTRO }}
19+
upstream_workspace: ros2_control.${{ matrix.ROS_DISTRO }}.repos
20+
ref_for_scheduled_build: iron
21+
skip_packages: rqt_controller_manager

0 commit comments

Comments
 (0)