-
-
Notifications
You must be signed in to change notification settings - Fork 808
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fix the broken fuzz build #4056
Conversation
This is stubborn, isn't it? |
Commit 4dc5aee indicates that the Commit 2406e00 indicates pinning the nightly build at the current version used by Typst (https://releases.rs/docs/1.77.0/) is still not sufficient, because there was another, different |
Updated
cargo install cargo-fuzz
ignores that package's Cargo.lock file by default and fetches the newest version of that package's dependencies. Among the dependencies,serde
released 1.0.200 ~1 day ago, but this new version ofserde
requires a newer Rust build; otherwise, it will complainuse of unstable library feature 'saturating_int_impl'
, a feature that requires at least Rust 1.74.0 to be stable.At the moment, due to other considerations Typst chooses to pin this specific CI task's Rust at nightly-2023-09-13, a date that is between the branch dates of 1.73.0 and 1.74.0. The agreed solution is to make
cargo install cargo-fuzz
respect cargo-fuzz's Cargo.lock file, by adding--locked
. This will ensure the dependencyserde
is pinned to 1.0.193.Moreover, we also pin
cargo-fuzz
's version to the most recent release 0.12.0 to minimize surprises should it updates.Side note:
cargo fuzz build --dev
requires Rust's nightly build, not beta or stable build. Instead of using the most recent nightly build, we pin this nightly build to a specific date to avoid occasional breakage from Rust development.Original description
It appears the fuzzing errors raised in PR #4055use of unstable library feature 'saturating_int_impl'
is because the Rust version in thefuzz
workflow is outdated. See an explanation for a similar issue.