55 - cron : " 0 6 * * *" # daily at 6am UTC
66 workflow_dispatch : { }
77
8+ env :
9+ NIGHTLY_TOOLCHAIN : nightly-2026-02-05
10+
811jobs :
912 coverage :
1013 name : " Coverage: ${{ matrix.fuzz_target }}"
@@ -29,16 +32,16 @@ jobs:
2932 - uses : ./.github/actions/setup-rust
3033 with :
3134 repo-token : ${{ secrets.GITHUB_TOKEN }}
32- toolchain : nightly
35+ toolchain : ${{ env.NIGHTLY_TOOLCHAIN }}
3336 components : clippy, rustfmt, llvm-tools
3437
3538 - name : Ensure llvm-tools are installed
3639 run : |
37- rustup component add llvm-tools --toolchain nightly || \
38- rustup component add llvm-tools-preview --toolchain nightly
40+ rustup component add llvm-tools --toolchain $NIGHTLY_TOOLCHAIN || \
41+ rustup component add llvm-tools-preview --toolchain $NIGHTLY_TOOLCHAIN
3942
4043 # Verify llvm-profdata is accessible (cargo-fuzz needs it for coverage merging)
41- LLVM_PROFDATA="$(rustc +nightly --print sysroot)/lib/rustlib/$(rustc +nightly -vV | sed -n 's|host: ||p')/bin/llvm-profdata"
44+ LLVM_PROFDATA="$(rustc +$NIGHTLY_TOOLCHAIN --print sysroot)/lib/rustlib/$(rustc +$NIGHTLY_TOOLCHAIN -vV | sed -n 's|host: ||p')/bin/llvm-profdata"
4245 if [ ! -f "$LLVM_PROFDATA" ]; then
4346 echo "ERROR: llvm-profdata not found at $LLVM_PROFDATA"
4447 echo "Listing bin directory:"
7275 - name : Generate coverage data
7376 run : |
7477 RUSTFLAGS="--cfg vortex_nightly" \
75- cargo +nightly fuzz coverage --release --debug-assertions \
78+ cargo +$NIGHTLY_TOOLCHAIN fuzz coverage --release --debug-assertions \
7679 ${{ matrix.fuzz_target }} \
7780 -- -rss_limit_mb=4096
7881
8184 COVERAGE_DIR="fuzz/coverage/${{ matrix.fuzz_target }}"
8285
8386 # llvm tools are installed via rustup's llvm-tools component
84- LLVM_TOOLS_BIN="$(rustc +nightly --print sysroot)/lib/rustlib/$(rustc +nightly -vV | sed -n 's|host: ||p')/bin"
87+ LLVM_TOOLS_BIN="$(rustc +$NIGHTLY_TOOLCHAIN --print sysroot)/lib/rustlib/$(rustc +$NIGHTLY_TOOLCHAIN -vV | sed -n 's|host: ||p')/bin"
8588
86- TARGET_TRIPLE=$(rustc +nightly -vV | sed -n 's|host: ||p')
89+ TARGET_TRIPLE=$(rustc +$NIGHTLY_TOOLCHAIN -vV | sed -n 's|host: ||p')
8790
8891 # cargo-fuzz coverage places the binary at:
8992 # target/<triple>/coverage/<triple>/release/<fuzz_target>
0 commit comments