Skip to content

Commit d2d57ef

Browse files
committed
ci: pin third-party actions to commit SHAs and add least-privilege permissions (REQ-1.4.10)
- Pin all uses: refs across ci.yml, codeql.yml, compatibility.yml, pages.yml, pr-lint.yml, stale.yml to immutable commit SHAs with trailing # vX.Y.Z comments - codeql.yml, pr-lint.yml, and stale.yml already carried job-level least-privilege permissions blocks (added upstream since the plan's 2026-07-06 audit); no permissions changes were needed
1 parent 991c360 commit d2d57ef

6 files changed

Lines changed: 17 additions & 17 deletions

File tree

.github/workflows/ci.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,8 @@ jobs:
1818
matrix:
1919
os: [ubuntu-latest, windows-latest]
2020
steps:
21-
- uses: actions/checkout@v7
22-
- uses: actions/setup-node@v6
21+
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
22+
- uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0
2323
with:
2424
node-version: 22
2525
cache: npm

.github/workflows/codeql.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -19,12 +19,12 @@ jobs:
1919
language: [ 'typescript' ]
2020
steps:
2121
- name: Checkout repository
22-
uses: actions/checkout@v7
22+
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
2323
- name: Initialize CodeQL
24-
uses: github/codeql-action/init@v4
24+
uses: github/codeql-action/init@54f647b7e1bb85c95cddabcd46b0c578ec92bc1a # v4.36.3
2525
with:
2626
languages: ${{ matrix.language }}
2727
- name: Autobuild
28-
uses: github/codeql-action/autobuild@v4
28+
uses: github/codeql-action/autobuild@54f647b7e1bb85c95cddabcd46b0c578ec92bc1a # v4.36.3
2929
- name: Perform CodeQL Analysis
30-
uses: github/codeql-action/analyze@v4
30+
uses: github/codeql-action/analyze@54f647b7e1bb85c95cddabcd46b0c578ec92bc1a # v4.36.3

.github/workflows/compatibility.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,11 +20,11 @@ jobs:
2020
timeout-minutes: 10
2121
steps:
2222
- name: Check out proposed contracts
23-
uses: actions/checkout@v7
23+
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
2424
with:
2525
path: candidate
2626
fetch-depth: 0
27-
- uses: actions/setup-node@v6
27+
- uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0
2828
with:
2929
node-version: 22
3030
cache: npm
@@ -65,7 +65,7 @@ jobs:
6565
exit "$code"
6666
- name: Upload compatibility report
6767
if: always()
68-
uses: actions/upload-artifact@v7
68+
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
6969
with:
7070
name: compatibility-report
7171
path: candidate/compatibility-report.json

.github/workflows/pages.yml

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -20,13 +20,13 @@ jobs:
2020
runs-on: ubuntu-latest
2121
timeout-minutes: 15
2222
steps:
23-
- uses: actions/checkout@v7
23+
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
2424
with:
2525
fetch-depth: 0
26-
- uses: actions/setup-python@v6
26+
- uses: actions/setup-python@ece7cb06caefa5fff74198d8649806c4678c61a1 # v6.3.0
2727
with:
2828
python-version: 3.x
29-
- uses: actions/setup-node@v6
29+
- uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0
3030
with:
3131
node-version: 22
3232
cache: npm
@@ -63,8 +63,8 @@ jobs:
6363
rm -f registry/CNAME
6464
mkdir -p site/registry
6565
cp -R registry/. site/registry/
66-
- uses: actions/configure-pages@v6
67-
- uses: actions/upload-pages-artifact@v5
66+
- uses: actions/configure-pages@45bfe0192ca1faeb007ade9deae92b16b8254a0d # v6.0.0
67+
- uses: actions/upload-pages-artifact@fc324d3547104276b827a68afc52ff2a11cc49c9 # v5.0.0
6868
with:
6969
path: ./site
7070
deploy:
@@ -80,4 +80,4 @@ jobs:
8080
steps:
8181
- name: Deploy to GitHub Pages
8282
id: deployment
83-
uses: actions/deploy-pages@v5
83+
uses: actions/deploy-pages@cd2ce8fcbc39b97be8ca5fce6e763baed58fa128 # v5.0.0

.github/workflows/pr-lint.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,6 @@ jobs:
1414
permissions:
1515
pull-requests: read
1616
steps:
17-
- uses: amannn/action-semantic-pull-request@v6
17+
- uses: amannn/action-semantic-pull-request@48f256284bd46cdaab1048c3721360e808335d50 # v6.1.1
1818
env:
1919
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

.github/workflows/stale.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ jobs:
1111
issues: write
1212
pull-requests: write
1313
steps:
14-
- uses: actions/stale@v10
14+
- uses: actions/stale@eb5cf3af3ac0a1aa4c9c45633dd1ae542a27a899 # v10.3.0
1515
with:
1616
stale-issue-message: 'This issue is stale because it has been open 60 days with no activity.'
1717
stale-pr-message: 'This PR is stale because it has been open 60 days with no activity.'

0 commit comments

Comments
 (0)