Skip to content

ci: fix deep-fuzz workflow (engine-arg parsing + nightly toolchain)#75

Merged
joeldsouzax merged 2 commits into
mainfrom
fix/deep-fuzz-bolero-cli
Jul 4, 2026
Merged

ci: fix deep-fuzz workflow (engine-arg parsing + nightly toolchain)#75
joeldsouzax merged 2 commits into
mainfrom
fix/deep-fuzz-bolero-cli

Conversation

@joeldsouzax

Copy link
Copy Markdown
Contributor

Summary

The scheduled deep-fuzz workflow had been failing on every target — it never actually fuzzed. Two independent bugs, both fixed here:

  1. Engine-arg parsing. cargo bolero test … -E -max_total_time=120 — cargo-bolero 0.13.4's clap parser reads the value -max_total_time (leading dash) as bundled short flags and rejects -m (error: Found argument '-m' which wasn't expected). Fix: attach the value to -E with =-E=-max_total_time=120. Also pin cargo-bolero to the bolero lib's 0.13.x series so a --force install can't pull a future release with an incompatible CLI.
  2. Nightly toolchain shadowing. Once args parsed, the build failed with the option 'Z' is only accepted on the nightly compiler: the repo's rust-toolchain.toml pins stable 1.95.0, which shadows the nightly the workflow installs, so -Zsanitizer=address was rejected. Fix: set RUSTUP_TOOLCHAIN: nightly on the fuzz step (outranks rust-toolchain.toml).

Verification (real CI, workflow_dispatch on this branch, 30s/target)

Note: deep-fuzz is schedule + workflow_dispatch only, so it does not run on PR pushes and won't gate this PR's checks.

Test plan

  • actionlint clean (pre-commit hook + gate)
  • nix flake check green (pre-push hook)
  • workflow_dispatch run on this branch: 12/13 targets pass; the 1 failure is a genuine fuzz-found parser bug, tracked separately

🤖 Generated with Claude Code

joeldsouzax and others added 2 commits July 4, 2026 19:08
The deep-fuzz nightly failed on every target with 'Found argument -m which
wasn't expected'. cargo-bolero 0.13.4's clap parser reads the engine-arg value
'-max_total_time=120' (leading dash) as bundled short flags unless it is attached
to -E with '='. Fix: '-E=-max_total_time=...'. Also pin cargo-bolero to the same
0.13.x series as the bolero lib so a --force install can't pull an incompatible CLI.

Verified: '-E=-max_total_time=5' parses cleanly (0.13.4) where '-E -max_total_time=5'
reproduces the CI error.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
After fixing the engine-arg parsing, the build failed with '-Z is only accepted
on the nightly compiler': the repo's rust-toolchain.toml pins stable 1.95.0, which
shadows the nightly the workflow installs, so -Zsanitizer=address is rejected.
Set RUSTUP_TOOLCHAIN=nightly on the fuzz step (outranks rust-toolchain.toml).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@codspeed-hq

codspeed-hq Bot commented Jul 4, 2026

Copy link
Copy Markdown

Merging this PR will not alter performance

✅ 21 untouched benchmarks


Comparing fix/deep-fuzz-bolero-cli (43dae76) with main (a475ca9)

Open in CodSpeed

@joeldsouzax joeldsouzax merged commit 98d5139 into main Jul 4, 2026
18 of 19 checks passed
@joeldsouzax joeldsouzax deleted the fix/deep-fuzz-bolero-cli branch July 4, 2026 18:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant