Skip to content

fix(ci): point the frozen-source cache at the harnesses' real location - #7

Merged
qmarcelle merged 1 commit into
mainfrom
fix/ci-parity-cache-path
Jul 26, 2026
Merged

fix(ci): point the frozen-source cache at the harnesses' real location#7
qmarcelle merged 1 commit into
mainfrom
fix/ci-parity-cache-path

Conversation

@qmarcelle

Copy link
Copy Markdown
Contributor

Problem

Cross-PR race between #5 and #6. PR #6 caches path: .parity-cache — the in-repo location from PR #4 — but PR #5 (merged first) moved the harness cache default to ~/.cache/workspacejson/cli-parity, and the workflow never sets WORKSPACEJSON_PARITY_CACHE. Result: the actions/cache step saves/restores a directory the harnesses never touch, so every parity CI run re-clones and rebuilds the frozen source from scratch.

Not a correctness issue — the job still passes, and the guard job runs on a separate runner so nothing trips it. The cache is just dead weight and the parity job pays first-run cost every time.

Fix

One line: path: ~/.cache/workspacejson/cli-parity, matching parity-lib.sh's default (${XDG_CACHE_HOME:-$HOME/.cache}/workspacejson/cli-parity; XDG_CACHE_HOME is unset on ubuntu-latest, and actions/cache expands ~). Cache key unchanged — still the immutable frozen-source SHA. Comment updated to record why the cache lives outside the tree, so the next workflow edit doesn't regress it.

Verification

  • Gate behavior locally at this commit: runtime harness exits 0 with exactly the 2 ratified differences matched against migration/parity-expected-differences.txt
  • grep -rn parity-cache .github/workflows/ → only this one path reference existed

PR #6 wired the parity harnesses into CI and cached .parity-cache — the
in-repo default from PR #4. But PR #5 (merged first) moved the harness
cache to ~/.cache/workspacejson/cli-parity precisely so the frozen-source
clone never trips the architecture guard, and nothing in the workflow sets
WORKSPACEJSON_PARITY_CACHE. The cache step therefore saved and restored a
directory the harnesses never write: a no-op, with every CI run re-cloning
and rebuilding the frozen source from scratch.

Point actions/cache at the real default. actions/cache expands ~, and on
ubuntu-latest XDG_CACHE_HOME is unset, so the path matches parity-lib.sh's
${XDG_CACHE_HOME:-$HOME/.cache}/workspacejson/cli-parity exactly. The cache
key is unchanged — still the immutable frozen-source SHA.
Copilot AI review requested due to automatic review settings July 26, 2026 12:46

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

@qmarcelle
qmarcelle merged commit c39c6f0 into main Jul 26, 2026
3 checks passed
@qmarcelle
qmarcelle deleted the fix/ci-parity-cache-path branch July 27, 2026 03:41
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.

2 participants