Skip to content

Commit 4065653

Browse files
aledbfclaude
andcommitted
ci: pin every action to a commit SHA
The org is turning on sha_pinning_required: a tag can be moved to code nobody reviewed, a SHA cannot. The tag stays as a comment so Dependabot and a reader still see the version. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
1 parent 506716d commit 4065653

4 files changed

Lines changed: 59 additions & 59 deletions

File tree

‎.github/actions/setup-parity-runtime/action.yml‎

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,13 +14,13 @@ inputs:
1414
runs:
1515
using: composite
1616
steps:
17-
- uses: actions/setup-go@v7
17+
- uses: actions/setup-go@b7ad1dad31e06c5925ef5d2fc7ad053ef454303e # v7
1818
with:
1919
go-version-file: go.mod
20-
- uses: actions/setup-node@v7
20+
- uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7
2121
with:
2222
node-version: "24"
23-
- uses: go-task/setup-task@v2
23+
- uses: go-task/setup-task@a00fbb05ce67b35648be3c78cbc9fd85354c757e # v2
2424
with:
2525
version: 3.x
2626
repo-token: ${{ inputs.repo-token }}

‎.github/workflows/codeql.yml‎

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -49,11 +49,11 @@ jobs:
4949
build-mode: autobuild
5050
steps:
5151
- name: Checkout repository
52-
uses: actions/checkout@v7
52+
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7
5353

5454
# Initializes the CodeQL tools for scanning.
5555
- name: Initialize CodeQL
56-
uses: github/codeql-action/init@v4
56+
uses: github/codeql-action/init@2892aa5e19bbd11bc0cff5427e3b750a04d9e3c2 # v4
5757
with:
5858
languages: ${{ matrix.language }}
5959
build-mode: ${{ matrix.build-mode }}
@@ -77,6 +77,6 @@ jobs:
7777
exit 1
7878
7979
- name: Perform CodeQL Analysis
80-
uses: github/codeql-action/analyze@v4
80+
uses: github/codeql-action/analyze@2892aa5e19bbd11bc0cff5427e3b750a04d9e3c2 # v4
8181
with:
8282
category: "/language:${{matrix.language}}"

‎.github/workflows/go-cli.yml‎

Lines changed: 30 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -25,11 +25,11 @@ jobs:
2525
permissions:
2626
contents: read
2727
steps:
28-
- uses: actions/checkout@v7
29-
- uses: actions/setup-go@v7
28+
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7
29+
- uses: actions/setup-go@b7ad1dad31e06c5925ef5d2fc7ad053ef454303e # v7
3030
with:
3131
go-version-file: go.mod
32-
- uses: go-task/setup-task@v2
32+
- uses: go-task/setup-task@a00fbb05ce67b35648be3c78cbc9fd85354c757e # v2
3333
with:
3434
version: 3.x
3535
repo-token: ${{ secrets.GITHUB_TOKEN }}
@@ -47,7 +47,7 @@ jobs:
4747
- run: ./devcontainer --version
4848

4949
# Binary covdata for the cross-lane merge (coverage-report job).
50-
- uses: actions/upload-artifact@v7
50+
- uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7
5151
if: always()
5252
with:
5353
name: covdata-unit
@@ -58,11 +58,11 @@ jobs:
5858
runs-on: blacksmith-4vcpu-ubuntu-2404
5959
needs: lint-and-test
6060
steps:
61-
- uses: actions/checkout@v7
62-
- uses: actions/setup-go@v7
61+
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7
62+
- uses: actions/setup-go@b7ad1dad31e06c5925ef5d2fc7ad053ef454303e # v7
6363
with:
6464
go-version-file: go.mod
65-
- uses: go-task/setup-task@v2
65+
- uses: go-task/setup-task@a00fbb05ce67b35648be3c78cbc9fd85354c757e # v2
6666
with:
6767
version: 3.x
6868
repo-token: ${{ secrets.GITHUB_TOKEN }}
@@ -71,7 +71,7 @@ jobs:
7171
- name: Coverage summary
7272
if: always()
7373
run: go run ./cmd/devtool coverage-report artifacts/coverage/data/e2e "e2e" >> "$GITHUB_STEP_SUMMARY"
74-
- uses: actions/upload-artifact@v7
74+
- uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7
7575
if: always()
7676
with:
7777
name: covdata-e2e
@@ -86,16 +86,16 @@ jobs:
8686
runs-on: blacksmith-4vcpu-ubuntu-2404
8787
needs: lint-and-test
8888
steps:
89-
- uses: actions/checkout@v7
89+
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7
9090
with:
9191
submodules: recursive
92-
- uses: actions/setup-go@v7
92+
- uses: actions/setup-go@b7ad1dad31e06c5925ef5d2fc7ad053ef454303e # v7
9393
with:
9494
go-version-file: go.mod
95-
- uses: actions/setup-node@v7
95+
- uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7
9696
with:
9797
node-version: "20"
98-
- uses: go-task/setup-task@v2
98+
- uses: go-task/setup-task@a00fbb05ce67b35648be3c78cbc9fd85354c757e # v2
9999
with:
100100
version: 3.x
101101
repo-token: ${{ secrets.GITHUB_TOKEN }}
@@ -114,13 +114,13 @@ jobs:
114114
run: |
115115
mkdir -p artifacts
116116
git -C reference rev-parse HEAD > artifacts/reference-commit.txt
117-
- uses: actions/upload-artifact@v7
117+
- uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7
118118
if: always()
119119
with:
120120
name: parity-contract-network-v0.89.0
121121
path: artifacts/
122122
if-no-files-found: error
123-
- uses: actions/upload-artifact@v7
123+
- uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7
124124
if: always()
125125
with:
126126
name: covdata-contract
@@ -137,8 +137,8 @@ jobs:
137137
outputs:
138138
run: ${{ steps.check.outputs.run }}
139139
steps:
140-
- uses: actions/checkout@v7
141-
- uses: actions/setup-go@v7
140+
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7
141+
- uses: actions/setup-go@b7ad1dad31e06c5925ef5d2fc7ad053ef454303e # v7
142142
with:
143143
go-version-file: go.mod
144144
- id: check
@@ -182,13 +182,13 @@ jobs:
182182
PARITY_SHARD_INDEX: ${{ matrix.shard }}
183183
PARITY_SHARD_TOTAL: "4"
184184
steps:
185-
- uses: actions/checkout@v7
185+
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7
186186
with:
187187
submodules: recursive
188188
# Full history so the push/PR diff base is present for the affected mapping.
189189
fetch-depth: 0
190190
# devtool (the affected mapping) runs before the composite setup, so Go here.
191-
- uses: actions/setup-go@v7
191+
- uses: actions/setup-go@b7ad1dad31e06c5925ef5d2fc7ad053ef454303e # v7
192192
with:
193193
go-version-file: go.mod
194194
- name: Plan this run
@@ -227,14 +227,14 @@ jobs:
227227
run: |
228228
mkdir -p artifacts
229229
git -C reference rev-parse HEAD > artifacts/reference-commit.txt
230-
- uses: actions/upload-artifact@v7
230+
- uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7
231231
if: always() && steps.plan.outputs.run == 'true'
232232
with:
233233
name: parity-runtime-v0.89.0-shard-${{ matrix.shard }}
234234
path: artifacts/
235235
if-no-files-found: error
236236
# daily only: covdata slice for the cross-lane merge (distinct name per shard).
237-
- uses: actions/upload-artifact@v7
237+
- uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7
238238
if: always() && steps.plan.outputs.run == 'true' && (github.event_name == 'schedule' || github.event_name == 'workflow_dispatch')
239239
with:
240240
name: covdata-runtime-shard-${{ matrix.shard }}
@@ -250,7 +250,7 @@ jobs:
250250
if: needs.daily-changes.outputs.run == 'true'
251251
runs-on: blacksmith-4vcpu-ubuntu-2404
252252
steps:
253-
- uses: actions/checkout@v7
253+
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7
254254
with:
255255
submodules: recursive
256256
- uses: ./.github/actions/setup-parity-runtime
@@ -260,7 +260,7 @@ jobs:
260260
- name: Coverage summary
261261
if: always()
262262
run: go run ./cmd/devtool coverage-report artifacts/coverage/data/publish "parity:publish" >> "$GITHUB_STEP_SUMMARY"
263-
- uses: actions/upload-artifact@v7
263+
- uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7
264264
if: always()
265265
with:
266266
name: covdata-publish
@@ -279,16 +279,16 @@ jobs:
279279
runs-on: blacksmith-4vcpu-ubuntu-2404
280280
needs: [lint-and-test, e2e, parity, parity-runtime, parity-publish-full]
281281
steps:
282-
- uses: actions/checkout@v7
283-
- uses: actions/setup-go@v7
282+
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7
283+
- uses: actions/setup-go@b7ad1dad31e06c5925ef5d2fc7ad053ef454303e # v7
284284
with:
285285
go-version-file: go.mod
286-
- uses: go-task/setup-task@v2
286+
- uses: go-task/setup-task@a00fbb05ce67b35648be3c78cbc9fd85354c757e # v2
287287
with:
288288
version: 3.x
289289
repo-token: ${{ secrets.GITHUB_TOKEN }}
290290
- name: Download all lane covdata
291-
uses: actions/download-artifact@v8
291+
uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8
292292
with:
293293
pattern: covdata-*
294294
path: artifacts/coverage/data
@@ -301,7 +301,7 @@ jobs:
301301
ls -R . || true
302302
- name: Merged coverage report
303303
run: task coverage:merge | tee -a "$GITHUB_STEP_SUMMARY"
304-
- uses: actions/upload-artifact@v7
304+
- uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7
305305
with:
306306
name: covdata-merged
307307
path: artifacts/coverage/data/merged.out
@@ -324,11 +324,11 @@ jobs:
324324
runs-on: blacksmith-4vcpu-ubuntu-2404
325325
needs: lint-and-test
326326
steps:
327-
- uses: actions/checkout@v7
328-
- uses: actions/setup-go@v7
327+
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7
328+
- uses: actions/setup-go@b7ad1dad31e06c5925ef5d2fc7ad053ef454303e # v7
329329
with:
330330
go-version-file: go.mod
331-
- uses: go-task/setup-task@v2
331+
- uses: go-task/setup-task@a00fbb05ce67b35648be3c78cbc9fd85354c757e # v2
332332
with:
333333
version: 3.x
334334
repo-token: ${{ secrets.GITHUB_TOKEN }}

‎.github/workflows/release.yml‎

Lines changed: 23 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ jobs:
3232
tag: ${{ steps.resolve.outputs.tag }}
3333
sha: ${{ steps.resolve.outputs.sha }}
3434
steps:
35-
- uses: actions/checkout@v7
35+
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7
3636
with:
3737
fetch-depth: 0
3838
- id: resolve
@@ -79,17 +79,17 @@ jobs:
7979
runs-on: blacksmith-4vcpu-ubuntu-2404
8080
needs: prepare
8181
steps:
82-
- uses: actions/checkout@v7
82+
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7
8383
with:
8484
ref: ${{ needs.prepare.outputs.sha }}
8585
submodules: recursive
86-
- uses: actions/setup-go@v7
86+
- uses: actions/setup-go@b7ad1dad31e06c5925ef5d2fc7ad053ef454303e # v7
8787
with:
8888
go-version-file: go.mod
89-
- uses: actions/setup-node@v7
89+
- uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7
9090
with:
9191
node-version: "20"
92-
- uses: go-task/setup-task@v2
92+
- uses: go-task/setup-task@a00fbb05ce67b35648be3c78cbc9fd85354c757e # v2
9393
with:
9494
version: 3.x
9595
repo-token: ${{ secrets.GITHUB_TOKEN }}
@@ -109,17 +109,17 @@ jobs:
109109
runs-on: blacksmith-4vcpu-ubuntu-2404
110110
needs: prepare
111111
steps:
112-
- uses: actions/checkout@v7
112+
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7
113113
with:
114114
ref: ${{ needs.prepare.outputs.sha }}
115115
submodules: recursive
116-
- uses: actions/setup-go@v7
116+
- uses: actions/setup-go@b7ad1dad31e06c5925ef5d2fc7ad053ef454303e # v7
117117
with:
118118
go-version-file: go.mod
119-
- uses: actions/setup-node@v7
119+
- uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7
120120
with:
121121
node-version: "20"
122-
- uses: go-task/setup-task@v2
122+
- uses: go-task/setup-task@a00fbb05ce67b35648be3c78cbc9fd85354c757e # v2
123123
with:
124124
version: 3.x
125125
repo-token: ${{ secrets.GITHUB_TOKEN }}
@@ -148,7 +148,7 @@ jobs:
148148
needs: [prepare, gate, gate-runtime]
149149
if: github.event_name == 'workflow_dispatch'
150150
steps:
151-
- uses: actions/checkout@v7
151+
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7
152152
with:
153153
ref: ${{ needs.prepare.outputs.sha }}
154154
fetch-depth: 0
@@ -178,35 +178,35 @@ jobs:
178178
packages: write
179179
id-token: write
180180
steps:
181-
- uses: actions/checkout@v7
181+
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7
182182
with:
183183
# Build at the tag so GoReleaser runs in release (not snapshot) mode.
184184
ref: ${{ needs.prepare.outputs.tag }}
185185
fetch-depth: 0
186-
- uses: actions/setup-go@v7
186+
- uses: actions/setup-go@b7ad1dad31e06c5925ef5d2fc7ad053ef454303e # v7
187187
with:
188188
go-version-file: go.mod
189189

190190
# syft powers the sboms: block in .goreleaser.yml and the image SBOM below.
191-
- uses: anchore/sbom-action/download-syft@v0
191+
- uses: anchore/sbom-action/download-syft@e22c389904149dbc22b58101806040fa8d37a610 # v0
192192

193193
# Multi-arch image build (arm64 emulated) + buildx driver for the
194194
# dockers:/docker_manifests: blocks in .goreleaser.yml.
195-
- uses: docker/setup-qemu-action@v4
195+
- uses: docker/setup-qemu-action@99012661954931238ded8c8b007157a8430204e1 # v4
196196
- name: Setup Blacksmith Builder
197-
uses: useblacksmith/setup-docker-builder@v2
197+
uses: useblacksmith/setup-docker-builder@19215110ab936351210feebdfa5b440b4493e184 # v2
198198

199199
# GHCR login. Only reached on the tag path (this workflow is push.tags),
200200
# never on PRs, so images are pushed exclusively from an approved tag run.
201-
- uses: docker/login-action@v4
201+
- uses: docker/login-action@dbcb813823bdd20940b903addbd779551569679f # v4
202202
with:
203203
registry: ghcr.io
204204
username: ${{ github.actor }}
205205
password: ${{ secrets.GITHUB_TOKEN }}
206206

207-
- uses: sigstore/cosign-installer@v3
207+
- uses: sigstore/cosign-installer@398d4b0eeef1380460a10c8013a76f728fb906ac # v3
208208

209-
- uses: goreleaser/goreleaser-action@v7
209+
- uses: goreleaser/goreleaser-action@f06c13b6b1a9625abc9e6e439d9c05a8f2190e94 # v7
210210
with:
211211
distribution: goreleaser
212212
version: "~> v2"
@@ -275,25 +275,25 @@ jobs:
275275
needs: [prepare, goreleaser]
276276
continue-on-error: true
277277
steps:
278-
- uses: actions/checkout@v7
278+
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7
279279
with:
280280
ref: ${{ needs.prepare.outputs.tag }}
281281
submodules: recursive
282-
- uses: actions/setup-go@v7
282+
- uses: actions/setup-go@b7ad1dad31e06c5925ef5d2fc7ad053ef454303e # v7
283283
with:
284284
go-version-file: go.mod
285-
- uses: actions/setup-node@v7
285+
- uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7
286286
with:
287287
node-version: "20"
288-
- uses: go-task/setup-task@v2
288+
- uses: go-task/setup-task@a00fbb05ce67b35648be3c78cbc9fd85354c757e # v2
289289
with:
290290
version: 3.x
291291
repo-token: ${{ secrets.GITHUB_TOKEN }}
292292

293293
- run: task build:cross
294294
- run: task reference
295295
- run: task metrics
296-
- uses: actions/upload-artifact@v7
296+
- uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7
297297
if: always()
298298
with:
299299
name: metrics

0 commit comments

Comments
 (0)