Skip to content

Commit ece63a2

Browse files
authored
chore(ci): harden workflow by setting default permission to read only (#112)
Defines per action permissions scoping, defaulting to read only RE: ``` - uses: actions/checkout@v5 with: persist-credentials: false ``` See: actions/checkout#485 This does not yet introduce pinning to hashes, I want to find a good way to maintain this first. Apparently Dependabot has a feature for this.
1 parent 55e3b69 commit ece63a2

File tree

1 file changed

+22
-6
lines changed

1 file changed

+22
-6
lines changed

.github/workflows/ci.yml

Lines changed: 22 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,8 @@
11
name: CI
22

3+
permissions:
4+
contents: read
5+
36
on:
47
push:
58
branches: [main]
@@ -28,7 +31,9 @@ jobs:
2831
os: ["ubuntu-latest"]
2932
rust: ["stable", "1.76"] # MSRV
3033
steps:
31-
- uses: actions/checkout@v4
34+
- uses: actions/checkout@v5
35+
with:
36+
persist-credentials: false
3237
- uses: dtolnay/rust-toolchain@stable
3338
- uses: Swatinem/rust-cache@v2
3439
# Only run tests on latest stable and above
@@ -44,7 +49,9 @@ jobs:
4449
runs-on: ubuntu-latest
4550
timeout-minutes: 30
4651
steps:
47-
- uses: actions/checkout@v4
52+
- uses: actions/checkout@v5
53+
with:
54+
persist-credentials: false
4855
- uses: dtolnay/rust-toolchain@stable
4956
with:
5057
targets: wasm32-unknown-unknown
@@ -58,7 +65,9 @@ jobs:
5865
runs-on: ubuntu-latest
5966
timeout-minutes: 30
6067
steps:
61-
- uses: actions/checkout@v4
68+
- uses: actions/checkout@v5
69+
with:
70+
persist-credentials: false
6271
- uses: dtolnay/rust-toolchain@stable
6372
- uses: taiki-e/install-action@cargo-hack
6473
- uses: Swatinem/rust-cache@v2
@@ -71,7 +80,9 @@ jobs:
7180
runs-on: ubuntu-latest
7281
timeout-minutes: 30
7382
steps:
74-
- uses: actions/checkout@v4
83+
- uses: actions/checkout@v5
84+
with:
85+
persist-credentials: false
7586
- uses: dtolnay/rust-toolchain@clippy
7687
- uses: Swatinem/rust-cache@v2
7788
with:
@@ -84,7 +95,9 @@ jobs:
8495
runs-on: ubuntu-latest
8596
timeout-minutes: 30
8697
steps:
87-
- uses: actions/checkout@v4
98+
- uses: actions/checkout@v5
99+
with:
100+
persist-credentials: false
88101
- uses: dtolnay/rust-toolchain@nightly
89102
- uses: Swatinem/rust-cache@v2
90103
with:
@@ -97,7 +110,9 @@ jobs:
97110
runs-on: ubuntu-latest
98111
timeout-minutes: 30
99112
steps:
100-
- uses: actions/checkout@v4
113+
- uses: actions/checkout@v5
114+
with:
115+
persist-credentials: false
101116
- uses: dtolnay/rust-toolchain@nightly
102117
with:
103118
components: rustfmt
@@ -109,6 +124,7 @@ jobs:
109124
ci-success:
110125
runs-on: ubuntu-latest
111126
if: always()
127+
permissions: {}
112128
needs:
113129
- test
114130
- wasm

0 commit comments

Comments
 (0)