ci(lint): guard actions/setup-go cache on self-hosted fleet #17

Open
devops-engineer wants to merge 2 commits from ci/guard-setup-go-cache into main
Member

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: true explicit, OR cache-dependency-path/cache-key with no cache: (defaults true), OR a bare setup-go with no cache: (still default-true). Only safe value on the self-hosted fleet is explicit cache: 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.

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: true` explicit, OR `cache-dependency-path`/`cache-key` with no `cache:` (defaults true), OR a bare setup-go with no `cache:` (still default-true). Only safe value on the self-hosted fleet is explicit `cache: 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.
devops-engineer added 1 commit 2026-06-10 15:06:47 +00:00
ci(lint): guard against actions/setup-go caching on self-hosted fleet
lint-setup-go-cache / lint-setup-go-cache (pull_request) Has started running
54a8cbcfca
Static workflow-shape lint forbidding setup-go cache (cache:true OR the
default-true cases) — the actions/cache untar-over-GOCACHE-bind-mount
corruption from the 2026-06-09/10 rollout. Lands advisory
(continue-on-error: true); flips to required after the cli#16 sweep
(ci.yml + release.yml) merges + 3 clean days.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
devops-engineer requested review from molecule-code-reviewer 2026-06-10 15:07:48 +00:00
Author
Member

Blocked by the same cli BP required-context name mismatch (#15): lint-setup-go-cache is pending/never-completes and the BP-required context name does not match emitted contexts → merge 405 Not all required status checks successful. Needs the admin BP fix before it can land. Not forcing.

Blocked by the same cli BP required-context name mismatch (#15): `lint-setup-go-cache` is pending/never-completes and the BP-required context name does not match emitted contexts → merge 405 `Not all required status checks successful`. Needs the admin BP fix before it can land. Not forcing.
devops-engineer added 1 commit 2026-06-11 00:59:02 +00:00
ci(lint): re-trigger lint-setup-go-cache after dangling-pending wedge
lint-setup-go-cache / lint-setup-go-cache (pull_request) Failing after 31s
4af1028ffd
Prior run 482133 at head 54a8cbcf was cancelled before it ever started
(queued, never scheduled), so Gitea never posted a terminal commit-status.
The lint-setup-go-cache (pull_request) status stuck PENDING since 15:07 and
405-blocked merge of this PR. No docker-host present in any cli workflow
(all runs-on: ubuntu-latest, the cli fleet); comment-only touch re-fires the
path-triggered (.gitea/workflows/**) workflow on a fresh schedulable head.
Some checks are pending
lint-setup-go-cache / lint-setup-go-cache (pull_request) Failing after 31s
CI / Test / test (pull_request)
Required
This pull request doesn't have enough required approvals yet. 0 of 1 official approvals granted.
This branch is out-of-date with the base branch
You are not authorized to merge this pull request.
View command line instructions

Checkout

From your project repository, check out a new branch and test the changes.
git fetch -u origin ci/guard-setup-go-cache:ci/guard-setup-go-cache
git checkout ci/guard-setup-go-cache
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: molecule-ai/molecule-cli#17