Skip to content

Commit aee89c5

Browse files
fix(ci): close the governance gate — SPDX, permissions, SHA pins, reusable bump (#51)
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 7a49b2f commit aee89c5

5 files changed

Lines changed: 16 additions & 13 deletions

File tree

.github/workflows/ci.yml

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,9 @@ on:
55
branches: [main, develop]
66
pull_request:
77
branches: [main, develop]
8+
permissions:
9+
contents: read
10+
811
jobs:
912
test:
1013
name: Test
@@ -17,7 +20,7 @@ jobs:
1720
- name: Checkout code
1821
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
1922
- name: Set up Python ${{ matrix.python-version }}
20-
uses: actions/setup-python@v6
23+
uses: actions/setup-python@ece7cb06caefa5fff74198d8649806c4678c61a1 # v6
2124
with:
2225
python-version: ${{ matrix.python-version }}
2326
- name: Cache pip packages
@@ -43,7 +46,7 @@ jobs:
4346
run: |
4447
pytest tests/ -v --cov=dicti0nary_attack --cov-report=xml --cov-report=term
4548
- name: Upload coverage to Codecov
46-
uses: codecov/codecov-action@v7
49+
uses: codecov/codecov-action@fb8b3582c8e4def4969c97caa2f19720cb33a72f # v7
4750
with:
4851
file: ./coverage.xml
4952
fail_ci_if_error: false
@@ -55,7 +58,7 @@ jobs:
5558
- name: Checkout code
5659
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
5760
- name: Set up Python
58-
uses: actions/setup-python@v6
61+
uses: actions/setup-python@ece7cb06caefa5fff74198d8649806c4678c61a1 # v6
5962
with:
6063
python-version: '3.11'
6164
- name: Install dependencies
@@ -99,7 +102,7 @@ jobs:
99102
- name: Checkout code
100103
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
101104
- name: Set up Python
102-
uses: actions/setup-python@v6
105+
uses: actions/setup-python@ece7cb06caefa5fff74198d8649806c4678c61a1 # v6
103106
with:
104107
python-version: '3.11'
105108
- name: Install dependencies
@@ -118,7 +121,7 @@ jobs:
118121
- name: Checkout code
119122
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
120123
- name: Set up Python
121-
uses: actions/setup-python@v6
124+
uses: actions/setup-python@ece7cb06caefa5fff74198d8649806c4678c61a1 # v6
122125
with:
123126
python-version: '3.11'
124127
- name: Install dependencies

.github/workflows/governance.yml

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

1414
jobs:
1515
governance:
16-
uses: hyperpolymath/standards/.github/workflows/governance-reusable.yml@d7c22711e830e1f383846472f6e9b99debdb201e
16+
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
@@ -12,8 +12,8 @@ on:
1212

1313
permissions:
1414
contents: read
15-
security-events: read
15+
security-events: write
1616

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

.github/workflows/pages.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -19,9 +19,9 @@ jobs:
1919
image: ghcr.io/stefan-hoeck/idris2-pack@sha256:f0758996a931fb35d9ecb1de273c4d59dabe2a09b433afc7e357f65a08b7e1ff
2020
steps:
2121
- name: Checkout Site
22-
uses: actions/checkout@v4
22+
uses: actions/checkout@11d5960a326750d5838078e36cf38b85af677262 # v4
2323
- name: Checkout Ddraig SSG
24-
uses: actions/checkout@v4
24+
uses: actions/checkout@11d5960a326750d5838078e36cf38b85af677262 # v4
2525
with:
2626
repository: hyperpolymath/ddraig-ssg
2727
path: .ddraig-ssg
@@ -38,7 +38,7 @@ jobs:
3838
fi
3939
./.ddraig-ssg/build/exec/ddraig build src _site https://hyperpolymath.github.io/${GITHUB_REPOSITORY#*/}
4040
- name: Upload artifact
41-
uses: actions/upload-pages-artifact@v3
41+
uses: actions/upload-pages-artifact@56afc609e74202658d3ffba0e8f6dda462b719fa # v3
4242
with:
4343
path: '_site'
4444
deploy:
@@ -51,4 +51,4 @@ jobs:
5151
steps:
5252
- name: Deploy to GitHub Pages
5353
id: deployment
54-
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
@@ -13,7 +13,7 @@ permissions:
1313

1414
jobs:
1515
scorecard:
16-
uses: hyperpolymath/standards/.github/workflows/scorecard-reusable.yml@d7c22711e830e1f383846472f6e9b99debdb201e
16+
uses: hyperpolymath/standards/.github/workflows/scorecard-reusable.yml@81dbf2dd854b1444fd6236fa2352474383b2c2b9
1717
permissions:
1818
contents: read
1919
security-events: write

0 commit comments

Comments
 (0)