Skip to content

Commit 3252a27

Browse files
[CI] Improvements and Cleanups (ros-controls#1376)
1 parent b8c5418 commit 3252a27

File tree

7 files changed

+84
-42
lines changed

7 files changed

+84
-42
lines changed

.github/workflows/ci-ros-lint.yml

Lines changed: 14 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,18 @@ name: ROS Lint
22
on:
33
pull_request:
44

5+
env:
6+
package-name:
7+
controller_interface
8+
controller_manager
9+
controller_manager_msgs
10+
hardware_interface
11+
hardware_interface_testing
12+
ros2controlcli
13+
ros2_control
14+
ros2_control_test_assets
15+
transmission_interface
16+
517
jobs:
618
ament_lint:
719
name: ament_${{ matrix.linter }}
@@ -19,17 +31,7 @@ jobs:
1931
with:
2032
distribution: rolling
2133
linter: ${{ matrix.linter }}
22-
package-name:
23-
controller_interface
24-
controller_manager
25-
controller_manager_msgs
26-
hardware_interface
27-
hardware_interface_testing
28-
ros2controlcli
29-
ros2_control
30-
ros2_control_test_assets
31-
transmission_interface
32-
34+
package-name: ${{ env.package-name }}
3335
ament_lint_100:
3436
name: ament_${{ matrix.linter }}
3537
runs-on: ubuntu-latest
@@ -45,13 +47,4 @@ jobs:
4547
distribution: rolling
4648
linter: cpplint
4749
arguments: "--linelength=100 --filter=-whitespace/newline"
48-
package-name:
49-
controller_interface
50-
controller_manager
51-
controller_manager_msgs
52-
hardware_interface
53-
hardware_interface_testing
54-
ros2controlcli
55-
ros2_control
56-
ros2_control_test_assets
57-
transmission_interface
50+
package-name: ${{ env.package-name }}

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

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,17 +15,24 @@ jobs:
1515
runs-on: ubuntu-latest
1616
env:
1717
ROS_DISTRO: humble
18+
skip-packages-build: rqt_controller_manager
19+
skip-packages-test: rqt_controller_manager controller_manager_msgs
1820
container: ghcr.io/ros-controls/ros:humble-debian
1921
steps:
2022
- uses: actions/checkout@v4
2123
with:
2224
path: src/ros2_control
2325
ref: ${{ github.event_name == 'schedule' && 'humble' || '' }}
24-
- name: Build and test
26+
- name: Build workspace
2527
shell: bash
2628
run: |
2729
source /opt/ros2_ws/install/setup.bash
2830
vcs import src < src/ros2_control/ros2_control.${{ env.ROS_DISTRO }}.repos
29-
colcon build --packages-skip rqt_controller_manager
30-
colcon test --packages-skip rqt_controller_manager control_msgs controller_manager_msgs
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 }}
3138
colcon test-result --verbose

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

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ jobs:
1414
runs-on: ubuntu-latest
1515
env:
1616
ROS_DISTRO: humble
17+
skip-packages: rqt_controller_manager
1718
container: ghcr.io/ros-controls/ros:humble-rhel
1819
steps:
1920
- uses: actions/checkout@v4
@@ -22,12 +23,20 @@ jobs:
2223
ref: ${{ github.event_name == 'schedule' && 'humble' || '' }}
2324
- name: Install dependencies
2425
run: |
26+
source /opt/ros/${{ env.ROS_DISTRO }}/setup.bash
27+
source /opt/ros2_ws/install/local_setup.bash
2528
rosdep update
2629
rosdep install -iyr --from-path src/ros2_control || true
27-
- name: Build and test
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
2838
run: |
2939
source /opt/ros/${{ env.ROS_DISTRO }}/setup.bash
30-
source /opt/ros2_ws/install/setup.bash
31-
colcon build --packages-skip rqt_controller_manager
32-
colcon test --packages-skip rqt_controller_manager ros2controlcli
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 }}
3342
colcon test-result --verbose

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

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,17 +15,24 @@ jobs:
1515
runs-on: ubuntu-latest
1616
env:
1717
ROS_DISTRO: iron
18+
skip-packages-build: rqt_controller_manager
19+
skip-packages-test: rqt_controller_manager controller_manager_msgs
1820
container: ghcr.io/ros-controls/ros:iron-debian
1921
steps:
2022
- uses: actions/checkout@v4
2123
with:
2224
path: src/ros2_control
2325
ref: ${{ github.event_name == 'schedule' && 'iron' || '' }}
24-
- name: Build and test
26+
- name: Build workspace
2527
shell: bash
2628
run: |
2729
source /opt/ros2_ws/install/setup.bash
2830
vcs import src < src/ros2_control/ros2_control.${{ env.ROS_DISTRO }}.repos
29-
colcon build --packages-skip rqt_controller_manager
30-
colcon test --packages-skip rqt_controller_manager control_msgs controller_manager_msgs
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 }}
3138
colcon test-result --verbose

.github/workflows/iron-rhel-binary-build.yml

Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ jobs:
1414
runs-on: ubuntu-latest
1515
env:
1616
ROS_DISTRO: iron
17+
skip-packages: rqt_controller_manager
1718
container: ghcr.io/ros-controls/ros:iron-rhel
1819
steps:
1920
- uses: actions/checkout@v4
@@ -22,12 +23,21 @@ jobs:
2223
ref: ${{ github.event_name == 'schedule' && 'iron' || '' }}
2324
- name: Install dependencies
2425
run: |
26+
source /opt/ros/${{ env.ROS_DISTRO }}/setup.bash
27+
source /opt/ros2_ws/install/local_setup.bash
2528
rosdep update
2629
rosdep install -iyr --from-path src/ros2_control || true
27-
- name: Build and test
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
2839
run: |
2940
source /opt/ros/${{ env.ROS_DISTRO }}/setup.bash
30-
source /opt/ros2_ws/install/setup.bash
31-
colcon build --packages-skip rqt_controller_manager
32-
colcon test --packages-skip rqt_controller_manager ros2controlcli
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 }}
3343
colcon test-result --verbose

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

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,18 +15,24 @@ jobs:
1515
runs-on: ubuntu-latest
1616
env:
1717
ROS_DISTRO: rolling
18+
skip-packages: rqt_controller_manager
1819
container: ghcr.io/ros-controls/ros:rolling-debian
1920
steps:
2021
- uses: actions/checkout@v4
2122
with:
2223
path: src/ros2_control
2324
# default behavior is correct on master branch
2425
# ref: ${{ github.event_name == 'schedule' && 'master' || '' }}
25-
- name: Build and test
26+
- name: Build workspace
2627
shell: bash
2728
run: |
2829
source /opt/ros2_ws/install/setup.bash
2930
vcs import src < src/ros2_control/ros2_control.${{ env.ROS_DISTRO }}.repos
30-
colcon build --packages-skip rqt_controller_manager
31-
colcon test --packages-skip rqt_controller_manager
31+
colcon build --packages-up-to $(colcon list --paths src/ros2_control/* --names-only) --packages-skip ${{ env.skip-packages }}
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 }}
3238
colcon test-result --verbose

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

Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ jobs:
1414
runs-on: ubuntu-latest
1515
env:
1616
ROS_DISTRO: rolling
17+
skip-packages: rqt_controller_manager
1718
container: ghcr.io/ros-controls/ros:rolling-rhel
1819
steps:
1920
- uses: actions/checkout@v4
@@ -23,12 +24,21 @@ jobs:
2324
# ref: ${{ github.event_name == 'schedule' && 'master' || '' }}
2425
- name: Install dependencies
2526
run: |
27+
source /opt/ros/${{ env.ROS_DISTRO }}/setup.bash
28+
source /opt/ros2_ws/install/local_setup.bash
2629
rosdep update
2730
rosdep install -iyr --from-path src/ros2_control || true
28-
- name: Build and test
31+
- name: Build workspace
32+
# source also underlay workspace with generate_parameter_library on rhel9
33+
run: |
34+
source /opt/ros/${{ env.ROS_DISTRO }}/setup.bash
35+
source /opt/ros2_ws/install/local_setup.bash
36+
colcon build --packages-up-to $(colcon list --paths src/ros2_control/* --names-only) --packages-skip ${{ env.skip-packages }}
37+
- name: Test workspace
38+
shell: bash
39+
continue-on-error: true
2940
run: |
3041
source /opt/ros/${{ env.ROS_DISTRO }}/setup.bash
31-
source /opt/ros2_ws/install/setup.bash
32-
colcon build --packages-skip rqt_controller_manager
33-
colcon test --packages-skip rqt_controller_manager ros2controlcli
42+
source /opt/ros2_ws/install/local_setup.bash
43+
colcon test --packages-select $(colcon list --paths src/ros2_control/* --names-only) --packages-skip ${{ env.skip-packages }}
3444
colcon test-result --verbose

0 commit comments

Comments
 (0)