Skip to content

Commit 59f2ced

Browse files
authored
Make Rust CI workflows zizmor compliant (#38)
Pin every action reference in the Rust CI additions to a full commit SHA, as required by the repository's zizmor blanket policy: * dtolnay/rust-toolchain -> ab40b01 (1.91.1) and 4cda84d (stable) * actions/checkout -> 9c091bb (v7.0.0), matching the rest of the repo dtolnay/rust-toolchain derives the installed toolchain from the action ref, so hash-pinning it requires an explicit `toolchain:` input; add one wherever it was not already present. Also switch the x64 "Install LLVM for bindgen" step from `shell: cmd` to `shell: pwsh`, mirroring the existing ARM64 step, to resolve the remaining zizmor misfeature finding.
1 parent 36a1f87 commit 59f2ced

4 files changed

Lines changed: 13 additions & 9 deletions

File tree

.github/setup-rust-windows/action.yml

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,20 +11,21 @@ inputs:
1111
runs:
1212
using: composite
1313
steps:
14-
- uses: dtolnay/rust-toolchain@1.91.1
14+
- uses: dtolnay/rust-toolchain@ab40b01f54fe82bdf65693ea090a1e4942c136e7 # 1.91.1
1515
with:
16+
toolchain: 1.91.1
1617
targets: i686-pc-windows-msvc,x86_64-pc-windows-msvc,aarch64-pc-windows-msvc
1718
# LIBCLANG_PATH must be set explicitly so the vcxproj uses the LLVM we
1819
# install here rather than the VS-bundled LLVM whose clang headers have
1920
# AVX intrinsic bugs. The values are hardcoded literals (no attacker-
2021
# controlled input), so the GITHUB_ENV writes are safe.
2122
- name: Install LLVM for bindgen
2223
if: inputs.arch != 'arm64'
23-
shell: cmd
24+
shell: pwsh
2425
run: | # zizmor: ignore[github-env]
2526
choco install llvm --allow-downgrade --no-progress --version 21.1.0
26-
if not exist "C:\Program Files\LLVM\bin\libclang.dll" exit /b 1
27-
echo LIBCLANG_PATH=C:\Program Files\LLVM\bin>> "%GITHUB_ENV%"
27+
if (!(Test-Path 'C:\Program Files\LLVM\bin\libclang.dll')) { exit 1 }
28+
echo "LIBCLANG_PATH=C:\Program Files\LLVM\bin" >> $env:GITHUB_ENV
2829
# Chocolatey's LLVM package only ships x64 binaries, which an ARM64-native
2930
# cargo process cannot load. Install the official ARM64 build directly.
3031
- name: Install LLVM for bindgen (ARM64)

.github/workflows/build.yml

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -353,8 +353,9 @@ jobs:
353353
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
354354
with:
355355
persist-credentials: false
356-
- uses: dtolnay/rust-toolchain@1.91.1
356+
- uses: dtolnay/rust-toolchain@ab40b01f54fe82bdf65693ea090a1e4942c136e7 # 1.91.1
357357
with:
358+
toolchain: 1.91.1
358359
targets: ${{ matrix.arch }}-linux-android
359360
- name: Build and test
360361
run: JAVA_HOME="${JAVA_HOME_21_X64:-$JAVA_HOME_21_arm64}" python3 Platforms/Android ci --fast-ci ${{ matrix.arch }}-linux-android
@@ -369,8 +370,9 @@ jobs:
369370
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
370371
with:
371372
persist-credentials: false
372-
- uses: dtolnay/rust-toolchain@1.91.1
373+
- uses: dtolnay/rust-toolchain@ab40b01f54fe82bdf65693ea090a1e4942c136e7 # 1.91.1
373374
with:
375+
toolchain: 1.91.1
374376
targets: aarch64-apple-ios-sim
375377
# GitHub recommends explicitly selecting the desired Xcode version:
376378
# https://github.com/actions/runner-images/issues/12541#issuecomment-3083850140

.github/workflows/cargo.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,10 +15,10 @@ jobs:
1515
timeout-minutes: 15
1616
runs-on: ubuntu-24.04
1717
steps:
18-
- uses: actions/checkout@v6
18+
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
1919
with:
2020
persist-credentials: false
21-
- uses: dtolnay/rust-toolchain@stable
21+
- uses: dtolnay/rust-toolchain@4cda84d5c5c54efe2404f9d843567869ab1699d4 # stable
2222
with:
2323
toolchain: stable
2424
- run: ./configure

.github/workflows/reusable-wasi.yml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,8 +47,9 @@ jobs:
4747
uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0
4848
with:
4949
python-version: '3.x'
50-
- uses: dtolnay/rust-toolchain@1.91.1
50+
- uses: dtolnay/rust-toolchain@ab40b01f54fe82bdf65693ea090a1e4942c136e7 # 1.91.1
5151
with:
52+
toolchain: 1.91.1
5253
targets: wasm32-wasip1
5354
- name: "Runner image version"
5455
run: echo "IMAGE_OS_VERSION=${ImageOS}-${ImageVersion}" >> "$GITHUB_ENV"

0 commit comments

Comments
 (0)