From e5ca36b8480bf98ac04231bfa6c9136826ebd217 Mon Sep 17 00:00:00 2001 From: Joe Isaacs Date: Mon, 9 Feb 2026 17:12:04 +0000 Subject: [PATCH 1/4] chore[cuda]: smaller tests Signed-off-by: Joe Isaacs --- .github/workflows/fuzz-coverage.yml | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) diff --git a/.github/workflows/fuzz-coverage.yml b/.github/workflows/fuzz-coverage.yml index 00ff896dabc..351f17ec860 100644 --- a/.github/workflows/fuzz-coverage.yml +++ b/.github/workflows/fuzz-coverage.yml @@ -30,11 +30,7 @@ jobs: with: repo-token: ${{ secrets.GITHUB_TOKEN }} toolchain: nightly - - - name: Install llvm - uses: aminya/setup-cpp@v1 - with: - compiler: llvm + components: clippy, rustfmt, llvm-tools - name: Install cargo fuzz run: cargo install --locked cargo-fuzz @@ -68,8 +64,8 @@ jobs: run: | COVERAGE_DIR="fuzz/coverage/${{ matrix.fuzz_target }}" - llvm-profdata merge -sparse "$COVERAGE_DIR"/raw/*.profraw \ - -o "$COVERAGE_DIR/coverage.profdata" + # llvm tools are installed via rustup's llvm-tools component + LLVM_TOOLS_BIN="$(rustc +nightly --print sysroot)/lib/rustlib/$(rustc +nightly -vV | sed -n 's|host: ||p')/bin" FUZZ_BIN=$(find fuzz/target -name "${{ matrix.fuzz_target }}" -type f -executable -path "*/release/*" | grep -v deps | head -1) @@ -81,14 +77,14 @@ jobs: echo "Using fuzz binary: $FUZZ_BIN" # HTML report for download - llvm-cov show "$FUZZ_BIN" \ + "$LLVM_TOOLS_BIN/llvm-cov" show "$FUZZ_BIN" \ --format=html \ --instr-profile="$COVERAGE_DIR/coverage.profdata" \ --ignore-filename-regex='(\.cargo|rustc|registry)' \ --output-dir=coverage_html/ # Text summary to job log - llvm-cov report "$FUZZ_BIN" \ + "$LLVM_TOOLS_BIN/llvm-cov" report "$FUZZ_BIN" \ --instr-profile="$COVERAGE_DIR/coverage.profdata" \ --ignore-filename-regex='(\.cargo|rustc|registry)' From 29a62d6bf644e4148029dd6b832adf670938a184 Mon Sep 17 00:00:00 2001 From: Joe Isaacs Date: Mon, 9 Feb 2026 17:45:35 +0000 Subject: [PATCH 2/4] fix Signed-off-by: Joe Isaacs --- .github/workflows/fuzz-coverage.yml | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/.github/workflows/fuzz-coverage.yml b/.github/workflows/fuzz-coverage.yml index 351f17ec860..0ec7f8ef58b 100644 --- a/.github/workflows/fuzz-coverage.yml +++ b/.github/workflows/fuzz-coverage.yml @@ -67,10 +67,23 @@ jobs: # llvm tools are installed via rustup's llvm-tools component LLVM_TOOLS_BIN="$(rustc +nightly --print sysroot)/lib/rustlib/$(rustc +nightly -vV | sed -n 's|host: ||p')/bin" - FUZZ_BIN=$(find fuzz/target -name "${{ matrix.fuzz_target }}" -type f -executable -path "*/release/*" | grep -v deps | head -1) + TARGET_TRIPLE=$(rustc +nightly -vV | sed -n 's|host: ||p') + + # cargo fuzz may place the binary in fuzz/target or the workspace target dir + FUZZ_BIN="" + for TARGET_DIR in fuzz/target target; do + CANDIDATE="${TARGET_DIR}/${TARGET_TRIPLE}/release/${{ matrix.fuzz_target }}" + if [ -f "$CANDIDATE" ]; then + FUZZ_BIN="$CANDIDATE" + break + fi + done if [ -z "$FUZZ_BIN" ]; then echo "ERROR: Could not find fuzz binary for ${{ matrix.fuzz_target }}" + echo "Searched:" + echo " fuzz/target/${TARGET_TRIPLE}/release/${{ matrix.fuzz_target }}" + echo " target/${TARGET_TRIPLE}/release/${{ matrix.fuzz_target }}" exit 1 fi From a2cbbaeff3e86c4791536c75e29f27f5f784e901 Mon Sep 17 00:00:00 2001 From: Joe Isaacs Date: Tue, 10 Feb 2026 10:52:28 +0000 Subject: [PATCH 3/4] fixme Signed-off-by: Joe Isaacs --- .github/workflows/fuzz-coverage.yml | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/.github/workflows/fuzz-coverage.yml b/.github/workflows/fuzz-coverage.yml index 0ec7f8ef58b..9891ffb08ec 100644 --- a/.github/workflows/fuzz-coverage.yml +++ b/.github/workflows/fuzz-coverage.yml @@ -32,6 +32,21 @@ jobs: toolchain: nightly components: clippy, rustfmt, llvm-tools + - name: Ensure llvm-tools are installed + run: | + rustup component add llvm-tools --toolchain nightly || \ + rustup component add llvm-tools-preview --toolchain nightly + + # Verify llvm-profdata is accessible (cargo-fuzz needs it for coverage merging) + LLVM_PROFDATA="$(rustc +nightly --print sysroot)/lib/rustlib/$(rustc +nightly -vV | sed -n 's|host: ||p')/bin/llvm-profdata" + if [ ! -f "$LLVM_PROFDATA" ]; then + echo "ERROR: llvm-profdata not found at $LLVM_PROFDATA" + echo "Listing bin directory:" + ls -la "$(dirname "$LLVM_PROFDATA")" || echo "Directory does not exist" + exit 1 + fi + echo "Found llvm-profdata at $LLVM_PROFDATA" + - name: Install cargo fuzz run: cargo install --locked cargo-fuzz @@ -58,7 +73,8 @@ jobs: run: | RUSTFLAGS="--cfg vortex_nightly" \ cargo +nightly fuzz coverage --release --debug-assertions \ - ${{ matrix.fuzz_target }} + ${{ matrix.fuzz_target }} \ + -- -rss_limit_mb=4096 - name: Generate coverage report run: | From 1ab2bf75e47f2944e74de96f58c094a99d462b37 Mon Sep 17 00:00:00 2001 From: Joe Isaacs Date: Tue, 10 Feb 2026 11:41:49 +0000 Subject: [PATCH 4/4] fixme Signed-off-by: Joe Isaacs --- .github/workflows/fuzz-coverage.yml | 23 ++++++++--------------- 1 file changed, 8 insertions(+), 15 deletions(-) diff --git a/.github/workflows/fuzz-coverage.yml b/.github/workflows/fuzz-coverage.yml index 9891ffb08ec..b3200858ae8 100644 --- a/.github/workflows/fuzz-coverage.yml +++ b/.github/workflows/fuzz-coverage.yml @@ -85,21 +85,14 @@ jobs: TARGET_TRIPLE=$(rustc +nightly -vV | sed -n 's|host: ||p') - # cargo fuzz may place the binary in fuzz/target or the workspace target dir - FUZZ_BIN="" - for TARGET_DIR in fuzz/target target; do - CANDIDATE="${TARGET_DIR}/${TARGET_TRIPLE}/release/${{ matrix.fuzz_target }}" - if [ -f "$CANDIDATE" ]; then - FUZZ_BIN="$CANDIDATE" - break - fi - done - - if [ -z "$FUZZ_BIN" ]; then - echo "ERROR: Could not find fuzz binary for ${{ matrix.fuzz_target }}" - echo "Searched:" - echo " fuzz/target/${TARGET_TRIPLE}/release/${{ matrix.fuzz_target }}" - echo " target/${TARGET_TRIPLE}/release/${{ matrix.fuzz_target }}" + # cargo-fuzz coverage places the binary at: + # target//coverage//release/ + FUZZ_BIN="target/${TARGET_TRIPLE}/coverage/${TARGET_TRIPLE}/release/${{ matrix.fuzz_target }}" + + if [ ! -f "$FUZZ_BIN" ]; then + echo "ERROR: Could not find fuzz binary at $FUZZ_BIN" + echo "Searching for binary in target directories..." + find target -name "${{ matrix.fuzz_target }}" -type f 2>/dev/null || true exit 1 fi