on: push: branches: - master - staging - trying pull_request: name: CI jobs: tests: runs-on: ubuntu-latest strategy: matrix: rust: - stable - beta steps: - uses: actions/checkout@v3 - uses: dtolnay/rust-toolchain@v1 with: toolchain: ${{ matrix.rust }} components: rustfmt, clippy - run: cargo build --all-targets - run: cargo test - run: cargo fmt --all -- --check - run: cargo clippy --all-targets -- -D warnings # Reduced build for the Minimum Supported Rust Version. It does not include the lints as some of # them are out-of-date and result in false positives on the codebase, e.g. mutex_atomic. msrv: name: MSRV runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - uses: dtolnay/rust-toolchain@v1 with: toolchain: "1.68" - run: cargo test miri: name: Miri runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - uses: dtolnay/rust-toolchain@v1 with: toolchain: nightly components: miri, rust-src - run: cargo miri test