Skip to content

Commit e333b83

Browse files
EliShteinmanclaude
andcommitted
refactor(ci): drop tar shuffling, each runner does its own checkout + cache
Replaces the workspace-tar approach (which had --exclude pitfalls and included fork-only files that shouldn't affect cache) with the upstream pattern: each matrix runner does its own actions/checkout, restores deps from actions/cache by content hash, and computes its Hugo output cache key from Hugo-relevant files only. Cache key inputs are now strictly Hugo-relevant: - content/<version>/** (per-version) or content/** without version dirs (latest) - layouts/**, assets/**, data/**, static/**, i18n/** - config.toml, postcss.config.js, tailwind.config.js, package-lock.json - version lists (kubernetes-versions, rs-versions, ...) - .github/workflows/airgap-build.yml (so workflow logic changes invalidate) Fork-only files (helm/, Dockerfile, airgap-multibuild.sh, BUILD.md, ...) no longer enter any cache key. Editing them is a cache HIT across the board. Caches per runner (workspace-relative paths, no sudo needed): - node_modules keyed on package.json + package-lock.json - ./venv keyed on requirements.txt - examples keyed on Makefile + build/** + data/components_local/index.json - output (Hugo result) keyed on the per-build hash described above setup is now lean: just checkout, discover versions, emit matrix JSON. No tar, no patches, no excludes. Setup ~30 sec instead of ~5 min. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
1 parent bd0b51c commit e333b83

1 file changed

Lines changed: 217 additions & 200 deletions

File tree

0 commit comments

Comments
 (0)