Commit 7add7bc
committed
fix(ci): grant scorecard's called workflow contents:read; revert unproven checkout bump
Two independent CI fixes, both measured on main after #293.
1. `Scorecards supply-chain security` -- the last startup_failure
Re-pinning scorecard-reusable in #293 did NOT fix it, which proves the
pin was never the cause. Root cause is the caller's permission block:
jobs:
analysis:
permissions:
security-events: write
id-token: write # <- contents omitted
Declaring `permissions:` at job level sets every UNLISTED scope to
`none`, and a called workflow can never hold more than the calling job
grants it. scorecard-reusable declares top-level `permissions: contents:
read` and its first step is actions/checkout, so it was being handed
`contents: none` -- the call died at startup with zero jobs, which is why
there is no log to read.
Confirmed against the green sibling: boj-server-cartridges' scorecard.yml
lists all three (`contents: read`, `security-events: write`,
`id-token: write`) and its runs succeed. Adding `contents: read` here.
This is root cause (A) from the estate's two startup_failure shapes --
reusable permission escalation -- not BROKEN-M1.
2. Revert pages.yml/pages-deploy.yml checkout to the v4 SHA
#293 pinned these to de0fac2e (v6.0.2). Both workflows are
`push: [main]`-only, so no PR could exercise them, and pages.yml is this
repo's only container job (idris2-pack) and has never completed a run --
checkout v6 needs node24 injected into the container, which is precisely
what could not be observed. 11d5960a is exactly what `actions/checkout@v4`
resolves to today, so this is a pure pin: the linter only requires a
full-length SHA, not a particular version. A considered v4 -> v6 bump
belongs in a change where it can be watched.
Verified: 0 of 94 `uses:` unpinned; all three files parse as YAML.1 parent a74d33d commit 7add7bc
3 files changed
Lines changed: 11 additions & 3 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
18 | 18 | | |
19 | 19 | | |
20 | 20 | | |
21 | | - | |
| 21 | + | |
22 | 22 | | |
23 | 23 | | |
24 | 24 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
23 | 23 | | |
24 | 24 | | |
25 | 25 | | |
26 | | - | |
| 26 | + | |
27 | 27 | | |
28 | | - | |
| 28 | + | |
29 | 29 | | |
30 | 30 | | |
31 | 31 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
31 | 31 | | |
32 | 32 | | |
33 | 33 | | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
34 | 42 | | |
35 | 43 | | |
36 | 44 | | |
0 commit comments