on: [push, pull_request] name: MSRV jobs: check: name: Check runs-on: ubuntu-latest strategy: matrix: rust: - 1.70.0 - stable - beta - nightly steps: - name: Checkout sources uses: actions/checkout@v4.1.1 - name: Install toolchain uses: dtolnay/rust-toolchain@master with: toolchain: ${{ matrix.rust }} - name: Run cargo check if: matrix.rust != 'nightly' run: cargo check --all-features - name: Run cargo check (nightly) if: matrix.rust == 'nightly' continue-on-error: true run: cargo check --all-features test: needs: [check] name: Test Suite runs-on: ubuntu-latest strategy: matrix: rust: - 1.70.0 - stable - beta - nightly steps: - name: Checkout sources uses: actions/checkout@v4.1.1 - name: Install toolchain uses: dtolnay/rust-toolchain@master with: toolchain: ${{ matrix.rust }} - name: Run cargo test if: matrix.rust != 'nightly' && matrix.rust != '1.56.1' run: cargo test --all-features - name: Run cargo test (nightly) if: matrix.rust == '1.66.0' continue-on-error: true run: cargo test --tests --all-features - name: Run cargo test (nightly) if: matrix.rust == 'nightly' continue-on-error: true run: cargo test --all-features fmt: needs: [check] name: Rustfmt runs-on: ubuntu-latest strategy: matrix: rust: - stable - beta steps: - name: Checkout sources uses: actions/checkout@v4.1.1 - name: Install toolchain uses: dtolnay/rust-toolchain@master with: toolchain: ${{ matrix.rust }} components: rustfmt - name: Run cargo fmt run: cargo fmt --all -- --check clippy: needs: [check] name: Clippy runs-on: ubuntu-latest strategy: matrix: rust: - 1.70.0 - 1.73.0 steps: - name: Checkout sources uses: actions/checkout@v4.1.1 - name: Install toolchain uses: dtolnay/rust-toolchain@master with: toolchain: ${{ matrix.rust }} components: clippy - name: Run cargo clippy run: cargo clippy --all-targets --all-features -- -D warnings check-examples: name: Check examples needs: [check] runs-on: ubuntu-latest strategy: matrix: rust: - 1.70.0 - 1.73.0 steps: - name: Checkout sources uses: actions/checkout@v4.1.1 - name: Install toolchain uses: dtolnay/rust-toolchain@master with: toolchain: ${{ matrix.rust }} components: clippy - name: Run cargo check run: cargo check --examples