--- # vi: ts=2 sw=2 et: # See: https://google.github.io/oss-fuzz/getting-started/continuous-integration/ name: CIFuzz on: push: branches: - master pull_request: branches: - master paths: - '**' permissions: contents: read # to clone the repo (google/oss-fuzz/infra/cifuzz/actions/run_fuzzers) jobs: Fuzzing: permissions: actions: read # to fetch the artifacts (google/oss-fuzz/infra/cifuzz/actions/run_fuzzers) contents: read # to clone the repo (google/oss-fuzz/infra/cifuzz/actions/run_fuzzers) runs-on: ubuntu-latest if: github.repository == 'util-linux/util-linux' strategy: fail-fast: false matrix: sanitizer: [address, undefined, memory] architecture: [x86_64] include: - sanitizer: address architecture: i386 steps: - name: Build Fuzzers (${{ matrix.sanitizer }}) id: build uses: google/oss-fuzz/infra/cifuzz/actions/build_fuzzers@master with: oss-fuzz-project-name: 'util-linux' dry-run: false allowed-broken-targets-percentage: 0 sanitizer: ${{ matrix.sanitizer }} architecture: ${{ matrix.architecture }} - name: Run Fuzzers (${{ matrix.sanitizer }}) uses: google/oss-fuzz/infra/cifuzz/actions/run_fuzzers@master with: oss-fuzz-project-name: 'util-linux' fuzz-seconds: 180 dry-run: false sanitizer: ${{ matrix.sanitizer }} - name: Upload Crash uses: actions/upload-artifact@v1 if: failure() && steps.build.outcome == 'success' with: name: ${{ matrix.sanitizer }}-${{ matrix.architecture }}-artifacts path: ./out/artifacts