name: CI
on: [push, pull_request]
jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: dtolnay/rust-toolchain@stable
- run: cargo check --workspace --verbose
- run: cargo build --workspace --verbose
- run: cargo doc --workspace --verbose
- run: cargo test -F=macros --workspace --verbose
- run: cargo test -F=partial partial --verbose
- run: cargo clippy --workspace --verbose
rustfmt:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: dtolnay/rust-toolchain@master
with:
toolchain: stable
components: rustfmt
- run: cargo fmt --check --all --verbose
coverage:
runs-on: ubuntu-latest
env:
CARGO_TERM_COLOR: always
steps:
- uses: actions/checkout@v3
- name: Install Rust
run: rustup update stable
- name: Install cargo-llvm-cov
uses: taiki-e/install-action@cargo-llvm-cov
- run: cargo llvm-cov clean --workspace
- run: cargo llvm-cov --no-report --workspace
- run: cargo llvm-cov --no-report -F=macros,partial
- run: cargo llvm-cov report --lcov --output-path lcov.info
- name: Upload coverage to Codecov
uses: codecov/codecov-action@v3
with:
token: ${{ secrets.CODECOV_TOKEN }} files: lcov.info
fail_ci_if_error: true