polyvoice 0.6.9

Speaker diarization for Rust — who spoke when. ONNX-powered: Silero VAD, WeSpeaker embeddings, Pyannote segmentation, K-means/AHC clustering, overlap detection.
Documentation
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