cifuzz.yaml 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. name: CIFuzz
  2. # The fuzzers only build httplib.h and the targets under test/fuzzing, so a
  3. # pull request that touches neither has nothing for CIFuzz to exercise. Fuzzing
  4. # is by far the longest job in CI (10 minutes of fuzzing on top of building the
  5. # OSS-Fuzz image), and skipping it for documentation-only changes keeps the
  6. # full 600 seconds for the pull requests that do reach the parsers.
  7. on:
  8. pull_request:
  9. paths:
  10. - 'httplib.h'
  11. - 'test/fuzzing/**'
  12. - '.github/workflows/cifuzz.yaml'
  13. concurrency:
  14. group: ${{ github.workflow }}-${{ github.ref || github.run_id }}
  15. cancel-in-progress: true
  16. jobs:
  17. Fuzzing:
  18. runs-on: ubuntu-latest
  19. steps:
  20. - name: Build Fuzzers
  21. id: build
  22. uses: google/oss-fuzz/infra/cifuzz/actions/build_fuzzers@master
  23. with:
  24. oss-fuzz-project-name: 'cpp-httplib'
  25. dry-run: false
  26. language: c++
  27. - name: Run Fuzzers
  28. uses: google/oss-fuzz/infra/cifuzz/actions/run_fuzzers@master
  29. with:
  30. oss-fuzz-project-name: 'cpp-httplib'
  31. fuzz-seconds: 600
  32. dry-run: false
  33. language: c++
  34. - name: Upload Crash
  35. uses: actions/upload-artifact@v4
  36. if: failure() && steps.build.outcome == 'success'
  37. with:
  38. name: artifacts
  39. path: ./out/artifacts