| 123456789101112131415161718192021222324252627282930313233343536373839404142 |
- name: CIFuzz
- # The fuzzers only build httplib.h and the targets under test/fuzzing, so a
- # pull request that touches neither has nothing for CIFuzz to exercise. Fuzzing
- # is by far the longest job in CI (10 minutes of fuzzing on top of building the
- # OSS-Fuzz image), and skipping it for documentation-only changes keeps the
- # full 600 seconds for the pull requests that do reach the parsers.
- on:
- pull_request:
- paths:
- - 'httplib.h'
- - 'test/fuzzing/**'
- - '.github/workflows/cifuzz.yaml'
- concurrency:
- group: ${{ github.workflow }}-${{ github.ref || github.run_id }}
- cancel-in-progress: true
- jobs:
- Fuzzing:
- runs-on: ubuntu-latest
- steps:
- - name: Build Fuzzers
- id: build
- uses: google/oss-fuzz/infra/cifuzz/actions/build_fuzzers@master
- with:
- oss-fuzz-project-name: 'cpp-httplib'
- dry-run: false
- language: c++
- - name: Run Fuzzers
- uses: google/oss-fuzz/infra/cifuzz/actions/run_fuzzers@master
- with:
- oss-fuzz-project-name: 'cpp-httplib'
- fuzz-seconds: 600
- dry-run: false
- language: c++
- - name: Upload Crash
- uses: actions/upload-artifact@v4
- if: failure() && steps.build.outcome == 'success'
- with:
- name: artifacts
- path: ./out/artifacts
|