From 31e88a3ed20a8307a0fafd4fe757339f837ca5fe Mon Sep 17 00:00:00 2001 From: aaronjmars Date: Tue, 6 Oct 2026 13:13:40 -0400 Subject: [PATCH] fix(ci): drop restore-keys on Claude Code npm cache so pin bumps install --- .github/workflows/aeon.yml | 9 ++++----- .github/workflows/messages.yml | 5 ++--- 2 files changed, 6 insertions(+), 8 deletions(-) diff --git a/.github/workflows/aeon.yml b/.github/workflows/aeon.yml index 6ca90491018..21918d0e9af 100644 --- a/.github/workflows/aeon.yml +++ b/.github/workflows/aeon.yml @@ -240,15 +240,14 @@ jobs: if: steps.work.outputs.mode != '' # ~/.npm is npm's content-addressable download cache — reusing it lets the # pinned install run fully offline. Version is baked into the key (immutable, - # ~100% hit after the first run of a version, shared with messages.yml). The - # restore-keys prefix degrades gracefully on a version bump. Keep the version - # in the key in sync with the pin below. + # ~100% hit after the first run of a version, shared with messages.yml). Keep + # the version in the key in sync with the pin below. No restore-keys: an older + # cache carries a stale packument, and --prefer-offline trusts it, so a bumped + # pin fails with ETARGET forever (the failed install never saves a new key). uses: actions/cache@55cc8345863c7cc4c66a329aec7e433d2d1c52a9 # v6 with: path: ~/.npm key: claude-code-${{ runner.os }}-2.1.287 - restore-keys: | - claude-code-${{ runner.os }}- - name: Install Claude Code if: steps.work.outputs.mode != '' diff --git a/.github/workflows/messages.yml b/.github/workflows/messages.yml index d5896458f59..0dfc5e4abac 100644 --- a/.github/workflows/messages.yml +++ b/.github/workflows/messages.yml @@ -405,13 +405,12 @@ jobs: - name: Cache Claude Code (npm) if: steps.msg.outputs.source != '' # Shares the pinned-version cache with aeon.yml so the global install runs - # offline. Keep the version in the key in sync with the pin below. + # offline. Keep the version in the key in sync with the pin below. No + # restore-keys (see aeon.yml: a stale packument breaks a bumped pin). uses: actions/cache@55cc8345863c7cc4c66a329aec7e433d2d1c52a9 # v6 with: path: ~/.npm key: claude-code-${{ runner.os }}-2.1.287 - restore-keys: | - claude-code-${{ runner.os }}- - name: Install Claude Code if: steps.msg.outputs.source != ''