diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 7c3f503..5313205 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -13,6 +13,7 @@ jobs: - uses: dtolnay/rust-toolchain@1.86.0 with: components: clippy, rustfmt + - uses: Swatinem/rust-cache@v2 - run: cargo fmt --check # libfreemkv is a library — Cargo.lock is gitignored. --locked # would always fail on a fresh runner because there's no committed @@ -25,6 +26,7 @@ jobs: steps: - uses: actions/checkout@v5 - uses: dtolnay/rust-toolchain@1.86.0 + - uses: Swatinem/rust-cache@v2 - run: cargo test --tests check-macos: @@ -32,6 +34,7 @@ jobs: steps: - uses: actions/checkout@v5 - uses: dtolnay/rust-toolchain@1.86.0 + - uses: Swatinem/rust-cache@v2 - run: cargo check check-windows: @@ -39,6 +42,7 @@ jobs: steps: - uses: actions/checkout@v5 - uses: dtolnay/rust-toolchain@1.86.0 + - uses: Swatinem/rust-cache@v2 # Build the tests (not just `cargo check`): catches errors in test # code and forces full codegen of the Windows-only SPTI transport # (src/scsi/windows.rs), which never compiles on the Linux/macOS dev diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 8bfb3c3..a4da750 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -34,6 +34,7 @@ jobs: steps: - uses: actions/checkout@v5 - uses: dtolnay/rust-toolchain@1.86.0 + - uses: Swatinem/rust-cache@v2 # libfreemkv is a library — Cargo.lock isn't tracked, so --locked # would always fail (no lockfile to lock against on a fresh runner). - run: cargo test @@ -49,6 +50,7 @@ jobs: steps: - uses: actions/checkout@v5 - uses: dtolnay/rust-toolchain@1.86.0 + - uses: Swatinem/rust-cache@v2 # --no-verify: CI already compiled this exact commit (in the `test` job # and on every push via ci.yml). cargo publish's default re-verify does a # full cold release build of the packaged tarball, which here is pure