Skip to content

Commit 6bfac85

Browse files
authored
chore(ci): pin deps in workflow and add dependabot to update them weekly (#321)
Pinning hashes for dependencies in workflows is a security best practice Excluded from pinning are actions from the `github/*` and `actions/*` given that these are officially managed by Github and are not raised by `zizmor` By configuring dependabot with `package-ecosystem: "github-actions"` it will open a pull request only for updating pinned hashes (not cargo, etc..): https://docs.github.com/en/code-security/dependabot/working-with-dependabot/keeping-your-actions-up-to-date-with-dependabot#enabling-dependabot-version-updates-for-actions The `<hash> #<branch_name>` syntax is what dependabot picks up on Note: removes unused `install_test_binaries` shell script as I believe this is unused
1 parent bccbdb1 commit 6bfac85

File tree

3 files changed

+32
-109
lines changed

3 files changed

+32
-109
lines changed

.github/scripts/install_test_binaries.sh

Lines changed: 0 additions & 89 deletions
This file was deleted.

.github/workflows/ci.yml

Lines changed: 29 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -35,15 +35,14 @@ jobs:
3535
- uses: actions/checkout@v5
3636
with:
3737
persist-credentials: false
38-
- uses: dtolnay/rust-toolchain@master
38+
- uses: dtolnay/rust-toolchain@e97e2d8cc328f1b50210efc529dca0028893a2d9 # master
3939
with:
4040
toolchain: ${{ matrix.rust }}
41-
- name: Install test binaries
42-
shell: bash
43-
run: ./.github/scripts/install_test_binaries.sh
4441
- name: Install nextest
45-
uses: taiki-e/install-action@nextest
46-
- uses: Swatinem/rust-cache@v2
42+
uses: taiki-e/install-action@e5f8d33e7166e0491b2ab4ff0567cc6cd6772737 # v2
43+
with:
44+
tool: nextest
45+
- uses: Swatinem/rust-cache@98c8021b550208e191a6a3145459bfc9fb29c4c0 # v2
4746
with:
4847
cache-on-failure: true
4948
- name: test
@@ -57,8 +56,10 @@ jobs:
5756
- uses: actions/checkout@v5
5857
with:
5958
persist-credentials: false
60-
- uses: dtolnay/rust-toolchain@stable
61-
- uses: Swatinem/rust-cache@v2
59+
- uses: dtolnay/rust-toolchain@e97e2d8cc328f1b50210efc529dca0028893a2d9 # master
60+
with:
61+
toolchain: stable
62+
- uses: Swatinem/rust-cache@98c8021b550208e191a6a3145459bfc9fb29c4c0 # v2
6263
with:
6364
cache-on-failure: true
6465
- run: cargo test --workspace --doc --all-features
@@ -70,9 +71,13 @@ jobs:
7071
- uses: actions/checkout@v5
7172
with:
7273
persist-credentials: false
73-
- uses: dtolnay/rust-toolchain@stable
74-
- uses: taiki-e/install-action@cargo-hack
75-
- uses: Swatinem/rust-cache@v2
74+
- uses: dtolnay/rust-toolchain@e97e2d8cc328f1b50210efc529dca0028893a2d9 # master
75+
with:
76+
toolchain: stable
77+
- uses: taiki-e/install-action@e5f8d33e7166e0491b2ab4ff0567cc6cd6772737 # master
78+
with:
79+
tool: cargo-hack
80+
- uses: Swatinem/rust-cache@98c8021b550208e191a6a3145459bfc9fb29c4c0 # v2
7681
with:
7782
cache-on-failure: true
7883
- name: cargo hack
@@ -85,8 +90,11 @@ jobs:
8590
- uses: actions/checkout@v5
8691
with:
8792
persist-credentials: false
88-
- uses: dtolnay/rust-toolchain@clippy
89-
- uses: Swatinem/rust-cache@v2
93+
- uses: dtolnay/rust-toolchain@e97e2d8cc328f1b50210efc529dca0028893a2d9 # master
94+
with:
95+
toolchain: nightly
96+
components: clippy
97+
- uses: Swatinem/rust-cache@98c8021b550208e191a6a3145459bfc9fb29c4c0 # v2
9098
with:
9199
cache-on-failure: true
92100
- run: cargo clippy --workspace --all-targets --all-features
@@ -100,8 +108,10 @@ jobs:
100108
- uses: actions/checkout@v5
101109
with:
102110
persist-credentials: false
103-
- uses: dtolnay/rust-toolchain@nightly
104-
- uses: Swatinem/rust-cache@v2
111+
- uses: dtolnay/rust-toolchain@e97e2d8cc328f1b50210efc529dca0028893a2d9 # master
112+
with:
113+
toolchain: nightly
114+
- uses: Swatinem/rust-cache@98c8021b550208e191a6a3145459bfc9fb29c4c0 # v2
105115
with:
106116
cache-on-failure: true
107117
- run: cargo doc --workspace --all-features --no-deps --document-private-items
@@ -115,13 +125,14 @@ jobs:
115125
- uses: actions/checkout@v5
116126
with:
117127
persist-credentials: false
118-
- uses: dtolnay/rust-toolchain@nightly
128+
- uses: dtolnay/rust-toolchain@e97e2d8cc328f1b50210efc529dca0028893a2d9 # master
119129
with:
130+
toolchain: nightly
120131
components: rustfmt
121132
- run: cargo fmt --all --check
122133

123134
deny:
124-
uses: ithacaxyz/ci/.github/workflows/deny.yml@main
135+
uses: ithacaxyz/ci/.github/workflows/deny.yml@9c8d0dc20e7ad02455d3fdab2378a05f29907630 # main
125136

126137
ci-success:
127138
runs-on: ubuntu-latest
@@ -138,6 +149,6 @@ jobs:
138149
timeout-minutes: 30
139150
steps:
140151
- name: Decide whether the needed jobs succeeded or failed
141-
uses: re-actors/alls-green@release/v1
152+
uses: re-actors/alls-green@05ac9388f0aebcb5727afa17fcccfecd6f8ec5fe # release/v1
142153
with:
143154
jobs: ${{ toJSON(needs) }}

.github/workflows/codeql.yml

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

3+
permissions:
4+
contents: read
5+
36
on:
47
push:
58
branches: ["main"]
@@ -19,9 +22,7 @@ jobs:
1922
runs-on: ubuntu-latest
2023
permissions:
2124
security-events: write
22-
packages: read
2325
actions: read
24-
contents: read
2526

2627
strategy:
2728
fail-fast: false

0 commit comments

Comments
 (0)