Skip to content

Commit e8c1636

Browse files
authored
ci: pin github actions (#258)
- pin external actions - enforce sha also in the future For motivation see https://www.stepsecurity.io/blog/harden-runner-detection-tj-actions-changed-files-action-is-compromised and https://michaelheap.com/pin-your-github-actions/
1 parent bc0e112 commit e8c1636

File tree

6 files changed

+32
-17
lines changed

6 files changed

+32
-17
lines changed

.github/workflows/coverage.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,14 +10,14 @@ jobs:
1010
options: --security-opt seccomp=unconfined
1111
steps:
1212
- name: Checkout repository
13-
uses: actions/checkout@v2
13+
uses: actions/checkout@ee0669bd1cc54295c223e0bb666b733df41de1c5 # v2
1414

1515
- name: Generate code coverage
1616
run: |
1717
cargo +nightly tarpaulin --verbose --all-features --workspace --timeout 120 --out xml
1818
1919
- name: Upload to codecov.io
20-
uses: codecov/codecov-action@v2
20+
uses: codecov/codecov-action@f32b3a3741e1053eb607407145bc9619351dc93b # v2
2121
with:
2222
token: ${{secrets.CODECOV_TOKEN}}
2323
fail_ci_if_error: true

.github/workflows/enforce-sha.yaml

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
on: push
2+
3+
name: Security
4+
5+
jobs:
6+
ensure-pinned-actions:
7+
runs-on: ubuntu-latest
8+
steps:
9+
- name: Checkout code
10+
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
11+
- name: Ensure SHA pinned actions
12+
uses: zgosalvez/github-actions-ensure-sha-pinned-actions@25ed13d0628a1601b4b44048e63cc4328ed03633 # v3
13+
with:
14+
allowlist: |
15+
- prefix-dev/

.github/workflows/release.yml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -19,10 +19,10 @@ jobs:
1919

2020
steps:
2121
- name: Checkout code
22-
uses: actions/checkout@v3
22+
uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3
2323

2424
- name: Install Rust
25-
uses: actions-rs/toolchain@v1
25+
uses: actions-rs/toolchain@16499b5e05bf2e26879000db0c1d13f7e13fa3af # v1
2626
with:
2727
toolchain: stable
2828
target: ${{ matrix.target }}
@@ -35,7 +35,7 @@ jobs:
3535
run: cargo build --release --target ${{ matrix.target }}
3636

3737
- name: Upload Artifact
38-
uses: actions/upload-artifact@v3
38+
uses: actions/upload-artifact@ff15f0306b3f739f7b6fd43fb5d26cd321bd4de5 # v3
3939
with:
4040
name: shell-${{ matrix.target }}
4141
path: target/${{ matrix.target }}/release/shell
@@ -46,10 +46,10 @@ jobs:
4646

4747
steps:
4848
- name: Checkout code
49-
uses: actions/checkout@v3
49+
uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3
5050

5151
- name: Upload to Release
52-
uses: softprops/action-gh-release@v1
52+
uses: softprops/action-gh-release@de2c0eb89ae2a093876385947365aca7b0e5f844 # v1
5353
with:
5454
files: |
5555
**/shell-x86_64-unknown-linux-gnu

.github/workflows/rust-linting.yml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -17,10 +17,10 @@ jobs:
1717
runs-on: ubuntu-latest
1818
steps:
1919
- name: Checkout code
20-
uses: actions/checkout@v4
20+
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
2121

2222
- name: Set up Rust
23-
uses: actions-rs/toolchain@v1
23+
uses: actions-rs/toolchain@16499b5e05bf2e26879000db0c1d13f7e13fa3af # v1
2424
with:
2525
toolchain: stable
2626
profile: minimal
@@ -33,16 +33,16 @@ jobs:
3333
runs-on: ubuntu-latest
3434
steps:
3535
- name: Checkout code
36-
uses: actions/checkout@v4
36+
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
3737

3838
- name: Set up Rust
39-
uses: actions-rs/toolchain@v1
39+
uses: actions-rs/toolchain@16499b5e05bf2e26879000db0c1d13f7e13fa3af # v1
4040
with:
4141
toolchain: stable
4242
profile: minimal
4343
override: true
4444

45-
- uses: Swatinem/rust-cache@v2
45+
- uses: Swatinem/rust-cache@f0deed1e0edfc6a9be95417288c0e1099b1eeec3 # v2
4646

4747
- name: Run cargo clippy
4848
run: cargo clippy --all-targets --workspace -- -D warnings

.github/workflows/rust-tests.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,16 +20,16 @@ jobs:
2020
runs-on: ${{ matrix.os }}
2121
steps:
2222
- name: Checkout code
23-
uses: actions/checkout@v4
23+
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
2424

2525
- name: Set up Rust
26-
uses: actions-rs/toolchain@v1
26+
uses: actions-rs/toolchain@16499b5e05bf2e26879000db0c1d13f7e13fa3af # v1
2727
with:
2828
toolchain: stable
2929
profile: minimal
3030
override: true
3131

32-
- uses: Swatinem/rust-cache@v2
32+
- uses: Swatinem/rust-cache@f0deed1e0edfc6a9be95417288c0e1099b1eeec3 # v2
3333

3434
- name: Run tests
3535
run: cargo test --workspace --all-targets

.github/workflows/typos.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,6 @@ jobs:
1717
runs-on: ubuntu-latest
1818
steps:
1919
- name: Checkout Actions Repository
20-
uses: actions/checkout@v4
20+
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
2121
- name: Check spelling
22-
uses: crate-ci/typos@master
22+
uses: crate-ci/typos@b48ba0f02b2a623fe5852b679366636e783ada3d # master

0 commit comments

Comments
 (0)