name: Tests
on:
push:
branches: [master]
pull_request:
branches: [master]
jobs:
coverage:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Install Rust
uses: dtolnay/rust-toolchain@nightly
with:
components: llvm-tools-preview
- name: Install cargo-llvm-cov and cargo-nextest
uses: taiki-e/install-action@v2
with:
tool: cargo-llvm-cov,cargo-nextest,cargo-tarpaulin
- name: Cache setup
uses: Swatinem/rust-cache@v2
- name: Gather coverage
shell: bash
run: |
cargo llvm-cov --no-report nextest
cargo llvm-cov --no-report --doc
mkdir coverage
cargo llvm-cov report --doctests --lcov --output-path coverage/lcov.info
- name: ✨ Publish to CodeCov
uses: codecov/codecov-action@v5
with:
token: ${{ secrets.CODECOV_TOKEN }}
files: "coverage/lcov.info"
disable_search: true
fail_ci_if_error: true
- name: ✨ Publish to Coveralls
uses: coverallsapp/github-action@master
with:
github-token: ${{ secrets.GITHUB_TOKEN }}