diff --git a/.github/workflows/rust-ci.yml b/.github/workflows/rust-ci.yml index da9db6c..b80728d 100644 --- a/.github/workflows/rust-ci.yml +++ b/.github/workflows/rust-ci.yml @@ -42,20 +42,30 @@ jobs: run: cargo clippy --all-targets -- -D warnings test: - name: Cargo test + name: Cargo test (${{ matrix.rust }}) runs-on: ubuntu-latest needs: check if: hashFiles('Cargo.toml') != '' + strategy: + fail-fast: false + matrix: + # `1.85` matches Cargo.toml `rust-version` — the MSRV gate. + # `stable` keeps the lane honest against the latest stable. + rust: ['1.85', 'stable'] steps: - name: Checkout repository uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4 - name: Install Rust toolchain - uses: dtolnay/rust-toolchain@4be9e76fd7c4901c61fb841f559994984270fce7 # stable + uses: dtolnay/rust-toolchain@4be9e76fd7c4901c61fb841f559994984270fce7 # pinned + with: + toolchain: ${{ matrix.rust }} - name: Cache cargo registry and build uses: Swatinem/rust-cache@779680da715d629ac1d338a641029a2f4372abb5 # v2 + with: + key: ${{ matrix.rust }} - name: Run tests run: cargo test --all-targets @@ -63,7 +73,7 @@ jobs: - name: Write summary if: always() run: | - echo "## Rust CI Results" >> "$GITHUB_STEP_SUMMARY" + echo "## Rust CI Results (${{ matrix.rust }})" >> "$GITHUB_STEP_SUMMARY" echo "" >> "$GITHUB_STEP_SUMMARY" echo "- **cargo check**: passed" >> "$GITHUB_STEP_SUMMARY" echo "- **cargo test**: completed" >> "$GITHUB_STEP_SUMMARY" diff --git a/Cargo.toml b/Cargo.toml index cdd29c0..a90ffd3 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -3,6 +3,7 @@ name = "verisimiser" version = "0.1.0" edition = "2024" +rust-version = "1.85" authors = ["Jonathan D.A. Jewell "] description = "Augment any database with VeriSimDB octad capabilities — drift detection, provenance, temporal versioning, and modality overlays" license-file = "LICENSE"