fix: refactor cache-checkout to use actions/cache@v4 with fallback (#26702)

This fixes cache propagation delay issues with Blacksmith's distributed cache.

The previous implementation used separate save/restore actions with
fail-on-cache-miss: true, which failed when the cache wasn't immediately
available after being saved by the Prepare job.

The new implementation uses actions/cache@v4 (combined save/restore)
with a fallback to do the checkout if cache miss, matching the pattern
used by cache-build and cache-db which don't have this issue.

Changes:
- Refactored cache-checkout action to use actions/cache@v4
- Added fallback checkout step when cache miss occurs
- Removed mode input (no longer needed)
- Updated all workflows to use the simplified cache-checkout action

Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
This commit is contained in:
Keith Williams
2026-01-10 19:26:28 +00:00
committed by GitHub
co-authored by Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
parent eecf9e1ab9
commit bf4cdf6245
20 changed files with 15 additions and 62 deletions
@@ -68,8 +68,6 @@ jobs:
with:
sparse-checkout: .github
- uses: ./.github/actions/cache-checkout
with:
mode: restore
- uses: ./.github/actions/yarn-install
- uses: ./.github/actions/cache-db
- name: Cache API v1 production build
@@ -38,8 +38,6 @@ jobs:
with:
sparse-checkout: .github
- uses: ./.github/actions/cache-checkout
with:
mode: restore
- uses: ./.github/actions/yarn-install
- name: Generate Prisma schemas
working-directory: apps/api/v2
-2
View File
@@ -15,8 +15,6 @@ jobs:
with:
sparse-checkout: .github
- uses: ./.github/actions/cache-checkout
with:
mode: restore
- uses: ./.github/actions/yarn-install
- run: yarn prisma generate
- name: Run API v2 unit tests
@@ -15,8 +15,6 @@ jobs:
with:
sparse-checkout: .github
- uses: ./.github/actions/cache-checkout
with:
mode: restore
- uses: ./.github/actions/yarn-install
- name: Cache atoms production build
uses: actions/cache@v4
@@ -37,8 +37,6 @@ jobs:
with:
sparse-checkout: .github
- uses: ./.github/actions/cache-checkout
with:
mode: restore
- uses: ./.github/actions/yarn-install
- name: Generate Swagger
-2
View File
@@ -15,8 +15,6 @@ jobs:
with:
sparse-checkout: .github
- uses: ./.github/actions/cache-checkout
with:
mode: restore
- uses: ./.github/actions/yarn-install
- name: Show info
run: node -e "console.log(require('v8').getHeapStatistics())"
-2
View File
@@ -20,8 +20,6 @@ jobs:
with:
sparse-checkout: .github
- uses: ./.github/actions/cache-checkout
with:
mode: restore
- name: Setup Bun
uses: oven-sh/setup-bun@v1
-2
View File
@@ -15,8 +15,6 @@ jobs:
with:
sparse-checkout: .github
- uses: ./.github/actions/cache-checkout
with:
mode: restore
- name: Cache Docs build
uses: actions/cache@v4
id: cache-docs-build
-2
View File
@@ -77,8 +77,6 @@ jobs:
with:
sparse-checkout: .github
- uses: ./.github/actions/cache-checkout
with:
mode: restore
- uses: ./.github/actions/yarn-install
- uses: ./.github/actions/cache-db
- name: Build platform packages with Turbo
-2
View File
@@ -84,8 +84,6 @@ jobs:
with:
sparse-checkout: .github
- uses: ./.github/actions/cache-checkout
with:
mode: restore
- uses: ./.github/actions/yarn-install
- uses: ./.github/actions/yarn-playwright-install
- run: yarn prisma generate
-2
View File
@@ -76,8 +76,6 @@ jobs:
with:
sparse-checkout: .github
- uses: ./.github/actions/cache-checkout
with:
mode: restore
- uses: ./.github/actions/yarn-install
- uses: ./.github/actions/yarn-playwright-install
- run: yarn prisma generate
-2
View File
@@ -84,8 +84,6 @@ jobs:
with:
sparse-checkout: .github
- uses: ./.github/actions/cache-checkout
with:
mode: restore
- uses: ./.github/actions/yarn-install
- uses: ./.github/actions/yarn-playwright-install
- run: yarn prisma generate
-2
View File
@@ -85,8 +85,6 @@ jobs:
with:
sparse-checkout: .github
- uses: ./.github/actions/cache-checkout
with:
mode: restore
- uses: ./.github/actions/yarn-install
- uses: ./.github/actions/yarn-playwright-install
- run: yarn prisma generate
-2
View File
@@ -82,8 +82,6 @@ jobs:
with:
sparse-checkout: .github
- uses: ./.github/actions/cache-checkout
with:
mode: restore
- uses: ./.github/actions/yarn-install
- run: yarn prisma generate
- uses: ./.github/actions/cache-db
-2
View File
@@ -13,8 +13,6 @@ jobs:
with:
sparse-checkout: .github
- uses: ./.github/actions/cache-checkout
with:
mode: restore
- uses: ./.github/actions/yarn-install
- name: Run Lint
run: yarn lint
+1 -5
View File
@@ -174,11 +174,7 @@ jobs:
db-cache-hit: ${{ steps.cache-db-check.outputs.cache-hit }}
steps:
- uses: actions/checkout@v4
- uses: ./.github/actions/dangerous-git-checkout
- name: Cache git checkout
uses: ./.github/actions/cache-checkout
with:
mode: save
- uses: ./.github/actions/cache-checkout
- name: Generate DB cache key
id: cache-db-key
uses: ./.github/actions/cache-db-key
@@ -46,8 +46,6 @@ jobs:
with:
sparse-checkout: .github
- uses: ./.github/actions/cache-checkout
with:
mode: restore
- uses: ./.github/actions/yarn-install
- run: yarn prisma generate
- name: Generate cache key
-2
View File
@@ -50,8 +50,6 @@ jobs:
with:
sparse-checkout: .github
- uses: ./.github/actions/cache-checkout
with:
mode: restore
- uses: ./.github/actions/yarn-install
if: inputs.DB_CACHE_HIT != 'true'
- run: yarn prisma generate
-2
View File
@@ -15,8 +15,6 @@ jobs:
with:
sparse-checkout: .github
- uses: ./.github/actions/cache-checkout
with:
mode: restore
- uses: ./.github/actions/yarn-install
- run: yarn prisma generate
- run: yarn test -- --no-isolate