From e2929ba445036e25021d5558d79f9b2a7c697145 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Guillermo=20C=C3=A9spedes=20Tab=C3=A1rez?= <1295883+dertin@users.noreply.github.com> Date: Mon, 3 Aug 2026 06:59:33 -0300 Subject: [PATCH 1/4] Fix Fuzz workflow by installing cargo-fuzz and using nightly. The @cargo-fuzz install-action tag is unsupported, so cargo-fuzz was never installed. Fuzzing also requires nightly for sanitizer flags. --- .github/workflows/fuzz.yml | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/.github/workflows/fuzz.yml b/.github/workflows/fuzz.yml index bddfa3d..893e45b 100644 --- a/.github/workflows/fuzz.yml +++ b/.github/workflows/fuzz.yml @@ -15,11 +15,14 @@ jobs: - uses: actions/checkout@v5 - uses: dtolnay/rust-toolchain@master with: - toolchain: stable - - uses: taiki-e/install-action@cargo-fuzz + toolchain: nightly + - uses: taiki-e/install-action@v2 + with: + tool: cargo-fuzz + - uses: Swatinem/rust-cache@v2 + with: + workspaces: fuzz - run: cargo fuzz run parsers -- -max_total_time=120 -max_len=2097152 - env: - RUSTC_BOOTSTRAP: "1" + working-directory: fuzz - run: cargo fuzz run interfaces -- -max_total_time=120 -max_len=2097152 - env: - RUSTC_BOOTSTRAP: "1" + working-directory: fuzz From 0e67933a7ffde9be27c05d796e94697cd0545dd7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Guillermo=20C=C3=A9spedes=20Tab=C3=A1rez?= <1295883+dertin@users.noreply.github.com> Date: Mon, 3 Aug 2026 07:05:42 -0300 Subject: [PATCH 2/4] Set RUSTUP_TOOLCHAIN=nightly for Fuzz job. The repository rust-toolchain.toml pins stable, which overrides the default toolchain set by the install step. --- .github/workflows/fuzz.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/fuzz.yml b/.github/workflows/fuzz.yml index 893e45b..fe4adde 100644 --- a/.github/workflows/fuzz.yml +++ b/.github/workflows/fuzz.yml @@ -11,6 +11,8 @@ permissions: jobs: fuzz: runs-on: ubuntu-latest + env: + RUSTUP_TOOLCHAIN: nightly steps: - uses: actions/checkout@v5 - uses: dtolnay/rust-toolchain@master From 67fe9fcb19a8e823beb4fac48d8811f8894c529d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Guillermo=20C=C3=A9spedes=20Tab=C3=A1rez?= <1295883+dertin@users.noreply.github.com> Date: Mon, 3 Aug 2026 07:06:10 -0300 Subject: [PATCH 3/4] cargo update --- fuzz/Cargo.lock | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/fuzz/Cargo.lock b/fuzz/Cargo.lock index 3eac0ea..3d778c7 100644 --- a/fuzz/Cargo.lock +++ b/fuzz/Cargo.lock @@ -158,6 +158,16 @@ dependencies = [ "cpufeatures", ] +[[package]] +name = "bstr" +version = "1.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1f7dc094d718f2e1c1559ad110e27eeaae14a5465d3d56dd6dbd793079fbd530" +dependencies = [ + "memchr", + "serde_core", +] + [[package]] name = "bumpalo" version = "3.20.3" @@ -243,6 +253,7 @@ dependencies = [ "atomic-write-file", "blake3", "code-system-graph-model", + "globset", "graphql-parser", "hcl-rs", "proto-parser", @@ -560,6 +571,19 @@ dependencies = [ "wasm-bindgen", ] +[[package]] +name = "globset" +version = "0.4.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e47d37d2ae4464254884b60ab7071be2b876a9c35b696bd018ddcc76847309cd" +dependencies = [ + "aho-corasick", + "bstr", + "log", + "regex-automata", + "regex-syntax", +] + [[package]] name = "granit-parser" version = "1.0.0" From ccb055688f8a12aed6322f2f4288f75702bcf605 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Guillermo=20C=C3=A9spedes=20Tab=C3=A1rez?= <1295883+dertin@users.noreply.github.com> Date: Mon, 3 Aug 2026 07:14:05 -0300 Subject: [PATCH 4/4] Force gnu target for cargo-fuzz in CI. cargo-binstall ships a musl cargo-fuzz binary that defaults fuzz builds to x86_64-unknown-linux-musl, which breaks address sanitizers on ubuntu-latest. --- .github/workflows/fuzz.yml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/.github/workflows/fuzz.yml b/.github/workflows/fuzz.yml index fe4adde..665bc33 100644 --- a/.github/workflows/fuzz.yml +++ b/.github/workflows/fuzz.yml @@ -21,10 +21,11 @@ jobs: - uses: taiki-e/install-action@v2 with: tool: cargo-fuzz + fallback: cargo-install - uses: Swatinem/rust-cache@v2 with: workspaces: fuzz - - run: cargo fuzz run parsers -- -max_total_time=120 -max_len=2097152 + - run: cargo fuzz run parsers --target x86_64-unknown-linux-gnu -- -max_total_time=120 -max_len=2097152 working-directory: fuzz - - run: cargo fuzz run interfaces -- -max_total_time=120 -max_len=2097152 + - run: cargo fuzz run interfaces --target x86_64-unknown-linux-gnu -- -max_total_time=120 -max_len=2097152 working-directory: fuzz