adts-reader 0.4.0

Rust reader for Audio Data Transport Stream (ADTS) frames
Documentation
name: Fuzz

on:
  schedule:
    - cron: '0 0 1 * *'    # midnight UTC on the 1st of each month
  workflow_dispatch:         # manual trigger

jobs:
  fuzz:
    runs-on: ubuntu-latest

    steps:
    - uses: actions/checkout@v4

    - name: Install nightly toolchain
      uses: actions-rust-lang/setup-rust-toolchain@v1
      with:
        toolchain: nightly

    - name: Install cargo-fuzz
      run: cargo install cargo-fuzz

    - name: Run fuzz test
      # Runs for 10 minutes. libfuzzer exits 0 if clean, non-zero on crash.
      # continue-on-error lets us upload crash artifacts before failing the job.
      run: cargo +nightly fuzz run fuzz_target_1 -- -max_total_time=600
      continue-on-error: true
      id: fuzz

    - name: Upload crash artifacts
      if: steps.fuzz.outcome == 'failure'
      uses: actions/upload-artifact@v4
      with:
        name: fuzz-artifacts
        path: fuzz/artifacts/
        retention-days: 90

    - name: Fail if crash found
      if: steps.fuzz.outcome == 'failure'
      run: exit 1