Skip to content

TEST — extended cache fix performance experiment (do not merge)#27

Closed
joaodinissf wants to merge 1 commit into
test/cache-basefrom
test/cache-consumer
Closed

TEST — extended cache fix performance experiment (do not merge)#27
joaodinissf wants to merge 1 commit into
test/cache-basefrom
test/cache-consumer

Conversation

@joaodinissf

Copy link
Copy Markdown
Owner

Fork-only A/B experiment for dsldevkit#1399 (extended): run 1 = cold maven-verify (no caches); then the cache-producer dispatch populates a Linux-maven-publish-test-* cache on the base branch scope; run 2 = re-run, expecting 'Cache restored from key: Linux-maven-publish-test-…' and a measurably shorter maven-verify. Will be closed and cleaned up.

The maven-verify cache never hit in practice, for three compounding reasons
(verified against the live cache inventory):

- actions/cache only restores on an exact key match, and the key embeds
  hashFiles('**/pom.xml') — so any pom-touching PR missed outright.
- GitHub isolates caches per PR scope: the eight open PRs each held a
  byte-identical 704 MB cache under their own refs/pull/N/merge, invisible
  to one another. The only shareable scope is master, and verify.yml (a
  pull_request-only workflow) never saved there.
- master DOES have a cache producer — snapshot.yml saves ~/.m2/repository
  as Linux-maven-publish-* on every push — but verify's restore prefix
  (Linux-maven-0-) could never match that family. snapshot.yml's own
  restore-keys already reach down into Linux-maven-0-; the sharing was
  one-directional by accident.
- The redundant per-PR saves pushed the repo over its 10 GB cache budget
  (10.35 GB across 14 caches), so LRU eviction also killed same-PR reuse.

Fix, all in the one cache step: switch to actions/cache/restore (PRs stop
saving — ends the duplicate-cache churn and the eviction pressure), add
restore-keys with prefix fallback, and include Linux-maven-publish- so every
PR warm-starts from the snapshot build's superset cache, refreshed on each
merge to master. The maven-0 epoch remains the manual bust lever.

Mechanism verified in a fork experiment (#26): a pom-touching
second run logged 'Cache restored from key: Linux-maven-0-…' and round-
tripped the cached content.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@joaodinissf joaodinissf deleted the test/cache-consumer branch June 12, 2026 21:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant