Skip to content

fix: unbreak nightly fuzzer after setup-rust-toolchain v2 bump - #328

Merged
mikemiles-dev merged 1 commit into
mainfrom
fix/fuzzer-build-warnings
Sep 22, 2026
Merged

mikemiles-dev merged 1 commit into
mainfrom
fix/fuzzer-build-warnings

Conversation

@mikemiles-dev

Copy link
Copy Markdown
Owner

setup-rust-toolchain v2 enforces warning-free builds via cargo's build.warnings config (CARGO_BUILD_WARNINGS=deny) instead of RUSTFLAGS="-D warnings". Unlike RUSTFLAGS, that also denies cargo manifest lints, which broke the fuzzer job:

error: warnings are denied by `build.warnings` configuration

Nightly cargo emits cargo::non_kebab_case_bins for the fuzz_target_1 and fuzz_round_trip binaries. Those names cannot be changed: cargo-fuzz requires the target name to match the fuzz_targets/ file stem. Only the fuzzer job failed because it is the sole job on nightly; the lints do not exist in the pinned 1.94.0 stable used elsewhere.

Set build-warnings: warn on that job. Nightly cargo adds manifest lints continuously and the job exists to find crashes; lint hygiene stays enforced by the pinned-stable clippy job.

Also drop the explicit package.readme key, which cargo infers and newer cargo flags via cargo::manual_readme, to keep the stable jobs from breaking the same way later. Packaging is unaffected: the packaged manifest still contains readme = "README.md".

Bump to 1.1.0 and add the release notes.

setup-rust-toolchain v2 enforces warning-free builds via cargo's
build.warnings config (CARGO_BUILD_WARNINGS=deny) instead of
RUSTFLAGS="-D warnings". Unlike RUSTFLAGS, that also denies cargo
*manifest* lints, which broke the fuzzer job:

    error: warnings are denied by `build.warnings` configuration

Nightly cargo emits cargo::non_kebab_case_bins for the fuzz_target_1 and
fuzz_round_trip binaries. Those names cannot be changed: cargo-fuzz
requires the target name to match the fuzz_targets/ file stem. Only the
fuzzer job failed because it is the sole job on nightly; the lints do not
exist in the pinned 1.94.0 stable used elsewhere.

Set build-warnings: warn on that job. Nightly cargo adds manifest lints
continuously and the job exists to find crashes; lint hygiene stays
enforced by the pinned-stable clippy job.

Also drop the explicit package.readme key, which cargo infers and newer
cargo flags via cargo::manual_readme, to keep the stable jobs from
breaking the same way later. Packaging is unaffected: the packaged
manifest still contains readme = "README.md".

Bump to 1.1.0 and add the release notes.
@mikemiles-dev
mikemiles-dev merged commit b82a66b into main Sep 22, 2026
12 checks passed
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