Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[CI] Improvements and Cleanups #1376

Merged
merged 3 commits into from
Feb 8, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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
Loading