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

Update and fix CI setup #752

Merged
merged 15 commits into from
Jun 30, 2022
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
7 changes: 7 additions & 0 deletions .github/workflows/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@

ROS2 Distro | Branch | Build status | Documentation | Released packages
:---------: | :----: | :----------: | :-----------: | :---------------:
**Rolling** | [`rolling`](https://github.com/ros-controls/ros2_control/tree/rolling) | [![Rolling Binary Build](https://github.com/ros-controls/ros2_control/actions/workflows/rolling-binary-build-main.yml/badge.svg?branch=master)](https://github.com/ros-controls/ros2_control/actions/workflows/rolling-binary-build-main.yml?branch=master) <br /> [![Rolling Binary Build](https://github.com/ros-controls/ros2_control/actions/workflows/rolling-binary-build-testing.yml/badge.svg?branch=master)](https://github.com/ros-controls/ros2_control/actions/workflows/rolling-binary-build-testing.yml?branch=master) <br /> [![Rolling Semi-Binary Build](https://github.com/ros-controls/ros2_control/actions/workflows/rolling-semi-binary-build-main.yml/badge.svg?branch=master)](https://github.com/ros-controls/ros2_control/actions/workflows/rolling-semi-binary-build-main.yml?branch=master) <br /> [![Rolling Semi-Binary Build](https://github.com/ros-controls/ros2_control/actions/workflows/rolling-semi-binary-build-testing.yml/badge.svg?branch=master)](https://github.com/ros-controls/ros2_control/actions/workflows/rolling-semi-binary-build-testing.yml?branch=master) <br /> [![Rolling Source Build](https://github.com/ros-controls/ros2_control/actions/workflows/rolling-source-build.yml/badge.svg?branch=master)](https://github.com/ros-controls/ros2_control/actions/workflows/rolling-source-build.yml?branch=master) | [Documentation](https://control.ros.org/master/index.html) <br /> [API Reference](https://control.ros.org/master/doc/api/index.html) | [ros2_control](https://index.ros.org/p/ros2_control/#rolling)
**Humble** | [`humble`](https://github.com/ros-controls/ros2_control/tree/humble) | [![Humble Binary Build](https://github.com/ros-controls/ros2_control/actions/workflows/humble-binary-build-main.yml/badge.svg?branch=master)](https://github.com/ros-controls/ros2_control/actions/workflows/humble-binary-build-main.yml?branch=master) <br /> [![Humble Binary Build](https://github.com/ros-controls/ros2_control/actions/workflows/humble-binary-build-testing.yml/badge.svg?branch=master)](https://github.com/ros-controls/ros2_control/actions/workflows/humble-binary-build-testing.yml?branch=master) <br /> [![Humble Semi-Binary Build](https://github.com/ros-controls/ros2_control/actions/workflows/humble-semi-binary-build-main.yml/badge.svg?branch=master)](https://github.com/ros-controls/ros2_control/actions/workflows/humble-semi-binary-build-main.yml?branch=master) <br /> [![Humble Semi-Binary Build](https://github.com/ros-controls/ros2_control/actions/workflows/humble-semi-binary-build-testing.yml/badge.svg?branch=master)](https://github.com/ros-controls/ros2_control/actions/workflows/humble-semi-binary-build-testing.yml?branch=master) <br /> [![Humble Source Build](https://github.com/ros-controls/ros2_control/actions/workflows/humble-source-build.yml/badge.svg?branch=master)](https://github.com/ros-controls/ros2_control/actions/workflows/humble-source-build.yml?branch=master) | [Documentation](https://control.ros.org/master/index.html) <br /> [API Reference](https://control.ros.org/master/doc/api/index.html) | [ros2_control](https://index.ros.org/p/ros2_control/#humble)
**Galactic** | [`galactic`](https://github.com/ros-controls/ros2_control/tree/galactic) | [![Galactic Binary Build](https://github.com/ros-controls/ros2_control/actions/workflows/galactic-binary-build-main.yml/badge.svg?branch=galactic)](https://github.com/ros-controls/ros2_control/actions/workflows/galactic-binary-build-main.yml?branch=galactic) <br /> [![Galactic Binary Build](https://github.com/ros-controls/ros2_control/actions/workflows/galactic-binary-build-testing.yml/badge.svg?branch=galactic)](https://github.com/ros-controls/ros2_control/actions/workflows/galactic-binary-build-testing.yml?branch=galactic) <br /> [![Galactic Semi-Binary Build](https://github.com/ros-controls/ros2_control/actions/workflows/galactic-semi-binary-build-main.yml/badge.svg?branch=galactic)](https://github.com/ros-controls/ros2_control/actions/workflows/galactic-semi-binary-build-main.yml?branch=galactic) <br /> [![Galactic Semi-Binary Build](https://github.com/ros-controls/ros2_control/actions/workflows/galactic-semi-binary-build-testing.yml/badge.svg?branch=galactic)](https://github.com/ros-controls/ros2_control/actions/workflows/galactic-semi-binary-build-testing.yml?branch=galactic) | [Documentation](https://control.ros.org/galactic/index.html) <br /> [API Reference](https://control.ros.org/galactic/doc/api/index.html) | [ros2_control](https://index.ros.org/p/ros2_control/#galactic)
**Foxy** | [`foxy`](https://github.com/ros-controls/ros2_control/tree/foxy) | [![Foxy Binary Build](https://github.com/ros-controls/ros2_control/actions/workflows/foxy-binary-build-main.yml/badge.svg?branch=foxy)](https://github.com/ros-controls/ros2_control/actions/workflows/foxy-binary-build-main.yml?branch=foxy) <br /> [![Foxy Binary Build](https://github.com/ros-controls/ros2_control/actions/workflows/foxy-binary-build-testing.yml/badge.svg?branch=foxy)](https://github.com/ros-controls/ros2_control/actions/workflows/foxy-binary-build-testing.yml?branch=foxy) <br /> [![Foxy Semi-Binary Build](https://github.com/ros-controls/ros2_control/actions/workflows/foxy-semi-binary-build-main.yml/badge.svg?branch=foxy)](https://github.com/ros-controls/ros2_control/actions/workflows/foxy-semi-binary-build-main.yml?branch=foxy) <br /> [![Foxy Semi-Binary Build](https://github.com/ros-controls/ros2_control/actions/workflows/foxy-semi-binary-build-testing.yml/badge.svg?branch=foxy)](https://github.com/ros-controls/ros2_control/actions/workflows/foxy-semi-binary-build-testing.yml?branch=foxy) | [Documentation](https://control.ros.org/foxy/index.html) <br /> [API Reference](https://control.ros.org/foxy/doc/api/index.html) | [ros2_control](https://index.ros.org/p/ros2_control/#foxy)
17 changes: 10 additions & 7 deletions .github/workflows/ci-coverage-build.yml
Original file line number Diff line number Diff line change
@@ -1,23 +1,26 @@
name: Coverage Build
on:
workflow_dispatch:
branches:
- master
pull_request:
branches:
- master

jobs:
coverage:
name: coverage build
runs-on: ubuntu-20.04
runs-on: ubuntu-22.04
strategy:
fail-fast: false
env:
ROS_DISTRO: rolling
steps:
- uses: ros-tooling/setup-ros@v0.2
- uses: ros-tooling/setup-ros@0.3.4
with:
required-ros-distributions: ${{ env.ROS_DISTRO }}
- uses: actions/checkout@v3
- uses: ros-tooling/action-ros-ci@v0.2
- uses: ros-tooling/action-ros-ci@0.2.6
with:
target-ros2-distro: ${{ env.ROS_DISTRO }}
import-token: ${{ secrets.GITHUB_TOKEN }}
Expand All @@ -31,6 +34,7 @@ jobs:
ros2_control
ros2_control_test_assets
transmission_interface

vcs-repo-file-url: |
https://raw.githubusercontent.com/${{ github.repository }}/${{ github.sha }}/ros2_control-not-released.${{ env.ROS_DISTRO }}.repos?token=${{ secrets.GITHUB_TOKEN }}
colcon-defaults: |
Expand All @@ -40,13 +44,12 @@ jobs:
}
}
colcon-mixin-repository: https://raw.githubusercontent.com/colcon/colcon-mixin-repository/master/index.yaml
skip-tests: true
- uses: codecov/codecov-action@v1.0.14
- uses: codecov/codecov-action@v3.1.0
with:
file: ros_ws/lcov/total_coverage.info
flags: unittests
name: codecov-umbrella
- uses: actions/upload-artifact@v1
- uses: actions/upload-artifact@v3.1.0
with:
name: colcon-logs-${{ matrix.os }}
name: colcon-logs-ubuntu-22.04-coverage-rolling
path: ros_ws/log
14 changes: 8 additions & 6 deletions .github/workflows/ci-ros-lint.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,13 +9,13 @@ jobs:
strategy:
fail-fast: false
matrix:
linter: [copyright, cppcheck, lint_cmake]
linter: [cppcheck, copyright, lint_cmake]
steps:
- uses: actions/checkout@v3
- uses: ros-tooling/setup-ros@v0.2
- uses: ros-tooling/action-ros-lint@v0.1
with:
distribution: galactic
distribution: rolling
linter: ${{ matrix.linter }}
package-name:
controller_interface
Expand All @@ -27,19 +27,21 @@ jobs:
ros2_control_test_assets
transmission_interface

ament_lint_cpplint:
name: ament_lint_cpplint
ament_lint_100:
name: ament_${{ matrix.linter }}
runs-on: ubuntu-20.04
strategy:
fail-fast: false
matrix:
linter: [cpplint]
steps:
- uses: actions/checkout@v3
- uses: ros-tooling/setup-ros@v0.2
- uses: ros-tooling/action-ros-lint@v0.1
with:
distribution: galactic
distribution: rolling
linter: cpplint
arguments: "--filter=-whitespace/newline"
arguments: "--linelength=100 --filter=-whitespace/newline"
package-name:
controller_interface
controller_manager
Expand Down
5 changes: 4 additions & 1 deletion .github/workflows/foxy-abi-compatibility.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,8 @@
name: ABI Compatibility Check
name: Foxy - ABI Compatibility Check
on:
workflow_dispatch:
branches:
- foxy
pull_request:
branches:
- foxy
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,11 @@
name: Foxy Binary Build
name: Foxy Binary Build - main
# author: Denis Štogl <denis@stoglrobotics.de>
# description: 'Build & test all dependencies from released (binary) packages.'

on:
workflow_dispatch:
branches:
- foxy
pull_request:
branches:
- foxy
Expand All @@ -18,5 +21,6 @@ jobs:
uses: ./.github/workflows/reusable-industrial-ci-with-cache.yml
with:
ros_distro: foxy
ros_repo: main
upstream_workspace: ros2_control-not-released.foxy.repos
ref_for_scheduled_build: foxy
Original file line number Diff line number Diff line change
@@ -1,7 +1,10 @@
name: Foxy Semi-Binary Build
name: Foxy Semi-Binary Build - main
# description: 'Build & test that compiles the main dependencies from source.'

on:
workflow_dispatch:
branches:
- foxy
pull_request:
branches:
- foxy
Expand All @@ -17,5 +20,6 @@ jobs:
uses: ./.github/workflows/reusable-industrial-ci-with-cache.yml
with:
ros_distro: foxy
ros_repo: main
upstream_workspace: ros2_control.foxy.repos
ref_for_scheduled_build: foxy
15 changes: 0 additions & 15 deletions .github/workflows/foxy-source-build.yml

This file was deleted.

5 changes: 4 additions & 1 deletion .github/workflows/galactic-abi-compatibility.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,8 @@
name: ABI Compatibility Check
name: Galactic - ABI Compatibility Check
on:
workflow_dispatch:
branches:
- galactic
pull_request:
branches:
- galactic
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,11 @@
name: Galactic Binary Build
name: Galactic Binary Build - main
# author: Denis Štogl <denis@stoglrobotics.de>
# description: 'Build & test all dependencies from released (binary) packages.'

on:
workflow_dispatch:
branches:
- galactic
pull_request:
branches:
- galactic
Expand All @@ -18,5 +21,6 @@ jobs:
uses: ./.github/workflows/reusable-industrial-ci-with-cache.yml
with:
ros_distro: galactic
ros_repo: main
upstream_workspace: ros2_control-not-released.galactic.repos
ref_for_scheduled_build: galactic
33 changes: 33 additions & 0 deletions .github/workflows/galactic-rhel-binary-build.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
name: Galactic RHEL Binary Build
on:
workflow_dispatch:
branches:
- galactic
pull_request:
branches:
- galactic
push:
branches:
- galactic
schedule:
# Run every day to detect flakiness and broken dependencies
- cron: '03 1 * * *'


jobs:
galactic_rhel_binary:
name: Galactic RHEL binary build
runs-on: ubuntu-latest
env:
ROS_DISTRO: galactic
container: jaronl/ros:galactic-alma
steps:
- uses: actions/checkout@v3
with:
path: src/ros2_control
- run: |
rosdep update
rosdep install -iy --from-path src/ros2_control
source /opt/ros/${{ env.ROS_DISTRO }}/setup.bash
colcon build
colcon test
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
name: Galactic Semi-Binary Build
name: Galactic Semi-Binary Build - main
# description: 'Build & test that compiles the main dependencies from source.'

on:
pull_request:
workflow_dispatch:
branches:
- galactic
push:
Expand All @@ -17,5 +17,6 @@ jobs:
uses: ./.github/workflows/reusable-industrial-ci-with-cache.yml
with:
ros_distro: galactic
ros_repo: main
upstream_workspace: ros2_control.galactic.repos
ref_for_scheduled_build: galactic
Original file line number Diff line number Diff line change
@@ -1,5 +1,8 @@
name: ABI Compatibility Check - Last Focal
name: Humble - ABI Compatibility Check
on:
workflow_dispatch:
branches:
- master
pull_request:
branches:
- master
Expand All @@ -11,11 +14,7 @@ jobs:
- uses: actions/checkout@v3
- uses: ros-industrial/industrial_ci@master
env:
ROS_DISTRO: rolling
ROS_DISTRO: humble
ROS_REPO: main
ABICHECK_URL: github:${{ github.repository }}#${{ github.base_ref }}
NOT_TEST_BUILD: true
OS_CODE_NAME: focal
BEFORE_INSTALL_UPSTREAM_DEPENDENCIES: |
export ROSDISTRO_INDEX_URL=https://raw.githubusercontent.com/ros/rosdistro/rolling/2022-01-28/index-v4.yaml
rosdep update
26 changes: 26 additions & 0 deletions .github/workflows/humble-binary-build-main.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
name: Humble Binary Build - main
# author: Denis Štogl <denis@stoglrobotics.de>
# description: 'Build & test all dependencies from released (binary) packages.'

on:
workflow_dispatch:
branches:
- master
pull_request:
branches:
- master
push:
branches:
- master
schedule:
# Run every morning to detect flakiness and broken dependencies
- cron: '03 1 * * *'

jobs:
binary:
uses: ./.github/workflows/reusable-industrial-ci-with-cache.yml
with:
ros_distro: humble
ros_repo: main
upstream_workspace: ros2_control-not-released.humble.repos
ref_for_scheduled_build: master
26 changes: 26 additions & 0 deletions .github/workflows/humble-binary-build-testing.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
name: Humble Binary Build - testing
# author: Denis Štogl <denis@stoglrobotics.de>
# description: 'Build & test all dependencies from released (binary) packages.'

on:
workflow_dispatch:
branches:
- master
pull_request:
branches:
- master
push:
branches:
- master
schedule:
# Run every morning to detect flakiness and broken dependencies
- cron: '03 1 * * *'

jobs:
binary:
uses: ./.github/workflows/reusable-industrial-ci-with-cache.yml
with:
ros_distro: humble
ros_repo: testing
upstream_workspace: ros2_control-not-released.humble.repos
ref_for_scheduled_build: master
33 changes: 33 additions & 0 deletions .github/workflows/humble-rhel-binary-build.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
name: Humble RHEL Binary Build
on:
workflow_dispatch:
branches:
- master
# pull_request:
# branches:
# - master
# push:
# branches:
# - master
# schedule:
# # Run every day to detect flakiness and broken dependencies
# - cron: '03 1 * * *'


jobs:
humble_rhel_binary:
name: Humble RHEL binary build
runs-on: ubuntu-latest
env:
ROS_DISTRO: humble
container: jaronl/ros:humble-alma
steps:
- uses: actions/checkout@v3
with:
path: src/ros2_control
- run: |
rosdep update
rosdep install -iy --from-path src/ros2_control
source /opt/ros/${{ env.ROS_DISTRO }}/setup.bash
colcon build
colcon test
25 changes: 25 additions & 0 deletions .github/workflows/humble-semi-binary-build-main.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
name: Humble Semi-Binary Build - main
# description: 'Build & test that compiles the main dependencies from source.'

on:
workflow_dispatch:
branches:
- master
pull_request:
branches:
- master
push:
branches:
- master
schedule:
# Run every morning to detect flakiness and broken dependencies
- cron: '33 1 * * *'

jobs:
semi_binary:
uses: ./.github/workflows/reusable-industrial-ci-with-cache.yml
with:
ros_distro: humble
ros_repo: main
upstream_workspace: ros2_control.humble.repos
ref_for_scheduled_build: master
Loading