Skip to content

Commit

Permalink
[CI] Reenabling source test and coverage workflow (#301)
Browse files Browse the repository at this point in the history
* 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
mikaelarguedas authored May 8, 2024
1 parent 335bcae commit 554d1c7
Showing 1 changed file with 52 additions and 36 deletions.
88 changes: 52 additions & 36 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -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
Expand Down

0 comments on commit 554d1c7

Please sign in to comment.