You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
ci: fix all four pre-existing workflow failures (#73)
Every one of these predates today's work; all four failed at workflow
LOAD time (zero jobs), so nothing they gate has actually run in weeks:
- secret-scanner.yml: caller granted only contents:read but the called
reusable's gitleaks job requests pull-requests:write + actions:read.
A called workflow can only narrow the caller's token, never exceed it
-> startup_failure on every run since the 2026-06-24 repin (#62).
Caller now grants the superset. (The reusable's comment claiming its
permissions 'override the caller's' is backwards — flagged for
standards separately.)
- scorecard.yml: same class — read-all cannot cover the callee's
security-events:write + id-token:write. Explicit grant block added.
- dogfood-gate.yml: an inline python3 -c snippet was written at column 1
inside a run:| literal block, terminating the block scalar and making
the entire file unparseable (path-as-name, zero jobs — all six jobs
invisible). Script moved to the step's env.PYCODE block scalar (YAML
strips base indentation there) and invoked as python3 -c "$PYCODE".
- instant-sync.yml: secrets context is not available in step-level if:
— workflow-file error at load. Secret hoisted to job env and the step
gated on env.FARM_DISPATCH_TOKEN instead. (When the secret is absent
the step skips and the job is green, which matches the recorded plan
to drop FARM_DISPATCH_TOKEN after the credential rebuild.)
Validated: actionlint clean across .github/workflows; all four parse
with the expected job sets.
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
0 commit comments