ci(lint): guard actions/setup-go cache on self-hosted fleet #17
Reference in New Issue
Block a user
Delete Branch "ci/guard-setup-go-cache"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Static workflow-shape lint that makes the actions/setup-go cache bind-mount corruption (2026-06-09/10 rollout) impossible to reintroduce.
Forbidden shape: any actions/setup-go step with caching enabled —
cache: trueexplicit, ORcache-dependency-path/cache-keywith nocache:(defaults true), OR a bare setup-go with nocache:(still default-true). Only safe value on the self-hosted fleet is explicitcache: false.Why: runners bind-mount a host-shared GOCACHE/GOMODCACHE (/var/cache/ci-go-{build,mod}, operator-config ops/runners/config.dedicated.yaml). actions/cache untars OVER that bind mount -> File exists -> partial cache -> linker/typecheck failures.
Phase / coordination: lands continue-on-error: true (advisory). The sweep PR #16 (fix/setup-go-cache-vs-bind-mount) removes this repos cache:true hits (ci.yml + release.yml x2). FOLLOW-UP: after #16 merges + main clean 3 days, flip continue-on-error -> false.
Fixture-catch proof: 6 pytest cases in tests/test_lint_setup_go_cache.py — all pass. Guard correctly lists the 3 current hits (caught) until #16 lands.
Guard class 1 of the cross-repo CI-bug-class lint set.
Blocked by the same cli BP required-context name mismatch (#15):
lint-setup-go-cacheis pending/never-completes and the BP-required context name does not match emitted contexts → merge 405Not all required status checks successful. Needs the admin BP fix before it can land. Not forcing.View command line instructions
Checkout
From your project repository, check out a new branch and test the changes.