| name: CI Fuzz | |
| on: | |
| push: | |
| pull_request: | |
| paths: | |
| - '.github/workflows/cifuzz.yml' | |
| - 'cmake/**' | |
| - 'ext/**' | |
| - 'tests/gtest/**' | |
| - 'tests/oss-fuzz/**' | |
| permissions: | |
| contents: read | |
| # Cancel the workflow if a new one is triggered from the same PR, branch, or tag, except on main. | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.ref }} | |
| cancel-in-progress: ${{ github.ref != 'refs/heads/main' }} | |
| jobs: | |
| fuzz: | |
| 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: 'libavif' | |
| dry-run: false | |
| - name: Run Fuzzers | |
| uses: google/oss-fuzz/infra/cifuzz/actions/run_fuzzers@master | |
| with: | |
| oss-fuzz-project-name: 'libavif' | |
| fuzz-seconds: 600 | |
| dry-run: false | |
| - name: Upload Crash | |
| uses: actions/upload-artifact@65462800fd760344b1a7b4382951275a0abb4808 # v4.3.3 | |
| if: failure() && steps.build.outcome == 'success' | |
| with: | |
| name: artifacts | |
| path: ./out/artifacts |