Skip to content

Add Continuous Fuzzing GitHub Actions workflow#294

Merged
jverdicc merged 1 commit intomainfrom
codex/set-up-continuous-fuzzing-workflow
Mar 1, 2026
Merged

Add Continuous Fuzzing GitHub Actions workflow#294
jverdicc merged 1 commit intomainfrom
codex/set-up-continuous-fuzzing-workflow

Conversation

@jverdicc
Copy link
Owner

@jverdicc jverdicc commented Mar 1, 2026

Motivation

  • Provide scheduled and on-demand continuous fuzzing for core fuzz targets to catch regressions and build a growing corpus of inputs.
  • Collect crash artifacts and coverage data per-target so fuzzing results are reproducible and improvement in coverage can be observed over time.

Description

  • Add a new workflow at ./github/workflows/continuous-fuzzing.yml that runs on a nightly cron, on pull requests to main, and via workflow_dispatch.
  • Configure a matrix of fuzz targets (fuzz_aspec_verify, fuzz_ledger_ops, fuzz_etl_ops, fuzz_etl_read_entry, fuzz_probe_detector) and set fail-fast: false so all targets run even if one fails.
  • Install the nightly toolchain plus cargo-fuzz and cargo-llvm-cov, restore and persist per-target corpora with actions/cache, ensure corpus directories, and run cargo fuzz run <target> fuzz/corpus/<target> -- -max_total_time=300 -print_final_stats=1 for each target.
  • Upload crash inputs to artifacts on failure and generate per-target coverage via cargo llvm-cov (coverage step marked continue-on-error: true) with coverage reports uploaded as artifacts.

Testing

  • Ran cargo fmt --check which succeeded.
  • Ran cargo clippy --workspace --all-targets -- -D warnings which succeeded.
  • Started cargo test --workspace; the test/build process began but did not complete within this environment before it was manually terminated.

Codex Task

@jverdicc jverdicc merged commit b8ab24a into main Mar 1, 2026
6 of 13 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant