name: Code Coverage Report
on:
push:
branches:
- main
- 'feature/**'
- 'fix/**'
- 'release/**'
pull_request:
branches:
- main
- 'release/**'
env:
CARGO_TERM_COLOR: always
jobs:
code_coverage_report:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions-rs/toolchain@v1
with:
profile: minimal
toolchain: stable
override: true
- name: Install protoc
uses: arduino/setup-protoc@v3
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
- name: Install dependencies
run: sudo apt-get update && sudo apt-get install -y make pkg-config
- name: Install Tarpaulin
run: cargo install cargo-tarpaulin
- name: Generate code coverage report
run:
cargo tarpaulin
--all-features
--workspace
--timeout 180
--out Xml
- name: Upload coverage reports to Codecov.io
if: env.CODECOV_TOKEN != ''
uses: codecov/codecov-action@v4
with:
fail_ci_if_error: false
env:
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}