Skip to content

Doc

Doc #1016

Workflow file for this run

name: Tests
permissions:
contents: read
on: push
# see https://matklad.github.io/2021/09/04/fast-rust-builds.html
env:
CARGO_TERM_COLOR: always
CARGO_INCREMENTAL: 0
CARGO_NET_RETRY: 10
CI: 1
RUST_BACKTRACE: short
RUSTFLAGS: "-W rust-2021-compatibility"
RUSTUP_MAX_RETRIES: 10
CARGO_MUTANTS_MINIMUM_TEST_TIMEOUT: 60
jobs:
build:
strategy:
matrix:
os: [macOS-latest, ubuntu-latest, windows-latest]
version: [stable, nightly, "1.70"]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v3
- uses: dtolnay/rust-toolchain@master
with:
toolchain: ${{ matrix.version }}
components: rustfmt
- name: Show Cargo and rustc version
run: |
cargo --version
rustc --version
- uses: Swatinem/rust-cache@v2
- name: rustfmt
run: cargo fmt --all -- --check
- name: Build
run: cargo build --all-targets
- name: Test
run: cargo test --workspace
cargo-mutants:
runs-on: ubuntu-latest
needs: build
steps:
- uses: actions/checkout@v3
- uses: dtolnay/rust-toolchain@master
with:
toolchain: beta
- uses: Swatinem/rust-cache@v2
- run: cargo install --path .
- name: Mutants
run: |
cargo mutants --no-shuffle --exclude console.rs -j 2
- name: Archive mutants.out
uses: actions/upload-artifact@v3
if: always()
with:
name: mutants.out
path: mutants.out