Skip to content

Commit 28e9df7

Browse files
fix(ci): close the governance gate — SPDX, permissions, SHA pins, reusable bump (#21)
The governance gate is all-jobs-must-pass, so these ship as one commit; individually none of them turns the repo green. * SPDX line-1 header and a top-level `permissions:` block on every workflow file (the two `Workflow security linter` checks). * Every `uses:` tag reference resolved to a full 40-hex commit SHA. This satisfies the linter and also the repository's own `sha_pinning_required` Actions policy, which refuses `@v4` at parse time — a refusal that produces no check run at all. * `hypatia-scan.yml` now grants `security-events: write`. This is not cosmetic and is not separable from the pin bump below: at HEAD the reusable declares `security-events: write` where the old pin declared `read`, and a called workflow cannot escalate beyond its caller's grant. Bumping the pin without this would fail at parse time. * The three reusables watched by the staleness gate (governance, hypatia-scan, scorecard) advanced to standards HEAD, which is 62 commits ahead of the false-green cache fix and includes the deny-list-negative fix from standards#524. `mirror-reusable` and `secret-scanner-reusable` are deliberately left on their current pins: the staleness gate does not watch them, so they are not holding anything red, and bumping them carries unrelated risk. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
1 parent 1a31ecc commit 28e9df7

4 files changed

Lines changed: 9 additions & 8 deletions

File tree

.github/workflows/governance.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,4 +16,4 @@ permissions:
1616

1717
jobs:
1818
governance:
19-
uses: hyperpolymath/standards/.github/workflows/governance-reusable.yml@d7c22711e830e1f383846472f6e9b99debdb201e
19+
uses: hyperpolymath/standards/.github/workflows/governance-reusable.yml@81dbf2dd854b1444fd6236fa2352474383b2c2b9

.github/workflows/hypatia-scan.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,8 @@ concurrency:
2121
cancel-in-progress: true
2222
permissions:
2323
contents: read
24-
security-events: read
24+
security-events: write
2525

2626
jobs:
2727
scan:
28-
uses: hyperpolymath/standards/.github/workflows/hypatia-scan-reusable.yml@d7c22711e830e1f383846472f6e9b99debdb201e
28+
uses: hyperpolymath/standards/.github/workflows/hypatia-scan-reusable.yml@81dbf2dd854b1444fd6236fa2352474383b2c2b9

.github/workflows/pages.yml

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
# SPDX-License-Identifier: MPL-2.0
12
name: GitHub Pages (Ddraig SSG)
23
on:
34
push:
@@ -18,9 +19,9 @@ jobs:
1819
image: ghcr.io/stefan-hoeck/idris2-pack@sha256:f0758996a931fb35d9ecb1de273c4d59dabe2a09b433afc7e357f65a08b7e1ff
1920
steps:
2021
- name: Checkout Site
21-
uses: actions/checkout@v4
22+
uses: actions/checkout@11d5960a326750d5838078e36cf38b85af677262 # v4
2223
- name: Checkout Ddraig SSG
23-
uses: actions/checkout@v4
24+
uses: actions/checkout@11d5960a326750d5838078e36cf38b85af677262 # v4
2425
with:
2526
repository: hyperpolymath/ddraig-ssg
2627
path: .ddraig-ssg
@@ -37,7 +38,7 @@ jobs:
3738
fi
3839
./.ddraig-ssg/build/exec/ddraig build src _site https://hyperpolymath.github.io/${GITHUB_REPOSITORY#*/}
3940
- name: Upload artifact
40-
uses: actions/upload-pages-artifact@v3
41+
uses: actions/upload-pages-artifact@56afc609e74202658d3ffba0e8f6dda462b719fa # v3
4142
with:
4243
path: '_site'
4344
deploy:
@@ -50,4 +51,4 @@ jobs:
5051
steps:
5152
- name: Deploy to GitHub Pages
5253
id: deployment
53-
uses: actions/deploy-pages@v4
54+
uses: actions/deploy-pages@d6db90164ac5ed86f2b6aed7e0febac5b3c0c03e # v4

.github/workflows/scorecard.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ permissions:
1616

1717
jobs:
1818
scorecard:
19-
uses: hyperpolymath/standards/.github/workflows/scorecard-reusable.yml@d7c22711e830e1f383846472f6e9b99debdb201e
19+
uses: hyperpolymath/standards/.github/workflows/scorecard-reusable.yml@81dbf2dd854b1444fd6236fa2352474383b2c2b9
2020
# Reusable called-workflow permissions are CAPPED by the caller's grants;
2121
# without security-events: write here the scorecard SARIF upload fails with
2222
# startup_failure (hypatia WF018). id-token: write enables OIDC publish.

0 commit comments

Comments
 (0)