-
Notifications
You must be signed in to change notification settings - Fork 45
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[CI] Reenabling source test and coverage workflow (#301)
* test reenabling test_latest and use custom action-ros-ci * bump action versions * explicitly skip installing rti-connext for now * enable coverage * build latest from source * run job on push only for rolling branch * add token for codecov v4 * test once more * osrf/ros2:devel now includes pytest-cov --------- Signed-off-by: Mikael Arguedas <[email protected]>
- Loading branch information
1 parent
335bcae
commit 554d1c7
Showing
1 changed file
with
52 additions
and
36 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -2,52 +2,68 @@ name: SROS2 CI | |
on: | ||
pull_request: | ||
push: | ||
branches: | ||
rolling | ||
schedule: | ||
# Run daily | ||
- cron: '0 20 * * *' | ||
|
||
jobs: | ||
# test_latest: | ||
# runs-on: ubuntu-latest | ||
# # 'osrf/ros2:devel' does *not* include RTI Connext or its' security plugins | ||
# # the former gets installed via rosdep in 'action-ros-ci' but the latter do *not* get installed | ||
# container: osrf/ros2:devel | ||
# steps: | ||
# - name: Install prerequisites for action-ros-ci and FastRTPS | ||
# run: | | ||
# apt-get -qq update | ||
# apt-get -qq upgrade -y | ||
# apt-get -qq install -y curl libasio-dev libssl-dev libtinyxml2-dev python3-colcon-coveragepy-result | ||
# - uses: ros-tooling/[email protected] | ||
# with: | ||
# package-name: | | ||
# sros2 | ||
# sros2_cmake | ||
# test_security | ||
# extra-cmake-args: '-DSECURITY=ON --no-warn-unused-cli' | ||
# target-ros2-distro: rolling | ||
# rosdep-skip-keys: rti-connext-dds-6.0.1 | ||
# - name: Upload coverage to Codecov | ||
# uses: codecov/codecov-action@v1 | ||
# if: github.event_name == 'pull_request' || (github.event_name == 'push' && github.ref == 'refs/heads/rolling') | ||
# with: | ||
# file: ros_ws/build/sros2/coverage.xml | ||
# flags: unittests | ||
# name: sros2-coverage | ||
# fail_ci_if_error: true | ||
# - name: Upload Logs | ||
# uses: actions/upload-artifact@v1 | ||
# if: failure() | ||
# with: | ||
# name: colcon-logs | ||
# path: ros_ws/log | ||
test_latest: | ||
runs-on: ubuntu-latest | ||
# 'osrf/ros2:devel' does *not* include RTI Connext or its' security plugins | ||
# the former gets installed via rosdep in 'action-ros-ci' but the latter do *not* get installed | ||
container: osrf/ros2:devel | ||
steps: | ||
- name: Install prerequisites for action-ros-ci and FastRTPS | ||
run: | | ||
apt-get -qq update | ||
apt-get -qq upgrade -y | ||
apt-get -qq install -y curl libasio-dev libssl-dev libtinyxml2-dev python3-colcon-coveragepy-result | ||
- uses: ros-tooling/[email protected] | ||
with: | ||
rosdep-skip-keys: rti-connext-dds-6.0.1 | ||
package-name: | | ||
sros2 | ||
sros2_cmake | ||
test_security | ||
extra-cmake-args: '-DSECURITY=ON --no-warn-unused-cli' | ||
colcon-defaults: | | ||
{ | ||
"build": { | ||
"mixin": ["coverage-pytest"] | ||
}, | ||
"test": { | ||
"mixin": ["coverage-pytest"] | ||
} | ||
} | ||
colcon-mixin-repository: https://raw.githubusercontent.com/colcon/colcon-mixin-repository/master/index.yaml | ||
target-ros2-distro: rolling | ||
vcs-repo-file-url: https://raw.githubusercontent.com/ros2/ros2/rolling/ros2.repos | ||
|
||
- name: Upload coverage to Codecov | ||
uses: codecov/codecov-action@v4 | ||
env: | ||
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} | ||
if: github.event_name == 'pull_request' || (github.event_name == 'push' && github.ref == 'refs/heads/rolling') | ||
with: | ||
file: ros_ws/build/sros2/coverage.xml | ||
flags: unittests | ||
name: sros2-coverage | ||
fail_ci_if_error: true | ||
- name: Upload Logs | ||
uses: actions/upload-artifact@v4 | ||
if: failure() | ||
with: | ||
name: colcon-logs | ||
path: ros_ws/log | ||
test_nightly: | ||
runs-on: ubuntu-latest | ||
# 'osrf/ros2:nightly-rmw-nonfree' includes RTI Connext but | ||
# does *not* include the security plugins or a license allowing the use of Security | ||
container: osrf/ros2:nightly-rmw-nonfree | ||
steps: | ||
- uses: actions/checkout@v2 | ||
- uses: actions/checkout@v4 | ||
- name: Installing dependencies | ||
run: | | ||
apt-get -qq update | ||
|
@@ -62,7 +78,7 @@ jobs: | |
- name: Check test results | ||
run: colcon test-result | ||
- name: Upload Logs | ||
uses: actions/upload-artifact@v1 | ||
uses: actions/upload-artifact@v4 | ||
if: failure() | ||
with: | ||
name: colcon-logs | ||
|