Skip to content

Commit d1b7b1a

Browse files
committed
fix(ci): pin third-party actions to full commit SHAs
The account's Actions policy requires a full-length SHA ref. A tag or branch ref is refused at startup — `startup_failure`, no jobs, "this workflow graph cannot be shown" — so these workflows could not run at all. This resolves each ref to the commit it currently points at and records the ref in a trailing comment, e.g. `actions/checkout@<sha> # v4`. `dtolnay/rust-toolchain` takes its toolchain from the ref itself, so those steps also gained an explicit `with: toolchain:` input; without it, a SHA ref would silently lose the channel. No behaviour is intended to change beyond the pins.
1 parent 594f536 commit d1b7b1a

17 files changed

Lines changed: 48 additions & 46 deletions

‎.github/workflows/affine-vscode-publish.yml‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ jobs:
3535
timeout-minutes: 10
3636
steps:
3737
- name: Checkout code
38-
uses: actions/checkout@v7.0.1
38+
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
3939
- name: Verify tag matches package version
4040
working-directory: packages/affine-vscode
4141
run: |

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

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -51,19 +51,19 @@ jobs:
5151
timeout-minutes: 10
5252
steps:
5353
- name: Checkout
54-
uses: actions/checkout@v7.0.1
54+
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
5555
- name: Checkout casket-ssg
56-
uses: actions/checkout@v7.0.1
56+
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
5757
with:
5858
repository: hyperpolymath/casket-ssg
5959
path: .casket-ssg
6060
- name: Setup GHCup
61-
uses: haskell-actions/setup@v2.12.0
61+
uses: haskell-actions/setup@6037f33647c3f17758a2356c80fc4a53d7e0685d # v2.12.0
6262
with:
6363
ghc-version: '9.8.2'
6464
cabal-version: '3.10'
6565
- name: Cache Cabal
66-
uses: actions/cache@v6.1.0
66+
uses: actions/cache@55cc8345863c7cc4c66a329aec7e433d2d1c52a9 # v6.1.0
6767
with:
6868
path: |
6969
~/.cabal/packages
@@ -104,7 +104,7 @@ jobs:
104104
fi
105105
cd .casket-ssg && cabal run casket-ssg -- build ../site ../_site
106106
- name: Setup Pages
107-
uses: actions/configure-pages@v6.0.0
107+
uses: actions/configure-pages@45bfe0192ca1faeb007ade9deae92b16b8254a0d # v6.0.0
108108
with:
109109
# Self-provision Pages on first run instead of failing with
110110
# 404 ("Get Pages site failed"). The repo had Pages disabled
@@ -115,7 +115,7 @@ jobs:
115115
# this.
116116
enablement: true
117117
- name: Upload artifact
118-
uses: actions/upload-pages-artifact@v5.0.0
118+
uses: actions/upload-pages-artifact@fc324d3547104276b827a68afc52ff2a11cc49c9 # v5.0.0
119119
with:
120120
path: '_site'
121121
deploy:
@@ -129,4 +129,4 @@ jobs:
129129
steps:
130130
- name: Deploy to GitHub Pages
131131
id: deployment
132-
uses: actions/deploy-pages@v5.0.1
132+
uses: actions/deploy-pages@368f82528645a54fb793d4d04e342629a3f51346 # v5.0.1

‎.github/workflows/ci.yml‎

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ jobs:
3636

3737
steps:
3838
- name: Checkout code
39-
uses: actions/checkout@v7.0.1
39+
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
4040
with:
4141
# Full history so the soundness-ledger gate (property 4) can resolve
4242
# :ground-truth-sha: and diff soundness paths against it. A shallow
@@ -53,7 +53,7 @@ jobs:
5353
|| opam switch create . ocaml-base-compiler.4.14.2 --no-install --yes
5454
opam exec -- ocaml -version
5555
- name: Set up Node.js
56-
uses: actions/setup-node@v7.0.0
56+
uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0
5757
with:
5858
node-version: "20"
5959
- name: Set up Bun
@@ -136,7 +136,7 @@ jobs:
136136

137137
steps:
138138
- name: Checkout code
139-
uses: actions/checkout@v7.0.1
139+
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
140140
- name: Set up OCaml toolchain (self-hosted; replaces ocaml/setup-ocaml)
141141
run: |
142142
sudo apt-get update
@@ -165,7 +165,7 @@ jobs:
165165

166166
steps:
167167
- name: Checkout code
168-
uses: actions/checkout@v7.0.1
168+
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
169169
- name: Set up OCaml toolchain (self-hosted; replaces ocaml/setup-ocaml)
170170
run: |
171171
sudo apt-get update
@@ -201,7 +201,7 @@ jobs:
201201
} >> "$GITHUB_STEP_SUMMARY"
202202
- name: Upload bench log
203203
if: always()
204-
uses: actions/upload-artifact@v7.0.1
204+
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
205205
with:
206206
name: bench-output
207207
path: bench-output.log
@@ -215,7 +215,7 @@ jobs:
215215

216216
steps:
217217
- name: Checkout code
218-
uses: actions/checkout@v7.0.1
218+
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
219219
- name: Set up OCaml toolchain (self-hosted; replaces ocaml/setup-ocaml)
220220
run: |
221221
sudo apt-get update
@@ -227,7 +227,7 @@ jobs:
227227
- name: Install dependencies
228228
run: opam install . --deps-only --with-test --with-doc --yes
229229
- name: Set up Node.js
230-
uses: actions/setup-node@v7.0.0
230+
uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0
231231
with:
232232
node-version: "20"
233233
- name: Install tree-sitter CLI (for res-to-affine walker tests)
@@ -264,7 +264,7 @@ jobs:
264264
} >> "$GITHUB_STEP_SUMMARY"
265265
- name: Upload coverage HTML
266266
if: always()
267-
uses: actions/upload-artifact@v7.0.1
267+
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
268268
with:
269269
name: coverage-html
270270
path: _coverage
@@ -289,9 +289,9 @@ jobs:
289289

290290
steps:
291291
- name: Checkout code
292-
uses: actions/checkout@v7.0.1
292+
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
293293
- name: Set up Node.js
294-
uses: actions/setup-node@v7.0.0
294+
uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0
295295
with:
296296
node-version: "20"
297297
- name: Install test runner dependencies
@@ -334,9 +334,9 @@ jobs:
334334

335335
steps:
336336
- name: Checkout code
337-
uses: actions/checkout@v7.0.1
337+
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
338338
- name: Set up Node.js
339-
uses: actions/setup-node@v7.0.0
339+
uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0
340340
with:
341341
node-version: "20"
342342
- name: Install tree-sitter CLI

‎.github/workflows/codeql.yml‎

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -37,13 +37,13 @@ jobs:
3737
build-mode: none
3838
steps:
3939
- name: Checkout
40-
uses: actions/checkout@v7.0.1
40+
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
4141
- name: Initialize CodeQL
42-
uses: github/codeql-action/init@v4.38.0
42+
uses: github/codeql-action/init@b96794f015dfd88f77b49b1c93e0fa7110f94c63 # v4.38.0
4343
with:
4444
languages: ${{ matrix.language }}
4545
build-mode: ${{ matrix.build-mode }}
4646
- name: Perform CodeQL Analysis
47-
uses: github/codeql-action/analyze@v4.38.0
47+
uses: github/codeql-action/analyze@b96794f015dfd88f77b49b1c93e0fa7110f94c63 # v4.38.0
4848
with:
4949
category: "/language:${{ matrix.language }}"

‎.github/workflows/coq-proof-gate.yml‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ jobs:
4444
image: coqorg/coq@sha256:e50d77c4c5a9aa0d76ae1b343d79c5f922da3a75054b79c5dc635895438e4674
4545
options: --user root
4646
steps:
47-
- uses: actions/checkout@v7.0.1
47+
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
4848

4949
# The coqorg images install Coq into an opam switch owned by the `coq`
5050
# user and put it on PATH via an ENTRYPOINT wrapper. GitHub Actions

‎.github/workflows/governance-baseline-impl.yml‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ jobs:
2727
timeout-minutes: 5
2828
steps:
2929
- name: Checkout
30-
uses: actions/checkout@v7.0.1
30+
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
3131
- name: Validate .hypatia-baseline.json (if present)
3232
run: |
3333
set -euo pipefail

‎.github/workflows/governance.yml‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ jobs:
2828
runs-on: ubuntu-latest
2929
steps:
3030
- name: Checkout code
31-
uses: actions/checkout@v7.0.1
31+
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
3232
with:
3333
fetch-depth: 0
3434
- name: Fetch base ref (DOC-FORMAT delta)

‎.github/workflows/instant-sync.yml‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ jobs:
2424
if: ${{ vars.FARM_DISPATCH_ENABLED == 'true' }}
2525
steps:
2626
- name: Trigger Propagation
27-
uses: peter-evans/repository-dispatch@v4.0.1
27+
uses: peter-evans/repository-dispatch@28959ce8df70de7be546dd1250a005dd32156697 # v4.0.1
2828
with:
2929
token: ${{ secrets.FARM_DISPATCH_TOKEN }}
3030
repository: hyperpolymath/.git-private-farm

‎.github/workflows/pages.yml‎

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -21,9 +21,9 @@ jobs:
2121
image: ghcr.io/stefan-hoeck/idris2-pack@sha256:f0758996a931fb35d9ecb1de273c4d59dabe2a09b433afc7e357f65a08b7e1ff
2222
steps:
2323
- name: Checkout Site
24-
uses: actions/checkout@v7.0.1
24+
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
2525
- name: Checkout Ddraig SSG
26-
uses: actions/checkout@v7.0.1
26+
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
2727
with:
2828
repository: hyperpolymath/ddraig-ssg
2929
path: .ddraig-ssg
@@ -40,7 +40,7 @@ jobs:
4040
fi
4141
./.ddraig-ssg/build/exec/ddraig build src _site https://hyperpolymath.github.io/${GITHUB_REPOSITORY#*/}
4242
- name: Upload artifact
43-
uses: actions/upload-pages-artifact@v5.0.0
43+
uses: actions/upload-pages-artifact@fc324d3547104276b827a68afc52ff2a11cc49c9 # v5.0.0
4444
with:
4545
path: '_site'
4646
deploy:
@@ -53,4 +53,4 @@ jobs:
5353
steps:
5454
- name: Deploy to GitHub Pages
5555
id: deployment
56-
uses: actions/deploy-pages@v5.0.1
56+
uses: actions/deploy-pages@368f82528645a54fb793d4d04e342629a3f51346 # v5.0.1

‎.github/workflows/panic-attack.yml‎

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -33,11 +33,13 @@ jobs:
3333
timeout-minutes: 10
3434
steps:
3535
- name: Checkout
36-
uses: actions/checkout@v7.0.1
36+
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
3737
with:
3838
persist-credentials: false
3939
- name: Install Rust toolchain (stable)
40-
uses: dtolnay/rust-toolchain@master
40+
uses: dtolnay/rust-toolchain@02cb101ec7c40f2c49e1d9714d64511d8e1b74de # master
41+
with:
42+
toolchain: master
4143
with:
4244
toolchain: stable
4345
- name: Install panic-attacker
@@ -80,7 +82,7 @@ jobs:
8082
} >> "$GITHUB_STEP_SUMMARY"
8183
- name: Upload log artifact
8284
if: always()
83-
uses: actions/upload-artifact@v7.0.1
85+
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
8486
with:
8587
name: panic-attack-log
8688
path: panic-attack.log

0 commit comments

Comments
 (0)