| name: CI Fuzz |
| on: |
| push: |
| pull_request: |
| paths: |
| - '.github/workflows/cifuzz.yml' |
| - '**CMakeLists.txt' |
| - '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@0b2256b8c012f0828dc542b3febcab082c67f72b # v4.3.4 |
| if: failure() && steps.build.outcome == 'success' |
| with: |
| name: artifacts |
| path: ./out/artifacts |