From 2aeccfa4cea64df3dd88b65863a037737c5e0965 Mon Sep 17 00:00:00 2001 From: Dominic Date: Fri, 24 Jan 2025 00:03:40 +0100 Subject: [PATCH] github actions is stupid --- .github/workflows/rust.yml | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/.github/workflows/rust.yml b/.github/workflows/rust.yml index 7e5a0e3..4f081a6 100644 --- a/.github/workflows/rust.yml +++ b/.github/workflows/rust.yml @@ -82,15 +82,11 @@ jobs: os: [ubuntu-latest, windows-latest, macOS-latest] steps: - uses: actions/checkout@v4 - # on non-msrv runs, just download rust - uses: dtolnay/rust-toolchain@master with: toolchain: ${{matrix.rust.toolchain}} id: rust-toolchain - if: matrix.rust.name != 'MSRV' # on msrv runs, use stable to generate Cargo.lock then downgrade - - uses: dtolnay/rust-toolchain@stable - if: matrix.rust.name == 'MSRV' - run: cargo --config 'resolver.incompatible-rust-versions="fallback"' update - run: echo "rust-version=$(tomlq -r '.workspace.package."rust-version"' Cargo.toml)" >>$GITHUB_OUTPUT id: msrv @@ -98,9 +94,9 @@ jobs: - uses: dtolnay/rust-toolchain@master with: toolchain: ${{steps.msrv.outputs.rust-version}} - id: rust-toolchain + id: msrv-toolchain if: matrix.rust.name == 'MSRV' - # the rest is independent of whether msrv is used + # on non-msrv runs, use one cache key ... - uses: actions/cache@v4 with: path: | @@ -108,6 +104,15 @@ jobs: ~/.cargo/registry target key: "${{runner.os}} Rust ${{steps.rust-toolchain.outputs.cachekey}}" + # ... and on msrv runs, use another + - uses: actions/cache@v4 + with: + path: | + ~/.cargo/git + ~/.cargo/registry + target + key: "${{runner.os}} Rust ${{steps.msrv-toolchain.outputs.cachekey}}" + # finally we can run tests - run: cargo test --lib --locked - run: cargo test --doc --locked