on: push
name: Continuous integration
jobs:
primary:
runs-on: ubuntu-latest
strategy:
matrix:
rust:
- stable
steps:
- uses: actions/checkout@v3
- uses: dtolnay/rust-toolchain@master
with:
toolchain: ${{ matrix.rust }}
components: rustfmt, clippy
- run: cargo build --workspace
- run: cargo test --workspace
- run: cargo fmt --all -- --check
- run: cargo clippy --workspace -- -D warnings
secondary:
needs: primary
runs-on: ubuntu-latest
strategy:
matrix:
rust:
- beta
- nightly
- 1.66.0
steps:
- uses: actions/checkout@v3
- uses: dtolnay/rust-toolchain@master
with:
toolchain: ${{ matrix.rust }}
components: rustfmt, clippy
- run: cargo build --workspace
- run: cargo test --workspace