ci(fuzz): install cargo-fuzz from a prebuilt binary
The previous `cargo install cargo-fuzz --locked` resolved against
cargo-fuzz's own Cargo.lock which pins to rustix 0.36.5. That rustix
version still annotates its source with internal #[rustc_*] attributes,
and the current nightly compiler rejects those attributes from
out-of-tree crates, so cargo-fuzz never finished compiling on CI:
error: attributes starting with `rustc` are reserved for use by the
`rustc` compiler
--> rustix-0.36.5/src/backend/linux_raw/io/errno.rs:28
error: could not compile `rustix` (lib) due to 4 previous errors
error: failed to compile `cargo-fuzz v0.13.1`
Switch the install to taiki-e/install-action, the same prebuilt-binary
provider we already use for cargo-llvm-cov. That skips the full
transitive-dependency compile and lets the fuzz-smoke job actually run.
This commit is contained in:
@@ -159,7 +159,16 @@ jobs:
|
|||||||
workspaces: fuzz
|
workspaces: fuzz
|
||||||
|
|
||||||
- name: Install cargo-fuzz
|
- name: Install cargo-fuzz
|
||||||
run: cargo install cargo-fuzz --locked
|
# Use the prebuilt binary from taiki-e/install-action instead of
|
||||||
|
# `cargo install cargo-fuzz --locked`. The latter resolves the
|
||||||
|
# version graph from cargo-fuzz's own Cargo.lock, which pins to
|
||||||
|
# rustix 0.36.5 — a version that still uses internal `rustc_*`
|
||||||
|
# attributes the modern nightly compiler rejects, so the install
|
||||||
|
# never gets off the ground. The prebuilt binary avoids the entire
|
||||||
|
# transitive-dep compile.
|
||||||
|
uses: taiki-e/install-action@e0eafa9a0d485c37f97c0f7beb930a58a2facbac # v2.79.4
|
||||||
|
with:
|
||||||
|
tool: cargo-fuzz
|
||||||
|
|
||||||
- name: Fuzz csv_reader (30 s)
|
- name: Fuzz csv_reader (30 s)
|
||||||
run: cargo +nightly fuzz run csv_reader -- -max_total_time=30
|
run: cargo +nightly fuzz run csv_reader -- -max_total_time=30
|
||||||
|
|||||||
Reference in New Issue
Block a user