ci: pin all third-party GitHub Actions to immutable commit SHAs

- actions/checkout: v4 → 11d5960a326750d5838078e36cf38b85af677262
- actions/setup-python: v5 → a26af69be951a213d495a4c3e4e4022e16d87065
- actions/upload-artifact: v4 → ea165f8d65b6e75b540449e92b4886f43607fa02
- dtolnay/rust-toolchain: stable → 686976e191b89faba57d3206551f0f330d8cb249
- Swatinem/rust-cache: v2 → 49a0bdc70d2e1b713ca9e2869b211fcce03d3c1c
- softprops/action-gh-release: v2 → 3bb12739c298aeb8a4eeaf626c5b8d85266b0e65

Improves supply chain security by pinning Actions to specific commits
instead of mutable tag references, preventing unexpected behavior changes
if action maintainers update tags.

Fixes #3287
This commit is contained in:
gaebal-gajae committed 2026-10-12 22:05:06 +00:00
1 parent cc58238e43
commit 57f11ddbed
3 files changed
+20 -20

No files matched your search

+5 -5
View File
@@ -40,11 +40,11 @@ jobs:
run:
working-directory: rust
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@11d5960a326750d5838078e36cf38b85af677262
- uses: dtolnay/rust-toolchain@stable
- uses: dtolnay/rust-toolchain@686976e191b89faba57d3206551f0f330d8cb249
- uses: Swatinem/rust-cache@v2
- uses: Swatinem/rust-cache@49a0bdc70d2e1b713ca9e2869b211fcce03d3c1c
with:
workspaces: rust -> target
@@ -60,7 +60,7 @@ jobs:
(cd dist && sha256sum "${{ matrix.artifact_name }}" > "${{ matrix.artifact_name }}.sha256")
- name: Upload workflow artifact
uses: actions/upload-artifact@v4
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02
with:
name: ${{ matrix.artifact_name }}
path: |
@@ -69,7 +69,7 @@ jobs:
- name: Upload release asset
if: startsWith(github.ref, 'refs/tags/')
uses: softprops/action-gh-release@v2
uses: softprops/action-gh-release@3bb12739c298aeb8a4eeaf626c5b8d85266b0e65
with:
files: |
rust/dist/${{ matrix.artifact_name }}
+14 -14
View File
@@ -68,8 +68,8 @@ jobs:
run:
working-directory: .
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
- uses: actions/checkout@11d5960a326750d5838078e36cf38b85af677262
- uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065
with:
python-version: "3.x"
- name: Check docs and metadata for stale branding
@@ -85,11 +85,11 @@ jobs:
name: cargo fmt
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable
- uses: actions/checkout@11d5960a326750d5838078e36cf38b85af677262
- uses: dtolnay/rust-toolchain@686976e191b89faba57d3206551f0f330d8cb249
with:
components: rustfmt
- uses: Swatinem/rust-cache@v2
- uses: Swatinem/rust-cache@49a0bdc70d2e1b713ca9e2869b211fcce03d3c1c
with:
workspaces: rust -> target
- name: Check formatting
@@ -99,9 +99,9 @@ jobs:
name: cargo test --workspace
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable
- uses: Swatinem/rust-cache@v2
- uses: actions/checkout@11d5960a326750d5838078e36cf38b85af677262
- uses: dtolnay/rust-toolchain@686976e191b89faba57d3206551f0f330d8cb249
- uses: Swatinem/rust-cache@49a0bdc70d2e1b713ca9e2869b211fcce03d3c1c
with:
workspaces: rust -> target
- name: Run workspace tests
@@ -111,11 +111,11 @@ jobs:
name: cargo clippy --workspace
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable
- uses: actions/checkout@11d5960a326750d5838078e36cf38b85af677262
- uses: dtolnay/rust-toolchain@686976e191b89faba57d3206551f0f330d8cb249
with:
components: clippy
- uses: Swatinem/rust-cache@v2
- uses: Swatinem/rust-cache@49a0bdc70d2e1b713ca9e2869b211fcce03d3c1c
with:
workspaces: rust -> target
- name: Run workspace clippy
@@ -129,9 +129,9 @@ jobs:
working-directory: rust
shell: pwsh
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable
- uses: Swatinem/rust-cache@v2
- uses: actions/checkout@11d5960a326750d5838078e36cf38b85af677262
- uses: dtolnay/rust-toolchain@686976e191b89faba57d3206551f0f330d8cb249
- uses: Swatinem/rust-cache@49a0bdc70d2e1b713ca9e2869b211fcce03d3c1c
with:
workspaces: rust -> target
- name: Build CLI for Windows smoke
+1 -1
View File
@@ -18,7 +18,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@11d5960a326750d5838078e36cf38b85af677262
- name: Build
run: cargo build --verbose
- name: Run tests