name: Extended Fuzzing
permissions:
contents: read
on:
push:
branches: [main]
env:
CARGO_NET_RETRY: 10
CARGO_TERM_COLOR: always
RUSTUP_MAX_RETRIES: 10
RUST_BACKTRACE: short
jobs:
fuzz-extended:
name: Fuzz (extended)
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v6
- name: Install nightly toolchain
uses: dtolnay/rust-toolchain@nightly
- name: Install cargo-fuzz
run: cargo install cargo-fuzz --locked
- name: Install just
uses: extractions/setup-just@v3
- name: Cache Dependencies
uses: Swatinem/rust-cache@v2
with:
workspaces: fuzz
- name: Generate seed corpus
run: just generate-corpus
- name: Fuzz all targets (15 minutes each)
run: just fuzz-all 900
- name: Upload fuzz artifacts
if: failure()
uses: actions/upload-artifact@v4
with:
name: fuzz-artifacts
path: |
fuzz/artifacts/
target/fuzz-logs/