| name: CIFuzz | |
| on: | |
| workflow_dispatch: | |
| pull_request: | |
| branches: | |
| - master | |
| paths: | |
| - '**.c' | |
| - '**.cc' | |
| - '**.cpp' | |
| - '**.cxx' | |
| - '**.h' | |
| - 'test/fuzz/**' | |
| - '!test/fuzz/**.md' | |
| - '.github/workflows/cifuzz.yml' | |
| 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: 'tinyusb' | |
| language: c++ | |
| - name: Run Fuzzers | |
| uses: google/oss-fuzz/infra/cifuzz/actions/run_fuzzers@master | |
| with: | |
| oss-fuzz-project-name: 'tinyusb' | |
| language: c++ | |
| fuzz-seconds: 400 | |
| - name: Upload Crash | |
| uses: actions/upload-artifact@v7 | |
| if: failure() && steps.build.outcome == 'success' | |
| with: | |
| name: artifacts | |
| path: ./out/artifacts |