Commit 57a11aa
committed
fix(ci): SHA-pin the last unpinned action, in pages-deploy.yml
`Deploy to Cloudflare Workers` fails on main with:
The action actions/checkout@v4 is not allowed in hyperpolymath/boj-server
because all actions must be pinned to a full-length commit SHA.
This is GitHub's own `sha_pinning_required: true` repo policy, which was
deliberately preserved when allowed_actions moved selected -> all. Unlike
BROKEN-M1 it is a *correct* refusal: the action really was unpinned.
Worth recording how it was found, because two linters missed it. Both the
`Workflow security linter` and my local replication of it match `uses:`
only at the start of a line (after indentation), so both see
- name: Checkout
uses: actions/checkout@v4 # caught
but not the inline list-item form actually used here:
- uses: actions/checkout@v4 # MISSED
That single blind spot is why governance reported exactly 4 unpinned
actions (all in pages.yml) while the repo in fact had 5, and why the
scan undercounted `uses:` lines 66 vs the true 94. GitHub's policy engine
caught what the linter could not. The upstream pattern in
hyperpolymath/standards has the same gap and should be widened
separately; this commit fixes the instance.
Pinned to de0fac2e (v6.0.2), the same checkout every other workflow in
this repo now uses.
Verified with a corrected pattern matching BOTH forms: 0 of 94 `uses:`
lines are unpinned.
Not addressed here (no CI impact, flagged for follow-up): the deploy step
runs `npx wrangler@latest`, which is an unpinned floating dependency in a
job that holds CLOUDFLARE_API_TOKEN.1 parent 067c271 commit 57a11aa
1 file changed
Lines changed: 1 addition & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
18 | 18 | | |
19 | 19 | | |
20 | 20 | | |
21 | | - | |
| 21 | + | |
22 | 22 | | |
23 | 23 | | |
24 | 24 | | |
| |||
0 commit comments