next.js
108e9652 - use the action cache for passing tests (#93954)

Commit
12 days ago
use the action cache for passing tests (#93954) ## Summary Memoize passing tests across attempts of the same workflow run, so a re-attempt after a timeout or cancellation can skip what already passed. ## What changed - `run-tests.js` appends each passing test's filename to `$NEXT_TEST_PASSED_FILE` as it finishes (sync `write` + `fsync`, fd kept open across calls). On startup it reads the same file and skips any entries that match. - `build_reusable.yml` wraps the test step with `actions/cache/restore` (before) and `actions/cache/save` (after, with `if: always()`). The save step runs on success, failure, and cancel — which is the whole point: a cancelled attempt still gets to preserve its progress for retry. - Cache key is scoped to `${input_step_key}-${run_id}-attempt${run_attempt}`, with `restore-keys` falling back to any earlier attempt of the same run. The previous implementation wrote a single Turbo-remote-cache blob *after* `Promise.allSettled` resolved — so a cancellation (like [run 26127371192](https://github.com/vercel/next.js/actions/runs/26127371192/job/76845288867)) lost every passed test from that attempt. This also removes one dependency on the turbo-remote cache (there are still two more uses of `scripts/turbo-cache.mjs`) <!-- NEXT_JS_LLM_PR -->
Author
Parents
Loading