Skip to content

Commit aa55c7b

Browse files
authored
ci: pin GitHub Actions to SHA digests (fix zizmor unpinned-uses) (#372)
Pins all GitHub Actions workflow steps to full SHA digests, eliminating the `unpinned-uses` supply-chain risk identified by zizmor (23 findings fixed). Closes #371 ### Recommended next steps 1. Enable Dependabot for `github-actions` to keep pinned SHAs up-to-date automatically (a companion PR may be opened for this repo). 2. Add [zizmor-action](https://github.com/zizmorcore/zizmor-action?tab=readme-ov-file#usage-with-github-advanced-security-recommended) for continuous workflow security scanning in CI. --- _Generated by [ds-security-scanning](https://github.com/developmentseed/ds-security-scanning) zizmor-cli-unpinned-uses_
1 parent c36d930 commit aa55c7b

6 files changed

Lines changed: 23 additions & 23 deletions

File tree

.github/workflows/ci.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,8 @@ jobs:
1111
name: CI
1212
runs-on: ubuntu-latest
1313
steps:
14-
- uses: actions/checkout@v6
15-
- uses: actions/setup-node@v6
14+
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
15+
- uses: actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f # v6
1616
with:
1717
node-version-file: .node-version
1818
cache: 'yarn'

.github/workflows/deploy.yaml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -19,21 +19,21 @@ jobs:
1919
pages: write
2020
id-token: write
2121
steps:
22-
- uses: actions/checkout@v6
22+
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
2323
with:
2424
fetch-depth: 0
25-
- uses: actions/setup-node@v6
25+
- uses: actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f # v6
2626
with:
2727
node-version-file: .node-version
2828
cache: 'yarn'
2929
- name: Install
3030
run: yarn install
3131
- id: setup_pages
32-
uses: actions/configure-pages@v6
32+
uses: actions/configure-pages@45bfe0192ca1faeb007ade9deae92b16b8254a0d # v6
3333
- name: Build
3434
run: yarn build
3535
- name: Upload artifact
36-
uses: actions/upload-pages-artifact@v4
36+
uses: actions/upload-pages-artifact@7b1f4a764d45c48632c6b24a0339c27f5614fb0b # v4
3737
with:
3838
path: ./dist
3939
deploy:
@@ -49,4 +49,4 @@ jobs:
4949
runs-on: ubuntu-latest
5050
steps:
5151
- id: deployment
52-
uses: actions/deploy-pages@v5
52+
uses: actions/deploy-pages@cd2ce8fcbc39b97be8ca5fce6e763baed58fa128 # v5

.github/workflows/pr.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,6 @@ jobs:
1212
lint:
1313
runs-on: ubuntu-latest
1414
steps:
15-
- uses: ytanikin/pr-conventional-commits@1.5.2
15+
- uses: ytanikin/pr-conventional-commits@639145d78959c53c43112365837e3abd21ed67c1 # 1.5.2
1616
with:
1717
task_types: '["feat","fix","docs","test","ci","refactor","perf","chore","revert"]'

.github/workflows/preview-deploy.yaml

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -22,13 +22,13 @@ jobs:
2222
if: github.event.pull_request.head.repo.full_name == github.repository
2323
runs-on: ubuntu-latest
2424
steps:
25-
- uses: actions/checkout@v6
26-
- uses: actions/setup-node@v6
25+
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
26+
- uses: actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f # v6
2727
with:
2828
node-version-file: ".node-version"
2929
cache: "yarn"
3030
- name: Post building comment
31-
uses: actions/github-script@v8
31+
uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8
3232
with:
3333
script: |
3434
const { createDeployingComment } = require('./.github/workflows/github-pr-update.cjs')
@@ -38,25 +38,25 @@ jobs:
3838
- name: Build
3939
run: yarn build-preview
4040
- name: Post error comment
41-
uses: actions/github-script@v8
41+
uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8
4242
if: failure()
4343
with:
4444
script: |
4545
const { createFailedComment } = require('./.github/workflows/github-pr-update.cjs')
4646
await createFailedComment({ github, context, core })
47-
- uses: actions/upload-artifact@v7
47+
- uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7
4848
with:
4949
path: ${{ env.DIST_DIRECTORY }}
5050
deploy:
5151
runs-on: ubuntu-latest
5252
needs: build
5353
steps:
54-
- uses: actions/checkout@v6
55-
- uses: aws-actions/configure-aws-credentials@v6
54+
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
55+
- uses: aws-actions/configure-aws-credentials@8df5847569e6427dd6c4fb1cf565c83acfa8afa7 # v6
5656
with:
5757
role-to-assume: ${{ env.AWS_ROLE_ARN }}
5858
aws-region: ${{ env.AWS_REGION }}
59-
- uses: actions/download-artifact@v8
59+
- uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8
6060
with:
6161
path: ${{ env.DIST_DIRECTORY }}
6262
- name: Check if bucket exists
@@ -105,14 +105,14 @@ jobs:
105105
}' > bucket-policy.json
106106
aws s3api put-bucket-policy --bucket ${{ env.BUCKET_NAME }} --policy file://bucket-policy.json
107107
- name: Post comment with preview URL
108-
uses: actions/github-script@v8
108+
uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8
109109
if: success()
110110
with:
111111
script: |
112112
const { createSuccessComment } = require('./.github/workflows/github-pr-update.cjs')
113113
await createSuccessComment({ github, context, core })
114114
- name: Post error comment
115-
uses: actions/github-script@v8
115+
uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8
116116
if: failure()
117117
with:
118118
script: |

.github/workflows/preview-remove.yaml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,8 @@ jobs:
2020
if: github.event.pull_request.head.repo.full_name == github.repository
2121
runs-on: ubuntu-latest
2222
steps:
23-
- uses: actions/checkout@v6
24-
- uses: aws-actions/configure-aws-credentials@v6
23+
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
24+
- uses: aws-actions/configure-aws-credentials@8df5847569e6427dd6c4fb1cf565c83acfa8afa7 # v6
2525
with:
2626
role-to-assume: ${{ env.AWS_ROLE_ARN }}
2727
aws-region: ${{ env.AWS_REGION }}
@@ -44,7 +44,7 @@ jobs:
4444
run: |
4545
aws s3 rb s3://$BUCKET_NAME
4646
- name: Remove PR comment
47-
uses: actions/github-script@v8
47+
uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8
4848
if: success()
4949
with:
5050
script: |

.github/workflows/release-please.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,12 +14,12 @@ jobs:
1414
release-please:
1515
runs-on: ubuntu-latest
1616
steps:
17-
- uses: actions/create-github-app-token@v3
17+
- uses: actions/create-github-app-token@f8d387b68d61c58ab83c6c016672934102569859 # v3
1818
id: generate-token
1919
with:
2020
app-id: ${{ secrets.DS_RELEASE_BOT_ID }}
2121
private-key: ${{ secrets.DS_RELEASE_BOT_PRIVATE_KEY }}
22-
- uses: googleapis/release-please-action@v4
22+
- uses: googleapis/release-please-action@16a9c90856f42705d54a6fda1823352bdc62cf38 # v4
2323
id: release-please
2424
with:
2525
token: ${{ steps.generate-token.outputs.token }}

0 commit comments

Comments
 (0)