Skip to content

fix(ci): validate rails from fresh per-attempt checkouts - #157

Merged
haasonsaas merged 1 commit into
mainfrom
fix/rails-fresh-checkout
Oct 1, 2026
Merged

haasonsaas merged 1 commit into
mainfrom
fix/rails-fresh-checkout

Conversation

@haasonsaas

@haasonsaas haasonsaas commented Oct 1, 2026 •

Copy link
Copy Markdown
Contributor

Persistent CI runners can fail checkout with fatal: missing blob object before any rails validator runs. Mono run 36882279231/job 110439354952 reproduced this on gha-runner-pve50-3-b; fetching its exact merge SHA into a new repository succeeded and resolved the allegedly missing blob.

Checkout now uses a fresh directory containing the workflow run ID and attempt. Every existing run step validates that same checkout. The pinned action, permissions, runner selection, timeout, and validators remain intact.

Validation: 5 Ruby tests / 48 assertions and 4 Python tests pass. The new regression removes a real blob from a disposable reused checkout, proves Git integrity fails, clones into the configured fresh directory, runs the actual YAML preflight and workflow validator, proves malformed YAML still fails, and preserves a sibling cache sentinel.

All seven unchanged workflow run steps also passed when executed locally from the exact PR source. Independent review of both changed files found no actionable defects. The optional hosted validate check remains queued without an assigned runner; this is not a hosted success receipt. The consuming Mono PR must pass its mandatory current-head rails check after updating the pinned workflow SHA.

No-Issue: causal repair for the checkout blocker discovered while delivering dx-corp/mono#11663.

@haasonsaas
haasonsaas merged commit e26c3e5 into main Oct 1, 2026
2 of 3 checks passed
@haasonsaas
haasonsaas deleted the fix/rails-fresh-checkout branch October 1, 2026 16:07
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