| name: Coverage |
| |
| on: [pull_request, push] |
| |
| env: |
| CARGO_INCREMENTAL: 0 |
| CARGO_NET_RETRY: 10 |
| CI: 1 |
| RUST_BACKTRACE: short |
| RUSTUP_MAX_RETRIES: 10 |
| |
| jobs: |
| coverage: |
| runs-on: ubuntu-latest |
| steps: |
| - uses: actions/checkout@v4 |
| |
| - name: Install Rust toolchain |
| run: | |
| rustup update --no-self-update nightly |
| rustup default nightly |
| rustup component add --toolchain nightly rust-src rustc-dev rustfmt |
| # We also install a nightly rustfmt, because we use `--file-lines` in |
| # a test. |
| rustup toolchain install nightly --profile minimal --component rustfmt |
| |
| rustup toolchain install nightly --component llvm-tools-preview |
| |
| - name: Install cargo-llvm-cov |
| uses: taiki-e/install-action@cargo-llvm-cov |
| |
| - name: Install nextest |
| uses: taiki-e/install-action@nextest |
| |
| - name: Generate code coverage |
| run: cargo llvm-cov --workspace --lcov --output-path lcov.info |
| |
| - name: Upload coverage to Codecov |
| uses: codecov/codecov-action@v5 |
| with: |
| files: lcov.info |
| fail_ci_if_error: false |
| token: ${{ secrets.CODECOV_TOKEN }} |
| verbose: true |