Skip to content

Commit 852ff8d

Browse files
committed
chore: pin GitHub Actions to exact commit SHAs in release.yml
Use dist's github-action-commits config to pin actions/checkout, actions/upload-artifact, and actions/download-artifact to specific commit SHAs, satisfying the security policy requirement.
1 parent 1e4ab73 commit 852ff8d

File tree

2 files changed

+22
-16
lines changed

2 files changed

+22
-16
lines changed

.github/workflows/release.yml

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ jobs:
5656
env:
5757
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
5858
steps:
59-
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
59+
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd
6060
with:
6161
persist-credentials: false
6262
submodules: recursive
@@ -66,7 +66,7 @@ jobs:
6666
shell: bash
6767
run: "curl --proto '=https' --tlsv1.2 -LsSf https://github.com/axodotdev/cargo-dist/releases/download/v0.31.0/cargo-dist-installer.sh | sh"
6868
- name: Cache dist
69-
uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6
69+
uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f
7070
with:
7171
name: cargo-dist-cache
7272
path: ~/.cargo/bin/dist
@@ -82,7 +82,7 @@ jobs:
8282
cat plan-dist-manifest.json
8383
echo "manifest=$(jq -c "." plan-dist-manifest.json)" >> "$GITHUB_OUTPUT"
8484
- name: "Upload dist-manifest.json"
85-
uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6
85+
uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f
8686
with:
8787
name: artifacts-plan-dist-manifest
8888
path: plan-dist-manifest.json
@@ -116,7 +116,7 @@ jobs:
116116
- name: enable windows longpaths
117117
run: |
118118
git config --global core.longpaths true
119-
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
119+
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd
120120
with:
121121
persist-credentials: false
122122
submodules: recursive
@@ -131,7 +131,7 @@ jobs:
131131
run: ${{ matrix.install_dist.run }}
132132
# Get the dist-manifest
133133
- name: Fetch local artifacts
134-
uses: actions/download-artifact@37930b1c2abaa49bbe596cd826c3c89aef350131 # v7
134+
uses: actions/download-artifact@37930b1c2abaa49bbe596cd826c3c89aef350131
135135
with:
136136
pattern: artifacts-*
137137
path: target/distrib/
@@ -158,7 +158,7 @@ jobs:
158158
159159
cp dist-manifest.json "$BUILD_MANIFEST_NAME"
160160
- name: "Upload artifacts"
161-
uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6
161+
uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f
162162
with:
163163
name: artifacts-build-local-${{ join(matrix.targets, '_') }}
164164
path: |
@@ -175,19 +175,19 @@ jobs:
175175
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
176176
BUILD_MANIFEST_NAME: target/distrib/global-dist-manifest.json
177177
steps:
178-
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
178+
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd
179179
with:
180180
persist-credentials: false
181181
submodules: recursive
182182
- name: Install cached dist
183-
uses: actions/download-artifact@37930b1c2abaa49bbe596cd826c3c89aef350131 # v7
183+
uses: actions/download-artifact@37930b1c2abaa49bbe596cd826c3c89aef350131
184184
with:
185185
name: cargo-dist-cache
186186
path: ~/.cargo/bin/
187187
- run: chmod +x ~/.cargo/bin/dist
188188
# Get all the local artifacts for the global tasks to use (for e.g. checksums)
189189
- name: Fetch local artifacts
190-
uses: actions/download-artifact@37930b1c2abaa49bbe596cd826c3c89aef350131 # v7
190+
uses: actions/download-artifact@37930b1c2abaa49bbe596cd826c3c89aef350131
191191
with:
192192
pattern: artifacts-*
193193
path: target/distrib/
@@ -205,7 +205,7 @@ jobs:
205205
206206
cp dist-manifest.json "$BUILD_MANIFEST_NAME"
207207
- name: "Upload artifacts"
208-
uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6
208+
uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f
209209
with:
210210
name: artifacts-build-global
211211
path: |
@@ -225,19 +225,19 @@ jobs:
225225
outputs:
226226
val: ${{ steps.host.outputs.manifest }}
227227
steps:
228-
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
228+
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd
229229
with:
230230
persist-credentials: false
231231
submodules: recursive
232232
- name: Install cached dist
233-
uses: actions/download-artifact@37930b1c2abaa49bbe596cd826c3c89aef350131 # v7
233+
uses: actions/download-artifact@37930b1c2abaa49bbe596cd826c3c89aef350131
234234
with:
235235
name: cargo-dist-cache
236236
path: ~/.cargo/bin/
237237
- run: chmod +x ~/.cargo/bin/dist
238238
# Fetch artifacts from scratch-storage
239239
- name: Fetch artifacts
240-
uses: actions/download-artifact@37930b1c2abaa49bbe596cd826c3c89aef350131 # v7
240+
uses: actions/download-artifact@37930b1c2abaa49bbe596cd826c3c89aef350131
241241
with:
242242
pattern: artifacts-*
243243
path: target/distrib/
@@ -250,14 +250,14 @@ jobs:
250250
cat dist-manifest.json
251251
echo "manifest=$(jq -c "." dist-manifest.json)" >> "$GITHUB_OUTPUT"
252252
- name: "Upload dist-manifest.json"
253-
uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6
253+
uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f
254254
with:
255255
# Overwrite the previous copy
256256
name: artifacts-dist-manifest
257257
path: dist-manifest.json
258258
# Create a GitHub Release while uploading all files to it
259259
- name: "Download GitHub Artifacts"
260-
uses: actions/download-artifact@37930b1c2abaa49bbe596cd826c3c89aef350131 # v7
260+
uses: actions/download-artifact@37930b1c2abaa49bbe596cd826c3c89aef350131
261261
with:
262262
pattern: artifacts-*
263263
path: artifacts
@@ -290,7 +290,7 @@ jobs:
290290
env:
291291
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
292292
steps:
293-
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
293+
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd
294294
with:
295295
persist-credentials: false
296296
submodules: recursive

dist-workspace.toml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,5 +16,11 @@ install-path = "CARGO_HOME"
1616
# Whether to install an updater program
1717
install-updater = true
1818

19+
# Pin GitHub Actions to exact commit SHAs in the generated release.yml (required by security policy)
20+
[dist.github-action-commits]
21+
"actions/checkout" = "de0fac2e4500dabe0009e67214ff5f5447ce83dd" # v6.0.2
22+
"actions/upload-artifact" = "b7c566a772e6b6bfb58ed0dc250532a479d7789f" # v6.0.0
23+
"actions/download-artifact" = "37930b1c2abaa49bbe596cd826c3c89aef350131" # v7.0.0
24+
1925
[dist.dependencies.apt]
2026
libdbus-1-dev = '*' # required by libdbus-sys introduced by keyring

0 commit comments

Comments
 (0)