diff --git a/.forgejo/workflows/ci.yml b/.forgejo/workflows/ci.yml index 7be5fc9..3774cde 100644 --- a/.forgejo/workflows/ci.yml +++ b/.forgejo/workflows/ci.yml @@ -24,7 +24,6 @@ jobs: path: | ~/.cargo/registry ~/.cargo/git - target key: cargo-${{ runner.os }}-${{ hashFiles('**/Cargo.lock') }} restore-keys: | cargo-${{ runner.os }}- @@ -33,10 +32,11 @@ jobs: uses: actions/cache@v4 with: path: /root/.cache/sccache - # Not keyed to Cargo.lock: sccache caches individual compiler - # invocations by content hash, so it should accumulate across - # dependency bumps rather than reset like the target/ cache above. - key: sccache-${{ runner.os }}-${{ github.run_id }} + # Keyed to Cargo.lock, not github.run_id: a per-run key never + # gets an exact hit, so actions/cache re-uploads the full + # sccache dir on every single run even when nothing changed. + # This still refreshes whenever dependencies bump. + key: sccache-${{ runner.os }}-${{ hashFiles('**/Cargo.lock') }} restore-keys: | sccache-${{ runner.os }}- @@ -54,7 +54,6 @@ jobs: path: | ~/.cargo/registry ~/.cargo/git - target key: cargo-${{ runner.os }}-${{ hashFiles('**/Cargo.lock') }} restore-keys: | cargo-${{ runner.os }}- @@ -63,7 +62,7 @@ jobs: uses: actions/cache@v4 with: path: /root/.cache/sccache - key: sccache-${{ runner.os }}-${{ github.run_id }} + key: sccache-${{ runner.os }}-${{ hashFiles('**/Cargo.lock') }} restore-keys: | sccache-${{ runner.os }}- @@ -81,7 +80,6 @@ jobs: path: | ~/.cargo/registry ~/.cargo/git - target key: cargo-${{ runner.os }}-${{ hashFiles('**/Cargo.lock') }} restore-keys: | cargo-${{ runner.os }}- @@ -90,7 +88,7 @@ jobs: uses: actions/cache@v4 with: path: /root/.cache/sccache - key: sccache-${{ runner.os }}-${{ github.run_id }} + key: sccache-${{ runner.os }}-${{ hashFiles('**/Cargo.lock') }} restore-keys: | sccache-${{ runner.os }}- @@ -115,7 +113,6 @@ jobs: path: | ~/.cargo/registry ~/.cargo/git - target key: cargo-${{ runner.os }}-${{ hashFiles('**/Cargo.lock') }} restore-keys: | cargo-${{ runner.os }}- @@ -124,7 +121,7 @@ jobs: uses: actions/cache@v4 with: path: /root/.cache/sccache - key: sccache-${{ runner.os }}-${{ github.run_id }} + key: sccache-${{ runner.os }}-${{ hashFiles('**/Cargo.lock') }} restore-keys: | sccache-${{ runner.os }}- @@ -143,7 +140,6 @@ jobs: path: | ~/.cargo/registry ~/.cargo/git - target key: cargo-${{ runner.os }}-${{ hashFiles('**/Cargo.lock') }} restore-keys: | cargo-${{ runner.os }}- @@ -152,7 +148,7 @@ jobs: uses: actions/cache@v4 with: path: /root/.cache/sccache - key: sccache-${{ runner.os }}-${{ github.run_id }} + key: sccache-${{ runner.os }}-${{ hashFiles('**/Cargo.lock') }} restore-keys: | sccache-${{ runner.os }}-