Skip to content

Commit

Permalink
[CI] Improvements and Cleanups (#1376)
Browse files Browse the repository at this point in the history
  • Loading branch information
christophfroehlich committed Feb 8, 2024
1 parent b8c5418 commit 3252a27
Show file tree
Hide file tree
Showing 7 changed files with 84 additions and 42 deletions.
35 changes: 14 additions & 21 deletions .github/workflows/ci-ros-lint.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,18 @@ name: ROS Lint
on:
pull_request:

env:
package-name:
controller_interface
controller_manager
controller_manager_msgs
hardware_interface
hardware_interface_testing
ros2controlcli
ros2_control
ros2_control_test_assets
transmission_interface

jobs:
ament_lint:
name: ament_${{ matrix.linter }}
Expand All @@ -19,17 +31,7 @@ jobs:
with:
distribution: rolling
linter: ${{ matrix.linter }}
package-name:
controller_interface
controller_manager
controller_manager_msgs
hardware_interface
hardware_interface_testing
ros2controlcli
ros2_control
ros2_control_test_assets
transmission_interface

package-name: ${{ env.package-name }}
ament_lint_100:
name: ament_${{ matrix.linter }}
runs-on: ubuntu-latest
Expand All @@ -45,13 +47,4 @@ jobs:
distribution: rolling
linter: cpplint
arguments: "--linelength=100 --filter=-whitespace/newline"
package-name:
controller_interface
controller_manager
controller_manager_msgs
hardware_interface
hardware_interface_testing
ros2controlcli
ros2_control
ros2_control_test_assets
transmission_interface
package-name: ${{ env.package-name }}
13 changes: 10 additions & 3 deletions .github/workflows/humble-debian-build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,17 +15,24 @@ jobs:
runs-on: ubuntu-latest
env:
ROS_DISTRO: humble
skip-packages-build: rqt_controller_manager
skip-packages-test: rqt_controller_manager controller_manager_msgs
container: ghcr.io/ros-controls/ros:humble-debian
steps:
- uses: actions/checkout@v4
with:
path: src/ros2_control
ref: ${{ github.event_name == 'schedule' && 'humble' || '' }}
- name: Build and test
- name: Build workspace
shell: bash
run: |
source /opt/ros2_ws/install/setup.bash
vcs import src < src/ros2_control/ros2_control.${{ env.ROS_DISTRO }}.repos
colcon build --packages-skip rqt_controller_manager
colcon test --packages-skip rqt_controller_manager control_msgs controller_manager_msgs
colcon build --packages-up-to $(colcon list --paths src/ros2_control/* --names-only) --packages-skip ${{ env.skip-packages-build }}
- name: Test workspace
shell: bash
continue-on-error: true
run: |
source /opt/ros2_ws/install/setup.bash
colcon test --packages-select $(colcon list --paths src/ros2_control/* --names-only) --packages-skip ${{ env.skip-packages-test }}
colcon test-result --verbose
17 changes: 13 additions & 4 deletions .github/workflows/humble-rhel-binary-build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ jobs:
runs-on: ubuntu-latest
env:
ROS_DISTRO: humble
skip-packages: rqt_controller_manager
container: ghcr.io/ros-controls/ros:humble-rhel
steps:
- uses: actions/checkout@v4
Expand All @@ -22,12 +23,20 @@ jobs:
ref: ${{ github.event_name == 'schedule' && 'humble' || '' }}
- name: Install dependencies
run: |
source /opt/ros/${{ env.ROS_DISTRO }}/setup.bash
source /opt/ros2_ws/install/local_setup.bash
rosdep update
rosdep install -iyr --from-path src/ros2_control || true
- name: Build and test
- name: Build workspace
run: |
source /opt/ros/${{ env.ROS_DISTRO }}/setup.bash
source /opt/ros2_ws/install/local_setup.bash
colcon build --packages-up-to $(colcon list --paths src/ros2_control/* --names-only) --packages-skip ${{ env.skip-packages }}
- name: Test workspace
shell: bash
continue-on-error: true
run: |
source /opt/ros/${{ env.ROS_DISTRO }}/setup.bash
source /opt/ros2_ws/install/setup.bash
colcon build --packages-skip rqt_controller_manager
colcon test --packages-skip rqt_controller_manager ros2controlcli
source /opt/ros2_ws/install/local_setup.bash
colcon test --packages-select $(colcon list --paths src/ros2_control/* --names-only) --packages-skip ${{ env.skip-packages }}
colcon test-result --verbose
13 changes: 10 additions & 3 deletions .github/workflows/iron-debian-build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,17 +15,24 @@ jobs:
runs-on: ubuntu-latest
env:
ROS_DISTRO: iron
skip-packages-build: rqt_controller_manager
skip-packages-test: rqt_controller_manager controller_manager_msgs
container: ghcr.io/ros-controls/ros:iron-debian
steps:
- uses: actions/checkout@v4
with:
path: src/ros2_control
ref: ${{ github.event_name == 'schedule' && 'iron' || '' }}
- name: Build and test
- name: Build workspace
shell: bash
run: |
source /opt/ros2_ws/install/setup.bash
vcs import src < src/ros2_control/ros2_control.${{ env.ROS_DISTRO }}.repos
colcon build --packages-skip rqt_controller_manager
colcon test --packages-skip rqt_controller_manager control_msgs controller_manager_msgs
colcon build --packages-up-to $(colcon list --paths src/ros2_control/* --names-only) --packages-skip ${{ env.skip-packages-build }}
- name: Test workspace
shell: bash
continue-on-error: true
run: |
source /opt/ros2_ws/install/setup.bash
colcon test --packages-select $(colcon list --paths src/ros2_control/* --names-only) --packages-skip ${{ env.skip-packages-test }}
colcon test-result --verbose
18 changes: 14 additions & 4 deletions .github/workflows/iron-rhel-binary-build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ jobs:
runs-on: ubuntu-latest
env:
ROS_DISTRO: iron
skip-packages: rqt_controller_manager
container: ghcr.io/ros-controls/ros:iron-rhel
steps:
- uses: actions/checkout@v4
Expand All @@ -22,12 +23,21 @@ jobs:
ref: ${{ github.event_name == 'schedule' && 'iron' || '' }}
- name: Install dependencies
run: |
source /opt/ros/${{ env.ROS_DISTRO }}/setup.bash
source /opt/ros2_ws/install/local_setup.bash
rosdep update
rosdep install -iyr --from-path src/ros2_control || true
- name: Build and test
- name: Build workspace
# source also underlay workspace with generate_parameter_library on rhel9
run: |
source /opt/ros/${{ env.ROS_DISTRO }}/setup.bash
source /opt/ros2_ws/install/local_setup.bash
colcon build --packages-up-to $(colcon list --paths src/ros2_control/* --names-only) --packages-skip ${{ env.skip-packages }}
- name: Test workspace
shell: bash
continue-on-error: true
run: |
source /opt/ros/${{ env.ROS_DISTRO }}/setup.bash
source /opt/ros2_ws/install/setup.bash
colcon build --packages-skip rqt_controller_manager
colcon test --packages-skip rqt_controller_manager ros2controlcli
source /opt/ros2_ws/install/local_setup.bash
colcon test --packages-select $(colcon list --paths src/ros2_control/* --names-only) --packages-skip ${{ env.skip-packages }}
colcon test-result --verbose
12 changes: 9 additions & 3 deletions .github/workflows/rolling-debian-build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,18 +15,24 @@ jobs:
runs-on: ubuntu-latest
env:
ROS_DISTRO: rolling
skip-packages: rqt_controller_manager
container: ghcr.io/ros-controls/ros:rolling-debian
steps:
- uses: actions/checkout@v4
with:
path: src/ros2_control
# default behavior is correct on master branch
# ref: ${{ github.event_name == 'schedule' && 'master' || '' }}
- name: Build and test
- name: Build workspace
shell: bash
run: |
source /opt/ros2_ws/install/setup.bash
vcs import src < src/ros2_control/ros2_control.${{ env.ROS_DISTRO }}.repos
colcon build --packages-skip rqt_controller_manager
colcon test --packages-skip rqt_controller_manager
colcon build --packages-up-to $(colcon list --paths src/ros2_control/* --names-only) --packages-skip ${{ env.skip-packages }}
- name: Test workspace
shell: bash
continue-on-error: true
run: |
source /opt/ros2_ws/install/setup.bash
colcon test --packages-select $(colcon list --paths src/ros2_control/* --names-only) --packages-skip ${{ env.skip-packages }}
colcon test-result --verbose
18 changes: 14 additions & 4 deletions .github/workflows/rolling-rhel-binary-build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ jobs:
runs-on: ubuntu-latest
env:
ROS_DISTRO: rolling
skip-packages: rqt_controller_manager
container: ghcr.io/ros-controls/ros:rolling-rhel
steps:
- uses: actions/checkout@v4
Expand All @@ -23,12 +24,21 @@ jobs:
# ref: ${{ github.event_name == 'schedule' && 'master' || '' }}
- name: Install dependencies
run: |
source /opt/ros/${{ env.ROS_DISTRO }}/setup.bash
source /opt/ros2_ws/install/local_setup.bash
rosdep update
rosdep install -iyr --from-path src/ros2_control || true
- name: Build and test
- name: Build workspace
# source also underlay workspace with generate_parameter_library on rhel9
run: |
source /opt/ros/${{ env.ROS_DISTRO }}/setup.bash
source /opt/ros2_ws/install/local_setup.bash
colcon build --packages-up-to $(colcon list --paths src/ros2_control/* --names-only) --packages-skip ${{ env.skip-packages }}
- name: Test workspace
shell: bash
continue-on-error: true
run: |
source /opt/ros/${{ env.ROS_DISTRO }}/setup.bash
source /opt/ros2_ws/install/setup.bash
colcon build --packages-skip rqt_controller_manager
colcon test --packages-skip rqt_controller_manager ros2controlcli
source /opt/ros2_ws/install/local_setup.bash
colcon test --packages-select $(colcon list --paths src/ros2_control/* --names-only) --packages-skip ${{ env.skip-packages }}
colcon test-result --verbose

0 comments on commit 3252a27

Please sign in to comment.