ci-build-coverage.yml 1.38 KB
Newer Older
Denis Štogl's avatar
Denis Štogl committed
1
name: Coverage Build
2
3
on:
  pull_request:
4
5
6
  push:
    branches:
      - master
7
  schedule:
Denis Štogl's avatar
Denis Štogl committed
8
9
    # Run every day to detect flakiness and broken dependencies
    - cron: '54 1 * * *'
10
11

jobs:
Denis Štogl's avatar
Denis Štogl committed
12
13
  coverage:
    name: coverage build
14
15
16
17
    runs-on: ubuntu-20.04
    strategy:
      fail-fast: false
    steps:
18
      - uses: ros-tooling/setup-ros@v0.2
19
20
        with:
          required-ros-distributions: foxy
Denis Štogl's avatar
Denis Štogl committed
21
      - uses: ros-tooling/action-ros-ci@v0.2
22
23
24
25
        with:
          target-ros2-distro: foxy
          # build all packages listed in the meta package
          package-name:
Denis Štogl's avatar
Denis Štogl committed
26
            ros2_control_demo_hardware
27
28
            ros2_control_demo_description
            ros2_control_demo_bringup
29
30
            ros2_control_demos
          vcs-repo-file-url: |
Denis Štogl's avatar
Denis Štogl committed
31
32
33
34
35
36
37
            https://raw.githubusercontent.com/${{ github.repository }}/${{ github.sha }}/ros2_control_demos.repos
          colcon-defaults: |
            {
              "build": {
                "mixin": ["coverage-gcc"]
              }
            }
38
          colcon-mixin-repository: https://raw.githubusercontent.com/colcon/colcon-mixin-repository/master/index.yaml
39
      - uses: codecov/codecov-action@v1.5.0
40
41
42
43
44
45
46
47
        with:
          file: ros_ws/lcov/total_coverage.info
          flags: unittests
          name: codecov-umbrella
      - uses: actions/upload-artifact@v1
        with:
          name: colcon-logs-${{ matrix.os }}
          path: ros_ws/log