name: Fuzz
on:
pull_request:
branches: [master, main]
schedule:
- cron: "0 3 * * *"
workflow_dispatch:
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
permissions: {}
jobs:
fuzz:
runs-on: ubuntu-latest
strategy:
matrix:
target: [fuzz_compute_fbank, fuzz_segment_speech, fuzz_detect_overlaps, fuzz_cluster_assign]
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@nightly
- uses: Swatinem/rust-cache@v2
with:
workspaces: "fuzz -> target"
- uses: taiki-e/install-action@v2
with:
tool: cargo-fuzz
- name: Run fuzz target (PR — 60s, schedule — 300s)
run: |
if [ "${{ github.event_name }}" = "pull_request" ]; then
TIME=60
else
TIME=300
fi
cargo fuzz run --target x86_64-unknown-linux-gnu ${{ matrix.target }} -- -max_total_time=$TIME