Skip to content

test(ci): add a scheduled fuzz smoke job - #124

Merged
Ayinkx01 merged 2 commits into
mainfrom
test/ci-scheduled-fuzz-smoke
Sep 22, 2026
Merged

Ayinkx01 merged 2 commits into
mainfrom
test/ci-scheduled-fuzz-smoke

Conversation

@Ayinkx

@Ayinkx Ayinkx commented Sep 22, 2026

Copy link
Copy Markdown
Contributor

Closes #94

What

Adds a scheduled, bounded fuzz smoke job and the fuzz targets it exercises.

  • .github/workflows/fuzz.yml: runs weekly (Mondays 03:00 UTC) and on workflow_dispatch. It discovers every target under fuzz/fuzz_targets/, runs each for a bounded time (60s by default) on nightly via cargo-fuzz, fails on crash artifacts, and uploads fuzz/artifacts when a run fails.
  • fuzz/: a standalone cargo-fuzz crate with decode_scval, decode_envelope, and decode_event targets. These satisfy the fuzz-target dependency so the smoke job actually exercises the decoders rather than no-op.
  • docs/TESTING.md: documents the local gate, how to run and add fuzz targets, the scheduled job, nightly pinning, and crash reproduction.

Verification

  • Fuzz targets are not part of the main workspace (cargo metadata shows the four original members); the CI gate is unaffected.
  • cargo fmt, cargo clippy --all-targets, and cargo test --all pass.
  • Workflow YAML parses, and the target-discovery + multiline GITHUB_OUTPUT + bounded loop logic was executed locally in bash; it finds decode_envelope, decode_event, decode_scval and would run each for 60s.
  • Note: the local Windows nightly toolchain is broken, so the targets were not linked/run locally; the job uses ubuntu-latest where cargo-fuzz is supported.

Add a weekly (and manually dispatchable) workflow that discovers every fuzz target, runs each for a bounded time on a nightly toolchain, fails on crash artifacts, and uploads them. Add the fuzz/ cargo-fuzz crate with targets for SCVal, envelope, and event decoding (satisfying the fuzz-target dependency), plus docs/TESTING.md. Closes #94
@Ayinkx01
Ayinkx01 merged commit 2bdbb2d into main Sep 22, 2026
5 checks passed
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.

test(ci): add a scheduled fuzz smoke job

2 participants