fix(governance): lockfile-aware SHA-pin check for consumer repos - #574
Conversation
…epos Repos adopting GitHub's Actions dependency lockfile carry tag-style uses: refs — the SHA authority lives in actions.lock, which the runner enforces. The governance-reusable's bare 40-hex grep fail-flags every such consumer (first seen: haec, whose Governance metadata check was the sole red after its lockfile revival). With actions.lock present: verify coverage via gh actions-lock --verify-local and keep the inline-SHA requirement only for cross-repo reusable workflow calls (lockfile does not scope those). Without a lockfile: unchanged grep. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
|
Note Automatic reviews are paused because your trial's included automatic processing has been used for this period. Upgrade now, or comment "Gitar review" to run a review anytime. Code Review ✅ ApprovedMakes the governance SHA-pin check lockfile-aware for consumer repos by verifying local coverage when an
OptionsDisplay: compact → Showing less information. Comment with these commands to change the behavior for this request:
Important Your trial ends in 6 days — upgrade now to keep code review, CI analysis, auto-apply, custom automations, and more. Was this helpful? React with 👍 / 👎 | Gitar |



The governance-reusable greps consumer workflows for 40-hex pins, which fail-flags every repo that adopted
actions.lock(the locker's canonical output is tag-style refs with SHAs held in the lockfile the runner enforces). First seen on haec: after its lockfile revival (haec#46/#48/#50), Governance metadata was its only red — from this check.With a lockfile present the step now verifies coverage via
gh actions-lock --verify-local(offline) and keeps the inline-SHA demand only for cross-repo reusable workflow calls, which stay outside lockfile scope. Repos without a lockfile keep the exact old grep.Downstream plan: once this merges, every open estate lockfile PR gets re-pinned to the resulting SHA so their Governance checks pass on first run.
🤖 Generated with Claude Code