name: Fuzz
on:
push:
branches: [main]
schedule:
- cron: "0 3 * * 1"
workflow_dispatch:
permissions:
contents: read
jobs:
fuzz:
name: cargo-fuzz ${{ matrix.target }}
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
target: [decode_total, roundtrip, sentinel]
steps:
- uses: actions/checkout@v7
- uses: dtolnay/rust-toolchain@nightly
- name: Install cargo-fuzz
run: cargo install cargo-fuzz --locked
- name: Fuzz ${{ matrix.target }}
run: |
time=$([ "${{ github.event_name }}" = "schedule" ] && echo 300 || echo 60)
cargo fuzz run ${{ matrix.target }} -- -max_total_time=$time