Skip to content

codecov

codecov #13

Workflow file for this run

name: Rust
on: [ push, pull_request ]
env:
CARGO_TERM_COLOR: always
jobs:
check:
runs-on: ubuntu-latest
strategy:
matrix:
pwd:
- .
- examples
steps:
- uses: actions/checkout@v4
- run: |
rustup toolchain install nightly --profile minimal --component rustfmt --component clippy
- uses: Swatinem/rust-cache@v2
with:
key: ${{ matrix.pwd }}
workspaces: ${{ matrix.pwd }}
- name: clippy
working-directory: ${{ matrix.pwd }}
run: |
cargo clippy --all --all-targets --all-features
- name: rustfmt
working-directory: ${{ matrix.pwd }}
run: |
cargo fmt --all -- --check
check-docs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- run: |
rustup toolchain install stable --profile minimal
- uses: Swatinem/rust-cache@v2
- name: cargo doc
env:
RUSTDOCFLAGS: "-D rustdoc::broken-intra-doc-links"
run: |
cargo doc --all-features --no-deps
test:
needs: check
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- run: |
rustup toolchain install stable --profile minimal
- uses: Swatinem/rust-cache@v2
- uses: taiki-e/install-action@cargo-llvm-cov
- uses: taiki-e/install-action@nextest
- name: Run tests
run: |
cargo nextest run --all --all-features --all-targets
- name: Generate code coverage
run: |
cargo llvm-cov --all-features --workspace --codecov --output-path codecov.json
- name: Upload coverage to Codecov
uses: codecov/codecov-action@v3
env:
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
with:
files: codecov.json
fail_ci_if_error: true
test-docs:
needs: check
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- run: |
rustup toolchain install stable --profile minimal
- uses: Swatinem/rust-cache@v2
- name: Run doc tests
run: |
cargo test --all-features --doc