name: Coverage
on:
push:
branches: [ main, feature/* ]
pull_request:
branches: [ main ]
jobs:
coverage:
name: Coverage (tarpaulin)
runs-on: ubuntu-latest
container:
image: xd009642/tarpaulin:develop-nightly
options: --security-opt seccomp=unconfined
steps:
- uses: actions/checkout@v4
- name: Run coverage
run: |
cargo tarpaulin --out Xml --output-dir coverage --fail-under 69
cargo tarpaulin --out Lcov --output-dir coverage || true
- name: Upload coverage artifacts
uses: actions/upload-artifact@v4
with:
name: coverage-report
path: coverage
- name: Upload to Codecov (optional)
uses: codecov/codecov-action@v4
with:
files: coverage/coverage.xml
env:
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}