swadhinbiswas ci: fuzz workflow runs all 7 real targets · 7/15/2026
566db3b
37 lines · 1.2 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
name: Fuzzing

on:
  schedule:
    - cron: '0 2 * * *' # Run at 2 AM every day
  workflow_dispatch:

jobs:
  fuzz:
    name: cargo-fuzz
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4

      - name: Install Rust nightly
        uses: dtolnay/rust-toolchain@nightly

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

      # Run every declared fuzz target. `cargo-fuzz` fails the job on the first
      # crash it finds, so any regression in a protocol/parser surface blocks CI.
      - name: Run fuzz_router
        run: cargo +nightly fuzz run fuzz_router -- -max_total_time=60
      - name: Run fuzz_file_paths
        run: cargo +nightly fuzz run fuzz_file_paths -- -max_total_time=60
      - name: Run fuzz_multipart
        run: cargo +nightly fuzz run fuzz_multipart -- -max_total_time=60
      - name: Run fuzz_body
        run: cargo +nightly fuzz run fuzz_body -- -max_total_time=60
      - name: Run fuzz_query_params
        run: cargo +nightly fuzz run fuzz_query_params -- -max_total_time=60
      - name: Run fuzz_headers
        run: cargo +nightly fuzz run fuzz_headers -- -max_total_time=60
      - name: Run fuzz_jwt
        run: cargo +nightly fuzz run fuzz_jwt -- -max_total_time=60