From 64bccc186f6a9c19cb34cecc3fe55fc6020c022d Mon Sep 17 00:00:00 2001 From: ethernet Date: Fri, 22 May 2026 14:12:29 -0400 Subject: [PATCH] =?UTF-8?q?fix:=20stable=20cache=20key=20(no=20SHA)=20?= =?UTF-8?q?=E2=80=94=20durations=20are=20about=20files,=20not=20commits?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit SHA-keyed caches miss on every new commit and on PR merge commits. Single stable key: main always overwrites, PRs always find it. --- .github/workflows/tests.yml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 467efc0c1a..f48f7fed3e 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -36,11 +36,11 @@ jobs: uses: actions/cache/restore@27d5ce7f107fe9357f9df03efb73ab90386fccae # v5.0.5 with: path: test_durations.json - key: test-durations-${{ github.sha }} - # Any previous cache from any branch works — caches from main - # are visible to all PRs; branch caches are visible to PRs - # targeting that branch. - restore-keys: test-durations- + # Single stable key — main always overwrites, PRs always find it. + # No SHA in the key: durations are about *files*, not commits, + # and SHA-keyed caches miss on every new commit (and on PR merge + # commits which have a different SHA than the head). + key: test-durations - name: Install ripgrep (prebuilt binary) run: | @@ -139,7 +139,7 @@ jobs: uses: actions/cache/save@27d5ce7f107fe9357f9df03efb73ab90386fccae # v5.0.5 with: path: test_durations.json - key: test-durations-${{ github.sha }} + key: test-durations e2e: runs-on: ubuntu-latest