idt 0.1.14

A fast, ergonomic CLI tool for working with various ID formats
Documentation
name: Fuzz

on:
  schedule:
    - cron: '0 6 * * *' # Daily at 06:00 UTC
  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 # v6.0.2
      - uses: actions-rust-lang/setup-rust-toolchain@a0b538fa0b742a6aa35d6e2c169b4bd06d225a98 # v1.15.3
        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 # v4.6.2
        with:
          name: fuzz-artifacts-${{ matrix.target }}
          path: fuzz/artifacts/${{ matrix.target }}/