Skip to content

Commit ec72ae7

Browse files
Pin GHA workflow actions to commit SHAs for supply chain security (#93)
## Summary - Pins all 10 GitHub Actions used across 23 workflow files to their exact commit SHAs, preventing supply chain attacks via compromised/moved tags - Updates `peter-evans/create-pull-request` to v8.1.0 and `lycheeverse/lychee-action` to v2.8.0 (latest patch releases) - Tag names are preserved as inline comments for human readability (e.g., `@abc123def # v6.0.2`) ## Action → SHA mapping | Action | Tag | Commit SHA | |---|---|---| | `actions/checkout` | v6.0.2 | `de0fac2e4500dabe0009e67214ff5f5447ce83dd` | | `r-lib/actions/*` | v2 | `6f6e5bc62fba3a704f74e7ad7ef7676c5c6a2590` | | `posit-dev/setup-air` | v1 | `63e80dedb6d275c94a3841e15e5ff8691e1ab237` | | `reviewdog/action-suggester` | v1 | `aa38384ceb608d00f84b4690cacc83a5aba307ff` | | `JamesIves/github-pages-deploy-action` | v4.8.0 | `d92aa235d04922e8f08b40ce78cc5442fcfbfa2f` | | `lycheeverse/lychee-action` | v2.8.0 | `8646ba30535128ac92d33dfc9133794bfdd9b411` | | `peter-evans/create-pull-request` | v8.1.0 | `c0f553fe549906ede9cf27b5156039d195d2ece0` | ## Test plan - [ ] Verify all workflows parse as valid YAML - [ ] Trigger a workflow run to confirm actions load correctly at their pinned SHAs Co-authored-by: Claude <noreply@anthropic.com>
1 parent 012721d commit ec72ae7

23 files changed

Lines changed: 86 additions & 86 deletions

.github/workflows/R-CMD-check-hard.yaml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -19,18 +19,18 @@ jobs:
1919
R_KEEP_PKG_SOURCE: yes
2020

2121
steps:
22-
- uses: actions/checkout@v6
22+
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
2323

24-
- uses: r-lib/actions/setup-pandoc@v2
24+
- uses: r-lib/actions/setup-pandoc@6f6e5bc62fba3a704f74e7ad7ef7676c5c6a2590 # v2
2525
with:
2626
pandoc-version: "latest"
2727

28-
- uses: r-lib/actions/setup-r@v2
28+
- uses: r-lib/actions/setup-r@6f6e5bc62fba3a704f74e7ad7ef7676c5c6a2590 # v2
2929
with:
3030
r-version: "release"
3131
use-public-rspm: true
3232

33-
- uses: r-lib/actions/setup-r-dependencies@v2
33+
- uses: r-lib/actions/setup-r-dependencies@6f6e5bc62fba3a704f74e7ad7ef7676c5c6a2590 # v2
3434
with:
3535
dependencies: '"hard"'
3636
cache: false
@@ -42,7 +42,7 @@ jobs:
4242
any::knitr
4343
any::rmarkdown
4444
45-
- uses: r-lib/actions/check-r-package@v2
45+
- uses: r-lib/actions/check-r-package@6f6e5bc62fba3a704f74e7ad7ef7676c5c6a2590 # v2
4646
with:
4747
upload-snapshots: true
4848
build_args: 'c("--no-manual","--compact-vignettes=gs+qpdf")'

.github/workflows/R-CMD-check-main.yaml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -28,26 +28,26 @@ jobs:
2828
R_KEEP_PKG_SOURCE: yes
2929

3030
steps:
31-
- uses: actions/checkout@v6
31+
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
3232

33-
- uses: r-lib/actions/setup-pandoc@v2
33+
- uses: r-lib/actions/setup-pandoc@6f6e5bc62fba3a704f74e7ad7ef7676c5c6a2590 # v2
3434
with:
3535
pandoc-version: "latest"
3636

37-
- uses: r-lib/actions/setup-r@v2
37+
- uses: r-lib/actions/setup-r@6f6e5bc62fba3a704f74e7ad7ef7676c5c6a2590 # v2
3838
with:
3939
r-version: "devel"
4040
use-public-rspm: true
4141

42-
- uses: r-lib/actions/setup-r-dependencies@v2
42+
- uses: r-lib/actions/setup-r-dependencies@6f6e5bc62fba3a704f74e7ad7ef7676c5c6a2590 # v2
4343
with:
4444
extra-packages: |
4545
any::rcmdcheck
4646
any::BH
4747
ivprobit=?ignore-before-r=100.0.0
4848
needs: check
4949

50-
- uses: r-lib/actions/check-r-package@v2
50+
- uses: r-lib/actions/check-r-package@6f6e5bc62fba3a704f74e7ad7ef7676c5c6a2590 # v2
5151
with:
5252
upload-snapshots: true
5353
upload-results: true

.github/workflows/R-CMD-check-no-oldrel.yaml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -33,18 +33,18 @@ jobs:
3333
R_KEEP_PKG_SOURCE: yes
3434

3535
steps:
36-
- uses: actions/checkout@v6
36+
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
3737

38-
- uses: r-lib/actions/setup-pandoc@v2
38+
- uses: r-lib/actions/setup-pandoc@6f6e5bc62fba3a704f74e7ad7ef7676c5c6a2590 # v2
3939
with:
4040
pandoc-version: "latest"
4141

42-
- uses: r-lib/actions/setup-r@v2
42+
- uses: r-lib/actions/setup-r@6f6e5bc62fba3a704f74e7ad7ef7676c5c6a2590 # v2
4343
with:
4444
r-version: ${{ matrix.config.r }}
4545
use-public-rspm: true
4646

47-
- uses: r-lib/actions/setup-r-dependencies@v2
47+
- uses: r-lib/actions/setup-r-dependencies@6f6e5bc62fba3a704f74e7ad7ef7676c5c6a2590 # v2
4848
with:
4949
extra-packages: |
5050
any::BH
@@ -116,7 +116,7 @@ jobs:
116116
WRS2=?ignore-before-r=4.1.0
117117
needs: check
118118

119-
- uses: r-lib/actions/check-r-package@v2
119+
- uses: r-lib/actions/check-r-package@6f6e5bc62fba3a704f74e7ad7ef7676c5c6a2590 # v2
120120
with:
121121
upload-snapshots: true
122122
upload-results: true

.github/workflows/R-CMD-check-pr-short.yaml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -31,26 +31,26 @@ jobs:
3131
R_KEEP_PKG_SOURCE: yes
3232

3333
steps:
34-
- uses: actions/checkout@v6
34+
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
3535

36-
- uses: r-lib/actions/setup-pandoc@v2
36+
- uses: r-lib/actions/setup-pandoc@6f6e5bc62fba3a704f74e7ad7ef7676c5c6a2590 # v2
3737
with:
3838
pandoc-version: "latest"
3939

40-
- uses: r-lib/actions/setup-r@v2
40+
- uses: r-lib/actions/setup-r@6f6e5bc62fba3a704f74e7ad7ef7676c5c6a2590 # v2
4141
with:
4242
r-version: (${{ matrix.config.r }})
4343
use-public-rspm: true
4444

45-
- uses: r-lib/actions/setup-r-dependencies@v2
45+
- uses: r-lib/actions/setup-r-dependencies@6f6e5bc62fba3a704f74e7ad7ef7676c5c6a2590 # v2
4646
with:
4747
extra-packages: |
4848
any::rcmdcheck
4949
any::BH
5050
ivprobit=?ignore-before-r=100.0.0
5151
needs: check
5252

53-
- uses: r-lib/actions/check-r-package@v2
53+
- uses: r-lib/actions/check-r-package@6f6e5bc62fba3a704f74e7ad7ef7676c5c6a2590 # v2
5454
with:
5555
upload-snapshots: true
5656
upload-results: true

.github/workflows/R-CMD-check.yaml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -40,18 +40,18 @@ jobs:
4040
R_KEEP_PKG_SOURCE: yes
4141

4242
steps:
43-
- uses: actions/checkout@v6
43+
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
4444

45-
- uses: r-lib/actions/setup-pandoc@v2
45+
- uses: r-lib/actions/setup-pandoc@6f6e5bc62fba3a704f74e7ad7ef7676c5c6a2590 # v2
4646
with:
4747
pandoc-version: "latest"
4848

49-
- uses: r-lib/actions/setup-r@v2
49+
- uses: r-lib/actions/setup-r@6f6e5bc62fba3a704f74e7ad7ef7676c5c6a2590 # v2
5050
with:
5151
r-version: ${{ matrix.config.r }}
5252
use-public-rspm: true
5353

54-
- uses: r-lib/actions/setup-r-dependencies@v2
54+
- uses: r-lib/actions/setup-r-dependencies@6f6e5bc62fba3a704f74e7ad7ef7676c5c6a2590 # v2
5555
with:
5656
extra-packages: |
5757
any::BH
@@ -123,7 +123,7 @@ jobs:
123123
WRS2=?ignore-before-r=4.1.0
124124
needs: check
125125

126-
- uses: r-lib/actions/check-r-package@v2
126+
- uses: r-lib/actions/check-r-package@6f6e5bc62fba3a704f74e7ad7ef7676c5c6a2590 # v2
127127
with:
128128
upload-snapshots: true
129129
upload-results: true

.github/workflows/check-all-examples.yaml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,14 +17,14 @@ jobs:
1717
GITHUB_PAT: ${{ secrets.GITHUB_TOKEN }}
1818

1919
steps:
20-
- uses: actions/checkout@v6
20+
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
2121

22-
- uses: r-lib/actions/setup-r@v2
22+
- uses: r-lib/actions/setup-r@6f6e5bc62fba3a704f74e7ad7ef7676c5c6a2590 # v2
2323
with:
2424
#r-version: "devel"
2525
use-public-rspm: true
2626

27-
- uses: r-lib/actions/setup-r-dependencies@v2
27+
- uses: r-lib/actions/setup-r-dependencies@6f6e5bc62fba3a704f74e7ad7ef7676c5c6a2590 # v2
2828
with:
2929
cache-version: 2
3030
extra-packages: |

.github/workflows/check-link-rot.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,10 +17,10 @@ jobs:
1717
GITHUB_PAT: ${{ secrets.GITHUB_TOKEN }}
1818
R_KEEP_PKG_SOURCE: yes
1919
steps:
20-
- uses: actions/checkout@v6
20+
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
2121

2222
- name: Link Checker
2323
id: lychee
24-
uses: lycheeverse/lychee-action@v2
24+
uses: lycheeverse/lychee-action@8646ba30535128ac92d33dfc9133794bfdd9b411 # v2.8.0
2525
with:
2626
fail: true

.github/workflows/check-no-warnings.yaml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,14 +12,14 @@ jobs:
1212
GITHUB_PAT: ${{ secrets.GITHUB_TOKEN }}
1313

1414
steps:
15-
- uses: actions/checkout@v6
15+
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
1616

17-
- uses: r-lib/actions/setup-r@v2
17+
- uses: r-lib/actions/setup-r@6f6e5bc62fba3a704f74e7ad7ef7676c5c6a2590 # v2
1818
with:
1919
r-version: "devel"
2020
use-public-rspm: true
2121

22-
- uses: r-lib/actions/setup-r-dependencies@v2
22+
- uses: r-lib/actions/setup-r-dependencies@6f6e5bc62fba3a704f74e7ad7ef7676c5c6a2590 # v2
2323
with:
2424
extra-packages: |
2525
any::devtools

.github/workflows/check-random-test-order.yaml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,18 +13,18 @@ jobs:
1313
GITHUB_PAT: ${{ secrets.GITHUB_TOKEN }}
1414

1515
steps:
16-
- uses: actions/checkout@v6
16+
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
1717

1818
# needed for easystats tests for dashboard
19-
- uses: r-lib/actions/setup-pandoc@v2
19+
- uses: r-lib/actions/setup-pandoc@6f6e5bc62fba3a704f74e7ad7ef7676c5c6a2590 # v2
2020
with:
2121
pandoc-version: "latest"
2222

23-
- uses: r-lib/actions/setup-r@v2
23+
- uses: r-lib/actions/setup-r@6f6e5bc62fba3a704f74e7ad7ef7676c5c6a2590 # v2
2424
with:
2525
use-public-rspm: true
2626

27-
- uses: r-lib/actions/setup-r-dependencies@v2
27+
- uses: r-lib/actions/setup-r-dependencies@6f6e5bc62fba3a704f74e7ad7ef7676c5c6a2590 # v2
2828
with:
2929
cache-version: 2
3030
extra-packages: |

.github/workflows/check-readme.yaml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -27,18 +27,18 @@ jobs:
2727
GITHUB_PAT: ${{ secrets.GITHUB_TOKEN }}
2828

2929
steps:
30-
- uses: actions/checkout@v6
30+
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
3131

32-
- uses: r-lib/actions/setup-pandoc@v2
32+
- uses: r-lib/actions/setup-pandoc@6f6e5bc62fba3a704f74e7ad7ef7676c5c6a2590 # v2
3333
with:
3434
pandoc-version: "latest"
3535

36-
- uses: r-lib/actions/setup-r@v2
36+
- uses: r-lib/actions/setup-r@6f6e5bc62fba3a704f74e7ad7ef7676c5c6a2590 # v2
3737
with:
3838
r-version: ${{ matrix.config.r }}
3939
use-public-rspm: true
4040

41-
- uses: r-lib/actions/setup-r-dependencies@v2
41+
- uses: r-lib/actions/setup-r-dependencies@6f6e5bc62fba3a704f74e7ad7ef7676c5c6a2590 # v2
4242
with:
4343
cache-version: 2
4444
needs: check

0 commit comments

Comments
 (0)