Repository navigation
ci: fuzz smoke step builds for the host triple and fails when the build fails - #1079
Merged
Merged
Conversation
… build fails The ci.yml Fuzz job fuzzed nothing on any run: install-action ships a musl build of cargo-fuzz, cargo-fuzz defaults its --target to the triple it was built for, and every target failed to compile (sanitizer incompatible with statically linked libc; after #1078 also no musl std in the pinned nightly). `|| true` on each run kept the step green. The job log of the run before #1078 shows the same eight compile failures, so this predates the pin. The step now passes the host triple to `cargo fuzz build` and `cargo fuzz run`, runs the build as its own command under `set -euo pipefail`, and keeps only a fuzz run's finding non-blocking. The job runs only on pushes to main, so the evidence is that run's log. Refs: REQ-267 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_015HMQUV3u86jN2hmCtXNTc9
Codecov Report✅ All modified and coverable lines are covered by tests. 📢 Thoughts on this report? Let us know! |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
I found this while verifying #1078 on main. The ci.yml Fuzz Testing job has never fuzzed anything.
Evidence. Job logs before #1078 (job 114071052937) and after it (114098537961) both show eight
could not compilefailures, one per target:After #1078 there is also
can't find crate for core, because the pinned nightly has no musl std. Eachcargo +nightly fuzz run … || trueswallowed the failure, so the job stayed green.Cause.
taiki-e/install-actionships a musl build of cargo-fuzz, and cargo-fuzz defaults--targetto the triple it was built for. The scheduledfuzz.ymlis unaffected: it runscargo install cargo-fuzz, which gives a gnu build, and that run fuzzes for real (for exampleartifact_ids: 11,470,701 runs in 901 s).Fix (ci.yml only).
host=$(rustc -vV | sed -n 's/^host: //p'), passed as--targettocargo fuzz buildandcargo fuzz run.set -euo pipefail, so a build failure fails the job. A fuzz run's finding stays non-blocking, as before.cargo fuzz listno longer hides its errors.Checks.
--target aarch64-apple-darwin, every crate compiles. The link fails withld: initializer pointer has no target, a known macOS SDK linker issue that does not occur on Linux.cargo fuzz build|run --targetexists in cargo-fuzz.The job runs only on pushes to main (it is
continue-on-error), so the evidence will be the post-merge run's log. I will check it forFuzzing <target>followed by libFuzzerDone N runslines.Also seen, not addressed here. In
fuzz.yml, thecli_argvandyaml_footgunsjobs failed on the last run. They need a separate look: findings, or setup.🤖 Generated with Claude Code
https://claude.ai/code/session_015HMQUV3u86jN2hmCtXNTc9