Skip to content

ci(fuzz): run ClusterFuzzLite only when fuzzed code or dependencies change - #105

Merged
simonvanlierde merged 1 commit into
mainfrom
ci-fuzz-path-filter
Oct 27, 2026
Merged

simonvanlierde merged 1 commit into
mainfrom
ci-fuzz-path-filter

Conversation

@simonvanlierde

Copy link
Copy Markdown
Contributor

ClusterFuzzLite ran on every pull request that wasn't markdown-only, about 7.5 minutes each: 40s pulling images, 96s building and 5 minutes fuzzing. Most of those PRs don't change anything the harness can reach.

  • The trigger now uses paths instead of paths-ignore: app/**, r9cam_models/**, fuzz/**, .clusterfuzzlite/**, pyproject.toml, uv.lock and the workflow itself. All of app/ stays in scope, because fuzz/relay_frames.py imports app.main.
  • PRs that only touch tests, scripts, docs, other workflows or the Dockerfile skip the job. It isn't a required check on main, so a skipped run doesn't block merging.
  • fuzz-seconds stays at 300, so a PR that does touch the relay path gets the same fuzzing as before.
  • CONTRIBUTING.md and ARCHITECTURE.md no longer say it runs on every pull request.

I left out caching: the build step runs docker build itself with no way to add a layer cache, and storing the corpus between runs needs a separate repo and a token.

Tests: none ran locally, and actionlint isn't installed here. This PR changes the workflow file, so it should trigger the job and show the filter works.

@codspeed

codspeed Bot commented Oct 27, 2026

Copy link
Copy Markdown

Merging this PR will not alter performance

1 warning

⚠️ 4 benchmarks are dominated by system calls

System calls cannot be simulated consistently and are left out of the measure. The reported value understates the real cost. Switch to the Walltime instrument to measure them.

Learn more about system calls

See affected benchmarks

✅ 12 untouched benchmarks


Comparing ci-fuzz-path-filter (1db78f8) with main (97c4312)

Open in CodSpeed

@simonvanlierde
simonvanlierde merged commit 96b2040 into main Oct 27, 2026
20 checks passed
@simonvanlierde
simonvanlierde deleted the ci-fuzz-path-filter branch October 27, 2026 14:43
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