Add code coverage (#9) #38
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: test-suite | |
on: | |
push: | |
branches: | |
- main | |
- 'pr/*' | |
pull_request: | |
env: | |
# Deny warnings in CI | |
RUSTFLAGS: "-D warnings" | |
jobs: | |
cargo-fmt: | |
name: cargo-fmt | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Get latest version of stable Rust | |
run: rustup update stable | |
- name: Check formatting with cargo fmt | |
run: cargo fmt --all -- --check | |
test: | |
strategy: | |
matrix: | |
os: [ubuntu-latest, macos-latest, windows-latest] | |
runs-on: ${{ matrix.os }} | |
name: test-${{ matrix.os }} | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Get latest version of stable Rust | |
run: rustup update stable | |
- name: Run tests | |
run: cargo test --release | |
- name: Check all examples, binaries, etc | |
run: cargo check --all-targets | |
coverage: | |
runs-on: ubuntu-latest | |
name: cargo-tarpaulin | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Get latest version of stable Rust | |
run: rustup update stable | |
- name: Install cargo-tarpaulin | |
uses: taiki-e/install-action@cargo-tarpaulin | |
- name: Check code coverage with cargo-tarpaulin | |
run: make coverage | |
- name: Upload to codecov.io | |
uses: codecov/codecov-action@v4 | |
with: | |
fail_ci_if_error: true | |
token: ${{ secrets.CODECOV_TOKEN }} |