Merge: default-clause dispatcher recovery (gap #1) #30
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
| name: CI | |
| on: | |
| push: | |
| branches: [main] | |
| pull_request: | |
| branches: [main] | |
| # Cancel superseded runs on the same ref to save CI minutes. | |
| concurrency: | |
| group: ci-${{ github.ref }} | |
| cancel-in-progress: true | |
| env: | |
| CARGO_TERM_COLOR: always | |
| RUSTFLAGS: -D warnings | |
| jobs: | |
| test: | |
| name: build · clippy · test | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Install Rust toolchain | |
| uses: dtolnay/rust-toolchain@stable | |
| with: | |
| components: clippy, rustfmt | |
| - name: Install nextest | |
| uses: taiki-e/install-action@nextest | |
| - name: Cache cargo | |
| uses: actions/cache@v4 | |
| with: | |
| path: | | |
| ~/.cargo/registry | |
| ~/.cargo/git | |
| target | |
| key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }} | |
| restore-keys: ${{ runner.os }}-cargo- | |
| - name: Clippy (warnings = errors) | |
| run: cargo clippy --release --all-targets -- -D warnings | |
| - name: Build | |
| run: cargo build --release | |
| # The functionality suite gates every change: the per-pass units, the | |
| # differential snippet-equivalence harness (`tests/equivalence.rs`), and the | |
| # robustness / panic-containment battery. All fixtures are inline; nextest | |
| # runs every binary concurrently. See tests/README.md. | |
| - name: Test | |
| run: cargo nextest run --release --profile ci |