Lock file maintenance #70
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| on: | |
| push: | |
| branches: | |
| - main | |
| pull_request: | |
| name: CI | |
| jobs: | |
| lint: | |
| name: Lint | |
| runs-on: ${{ matrix.os }} | |
| strategy: | |
| matrix: | |
| os: [ubuntu-latest, windows-latest] | |
| env: | |
| RUSTFLAGS: -D warnings | |
| steps: | |
| - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 | |
| - uses: dtolnay/rust-toolchain@stable | |
| with: | |
| components: rustfmt, clippy | |
| - uses: taiki-e/install-action@just | |
| - uses: Swatinem/rust-cache@98c8021b550208e191a6a3145459bfc9fb29c4c0 # v2.8.0 | |
| with: | |
| key: partition-${{ matrix.partition }} | |
| - name: Lint (clippy) | |
| run: cargo clippy --all-targets | |
| - name: Lint (rustfmt) | |
| run: cargo xfmt --check | |
| - name: Run rustdoc | |
| run: just rustdoc | |
| - name: Check for differences | |
| run: git diff --exit-code | |
| build-and-test: | |
| name: Build and test | |
| runs-on: ${{ matrix.os }} | |
| strategy: | |
| matrix: | |
| os: [ubuntu-latest, windows-latest] | |
| # 1.85 is the MSRV | |
| rust-version: ["1.85", "stable"] | |
| fail-fast: false | |
| env: | |
| RUSTFLAGS: -D warnings | |
| steps: | |
| - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 | |
| with: | |
| # We need to fetch the entire history so the tests can run merge-base | |
| # operations. | |
| fetch-depth: 0 | |
| - uses: dtolnay/rust-toolchain@master | |
| with: | |
| toolchain: ${{ matrix.rust-version }} | |
| - uses: Swatinem/rust-cache@98c8021b550208e191a6a3145459bfc9fb29c4c0 # v2.8.0 | |
| with: | |
| key: partition-${{ matrix.partition }} | |
| - uses: taiki-e/install-action@nextest | |
| - name: Build | |
| run: cargo build | |
| - name: Run tests | |
| run: cargo nextest run --profile ci | |
| - name: Doctests | |
| run: cargo test --doc |