Skip to content

Commit 9be6114

Browse files
hyperpolymathclaude
andcommitted
fix(ci): unbreak workflow YAML and add a complete actions.lock
Remediates GitHub Workflow Dependency Locking (public preview), which rejects runs at startup_failure with zero jobs and no logs. See hyperpolymath/standards#657. Five steps, in order, because each blocks the next: 1. Unbroke any workflow whose `permissions:` carried a scalar with an indented mapping under it - blind-permissions-insertion damage. This matters beyond the one file: gh actions-lock refuses to run when ANY workflow in the repo fails to parse, so the repo could never acquire a lockfile and could never self-heal. 2. Repinned hyperpolymath/standards reusables off commits that have no actions.lock. The rejection requires the CALLEE to be covered at the pinned SHA, which is unsatisfiable at a pre-lockfile commit. 3. Generated the lockfile with gh actions-lock. 4. Hand-added the reusable-workflow caller entries the tool omits, as '<path>': []. Measured across 218 repos: P(startup_failure | has lockfile) = 91.7% vs 15.8% without, because every workflow a lockfile OMITS is rejected. A PARTIAL lock is worse than none - running gh actions-lock and stopping there is how this outage spread. 5. Restored SPDX-License-Identifier to line 1, which the tool displaces with its own banner and which the workflow-security linter greps with head -1. Verified before push: 0 unparseable workflows, lockfile covers every workflow with no omissions, SPDX on line 1 in every file. Proven on hyperpolymath/anamnesis: 6 of 6 workflows dead -> 0 startup_failure, 13 running. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
1 parent 337d799 commit 9be6114

22 files changed

Lines changed: 115 additions & 22 deletions

‎.github/workflows/actions.lock‎

Lines changed: 72 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3,29 +3,49 @@
33
# Docs: https://gh.io/actions-lockfile
44
version: 'v0.0.2'
55
workflows:
6+
'.github/workflows/governance.yml': []
7+
'.github/workflows/hypatia-scan.yml': []
8+
'.github/workflows/mirror.yml': []
9+
'.github/workflows/rust-ci.yml': []
10+
'.github/workflows/scorecard.yml': []
11+
'.github/workflows/secret-scanner.yml': []
612
'.github/workflows/boj-build.yml':
713
- 'actions/checkout@v4.1.7'
814
'.github/workflows/bridge-gate.yml':
915
- 'actions/checkout@v4.3.1'
10-
'.github/workflows/cargo-audit.yml': []
16+
'.github/workflows/cargo-audit.yml':
17+
- 'actions/checkout@v5.0.1'
18+
- 'dtolnay/rust-toolchain@v1'
1119
'.github/workflows/casket-pages.yml':
1220
- 'actions/cache@v4.3.0'
1321
- 'actions/checkout@v4.1.1'
1422
- 'actions/configure-pages@v5.0.0'
1523
- 'actions/deploy-pages@v4.0.5'
1624
- 'actions/upload-pages-artifact@v3.0.1'
1725
- 'haskell-actions/setup@v2.7.5'
18-
'.github/workflows/chapel-ci.yml': []
26+
'.github/workflows/chapel-ci.yml':
27+
- 'actions/cache@v4.3.0'
28+
- 'actions/checkout@v6.0.2'
29+
- 'actions/download-artifact@v4.1.8'
30+
- 'actions/upload-artifact@v4.6.2'
31+
- 'dtolnay/rust-toolchain@v1'
1932
'.github/workflows/codeql.yml':
2033
- 'actions/checkout@v6.0.2'
2134
- 'github/codeql-action@v4.34.0'
22-
'.github/workflows/coverage.yml': []
35+
'.github/workflows/coverage.yml':
36+
- 'actions/checkout@v5.0.1'
37+
- 'codecov/codecov-action@v5.5.2'
38+
- 'dtolnay/rust-toolchain@v1'
2339
'.github/workflows/dependency-review.yml':
2440
- 'actions/checkout@v5.0.1'
2541
- 'actions/dependency-review-action@v4.3.4'
2642
'.github/workflows/dogfood-gate.yml':
2743
- 'actions/checkout@v4.3.1'
28-
'.github/workflows/e2e.yml': []
44+
'.github/workflows/e2e.yml':
45+
- 'actions/checkout@v4.3.1'
46+
- 'actions/upload-artifact@v4.6.2'
47+
- 'dtolnay/rust-toolchain@v1'
48+
- 'swatinem/rust-cache@v2.8.2'
2949
'.github/workflows/instant-sync.yml':
3050
- 'peter-evans/repository-dispatch@v4.0.1'
3151
'.github/workflows/pages.yml':
@@ -34,8 +54,17 @@ workflows:
3454
- 'actions/upload-pages-artifact@v3.0.1'
3555
'.github/workflows/push-email-notify.yml':
3656
- 'dawidd6/action-send-mail@v3.12.0'
37-
'.github/workflows/release.yml': []
38-
'.github/workflows/scan-and-report.yml': []
57+
'.github/workflows/release.yml':
58+
- 'actions/checkout@v5.0.1'
59+
- 'actions/download-artifact@v4.1.8'
60+
- 'actions/upload-artifact@v4.6.2'
61+
- 'dtolnay/rust-toolchain@v1'
62+
- 'softprops/action-gh-release@v2.5.0'
63+
- 'swatinem/rust-cache@v2.8.2'
64+
'.github/workflows/scan-and-report.yml':
65+
- 'actions/checkout@v4.3.1'
66+
- 'dtolnay/rust-toolchain@v1'
67+
- 'swatinem/rust-cache@v2.8.2'
3968
dependencies:
4069
'actions/cache@v4.3.0':
4170
ref: 'v4.3.0'
@@ -87,23 +116,50 @@ dependencies:
87116
commit: 'sha1-d6db90164ac5ed86f2b6aed7e0febac5b3c0c03e'
88117
owner_id: 44036562
89118
repo_id: 438112499
119+
'actions/download-artifact@v4.1.8':
120+
ref: 'v4.1.8'
121+
commit: 'sha1-fa0a91b85d4f404e444e00e005971372dc801d16'
122+
owner_id: 44036562
123+
repo_id: 192626254
124+
'actions/github-script@60a0d83039c74a4aee543508d2ffcb1c3799cdea':
125+
ref: 'v7.0.1'
126+
commit: 'sha1-60a0d83039c74a4aee543508d2ffcb1c3799cdea'
127+
owner_id: 44036562
128+
repo_id: 205262760
90129
'actions/upload-artifact@v4':
91130
ref: 'v4'
92131
commit: 'sha1-ea165f8d65b6e75b540449e92b4886f43607fa02'
93132
owner_id: 44036562
94133
repo_id: 192625955
134+
'actions/upload-artifact@v4.6.2':
135+
ref: 'v4.6.2'
136+
commit: 'sha1-ea165f8d65b6e75b540449e92b4886f43607fa02'
137+
owner_id: 44036562
138+
repo_id: 192625955
95139
'actions/upload-pages-artifact@v3.0.1':
96140
ref: 'v3.0.1'
97141
commit: 'sha1-56afc609e74202658d3ffba0e8f6dda462b719fa'
98142
owner_id: 44036562
99143
repo_id: 496012378
100144
uses:
101145
- 'actions/upload-artifact@v4'
146+
'codecov/codecov-action@v5.5.2':
147+
ref: 'v5.5.2'
148+
commit: 'sha1-671740ac38dd9b0130fbe1cec585b89eea48d3de'
149+
owner_id: 8226205
150+
repo_id: 200299178
151+
uses:
152+
- 'actions/github-script@60a0d83039c74a4aee543508d2ffcb1c3799cdea'
102153
'dawidd6/action-send-mail@v3.12.0':
103154
ref: 'v3.12.0'
104155
commit: 'sha1-6e502825a508b867ab2954ad6343b68787624c01'
105156
owner_id: 9713907
106157
repo_id: 222439721
158+
'dtolnay/rust-toolchain@v1':
159+
ref: 'v1'
160+
commit: 'sha1-6c977a6ca4077a0ceb28ffbe03f59d46e9ac8772'
161+
owner_id: 1940490
162+
repo_id: 260749683
107163
'github/codeql-action@v4.34.0':
108164
ref: 'v4.34.0'
109165
commit: 'sha1-c6f931105cb2c34c8f901cc885ba1e2e259cf745'
@@ -119,3 +175,13 @@ dependencies:
119175
commit: 'sha1-28959ce8df70de7be546dd1250a005dd32156697'
120176
owner_id: 18365890
121177
repo_id: 220359305
178+
'softprops/action-gh-release@v2.5.0':
179+
ref: 'v2.5.0'
180+
commit: 'sha1-a06a81a03ee405af7f2048a818ed3f03bbf83c7b'
181+
owner_id: 2242
182+
repo_id: 204253808
183+
'swatinem/rust-cache@v2.8.2':
184+
ref: 'v2.8.2'
185+
commit: 'sha1-779680da715d629ac1d338a641029a2f4372abb5'
186+
owner_id: 580492
187+
repo_id: 298565987

‎.github/workflows/boj-build.yml‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
# SPDX-License-Identifier: MPL-2.0
22
# This workflow is managed by gh actions-lock.
3+
# This workflow is managed by gh actions-lock.
34
name: BoJ Server Build Trigger
45
on:
56
push:

‎.github/workflows/bridge-gate.yml‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
# SPDX-License-Identifier: MPL-2.0
22
# This workflow is managed by gh actions-lock.
3+
# This workflow is managed by gh actions-lock.
34
# Copyright (c) 2026 Jonathan D.A. Jewell <j.d.a.jewell@open.ac.uk>
45
#
56
# bridge-gate.yml -- merge-orchestration CVE/bump gate.

‎.github/workflows/cargo-audit.yml‎

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
# SPDX-License-Identifier: MPL-2.0
22
# This workflow is managed by gh actions-lock.
3+
# This workflow is managed by gh actions-lock.
34
name: Security Audit
45

56
on:
@@ -23,7 +24,7 @@ jobs:
2324
uses: actions/checkout@v5.0.1
2425

2526
- name: Install Rust toolchain
26-
uses: dtolnay/rust-toolchain@4be9e76fd7c4901c61fb841f559994984270fce7 # stable
27+
uses: dtolnay/rust-toolchain@v1
2728
with:
2829
toolchain: stable
2930

‎.github/workflows/casket-pages.yml‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
# SPDX-License-Identifier: MPL-2.0
22
# This workflow is managed by gh actions-lock.
3+
# This workflow is managed by gh actions-lock.
34
name: GitHub Pages
45

56
on:

‎.github/workflows/chapel-ci.yml‎

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
# SPDX-License-Identifier: MPL-2.0
22
# This workflow is managed by gh actions-lock.
3+
# This workflow is managed by gh actions-lock.
34
#
45
# chapel-ci — strict CI gates for the OPTIONAL Chapel mass-panic harness.
56
#
@@ -220,7 +221,7 @@ jobs:
220221
timeout-minutes: 45
221222
steps:
222223
- uses: actions/checkout@v6.0.2
223-
- uses: dtolnay/rust-toolchain@4be9e76fd7c4901c61fb841f559994984270fce7 # stable
224+
- uses: dtolnay/rust-toolchain@v1
224225
- uses: actions/cache@v4.3.0
225226
with:
226227
path: |
@@ -241,7 +242,7 @@ jobs:
241242
timeout-minutes: 45
242243
steps:
243244
- uses: actions/checkout@v6.0.2
244-
- uses: dtolnay/rust-toolchain@4be9e76fd7c4901c61fb841f559994984270fce7 # stable
245+
- uses: dtolnay/rust-toolchain@v1
245246
- uses: actions/cache@v4.3.0
246247
with:
247248
path: |

‎.github/workflows/codeql.yml‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
# SPDX-License-Identifier: MPL-2.0
22
# This workflow is managed by gh actions-lock.
3+
# This workflow is managed by gh actions-lock.
34
name: CodeQL Security Analysis
45

56
on:

‎.github/workflows/coverage.yml‎

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
# SPDX-License-Identifier: MPL-2.0
22
# This workflow is managed by gh actions-lock.
3+
# This workflow is managed by gh actions-lock.
34
name: Code Coverage
45

56
on:
@@ -21,7 +22,7 @@ jobs:
2122
uses: actions/checkout@v5.0.1
2223

2324
- name: Install Rust toolchain
24-
uses: dtolnay/rust-toolchain@4be9e76fd7c4901c61fb841f559994984270fce7 # stable
25+
uses: dtolnay/rust-toolchain@v1
2526
with:
2627
toolchain: stable
2728
components: llvm-tools-preview

‎.github/workflows/dependency-review.yml‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
# SPDX-License-Identifier: MPL-2.0
22
# This workflow is managed by gh actions-lock.
3+
# This workflow is managed by gh actions-lock.
34
name: Dependency Review
45

56
on:

‎.github/workflows/dogfood-gate.yml‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
# SPDX-License-Identifier: MPL-2.0
22
# This workflow is managed by gh actions-lock.
3+
# This workflow is managed by gh actions-lock.
34
# Copyright (c) 2026 Jonathan D.A. Jewell (hyperpolymath) <j.d.a.jewell@open.ac.uk>
45
#
56
# dogfood-gate.yml — Hyperpolymath Dogfooding Quality Gate

0 commit comments

Comments
 (0)