name: Fuzz
on:
schedule:
- cron: '0 6 * * *' workflow_dispatch:
permissions:
contents: read
jobs:
fuzz:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
target:
- fuzz_parse_id
- fuzz_parse_id_with_hint
- fuzz_detect
- fuzz_roundtrip
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd - uses: actions-rust-lang/setup-rust-toolchain@a0b538fa0b742a6aa35d6e2c169b4bd06d225a98 with:
toolchain: nightly
- run: cargo install cargo-fuzz
- name: Run fuzz target
run: cargo +nightly fuzz run ${{ matrix.target }} -- -max_total_time=300
- name: Upload crash artifacts
if: failure()
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 with:
name: fuzz-artifacts-${{ matrix.target }}
path: fuzz/artifacts/${{ matrix.target }}/