libuv/.github/workflows/cflite_pr.yml
David Korczynski 4ac894930a build: add ClusterFuzzLite setup
The goal is to enable continuous fuzzing of libuv. There is not a lot of
parsing or complex data handling in libuv so I think integrating with
OSS-Fuzz is too much. However, ClusterFuzzLite can be used to run
fuzzers for a small amount of seconds for each PR to ensure nothing
breaks. This commit adds ClusterFuzzLite setup as well as a fuzzer targeting
various operations. The fuzzer can be extended, e.g. it would be nice to
have more complex FS fuzzing, but I thought I would keep it as is for
now and see if you're interested in having fuzzing.

Signed-off-by: David Korczynski <david@adalogics.com>
2024-01-14 14:29:25 -08:00

31 lines
809 B
YAML

name: ClusterFuzzLite PR fuzzing
on:
workflow_dispatch:
pull_request:
branches: [ v1.x ]
permissions: read-all
jobs:
PR:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
sanitizer: [address]
steps:
- name: Build Fuzzers (${{ matrix.sanitizer }})
id: build
uses: google/clusterfuzzlite/actions/build_fuzzers@v1
with:
sanitizer: ${{ matrix.sanitizer }}
language: c
bad-build-check: false
- name: Run Fuzzers (${{ matrix.sanitizer }})
id: run
uses: google/clusterfuzzlite/actions/run_fuzzers@v1
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
fuzz-seconds: 100
mode: 'code-change'
report-unreproducible-crashes: false
sanitizer: ${{ matrix.sanitizer }}