--- # vi: ts=2 sw=2 et: # SPDX-License-Identifier: LGPL-2.1-or-later # See: https://google.github.io/oss-fuzz/getting-started/continuous-integration/ name: CIFuzz permissions: contents: read on: pull_request: paths: - '**/meson.build' - '.github/workflows/**' - 'meson_options.txt' - 'src/**' - 'test/fuzz/**' - 'tools/oss-fuzz.sh' push: branches: - main jobs: Fuzzing: runs-on: ubuntu-latest if: github.repository == 'systemd/systemd' concurrency: group: ${{ github.workflow }}-${{ matrix.sanitizer }}-${{ github.ref }} cancel-in-progress: true strategy: fail-fast: false matrix: sanitizer: [address, undefined, memory] steps: - name: Build Fuzzers (${{ matrix.sanitizer }}) id: build uses: google/oss-fuzz/infra/cifuzz/actions/build_fuzzers@master with: oss-fuzz-project-name: 'systemd' dry-run: false allowed-broken-targets-percentage: 0 sanitizer: ${{ matrix.sanitizer }} - name: Run Fuzzers (${{ matrix.sanitizer }}) uses: google/oss-fuzz/infra/cifuzz/actions/run_fuzzers@master with: oss-fuzz-project-name: 'systemd' fuzz-seconds: 600 dry-run: false sanitizer: ${{ matrix.sanitizer }} - name: Upload Crash uses: actions/upload-artifact@27121b0bdffd731efa15d66772be8dc71245d074 if: failure() && steps.build.outcome == 'success' with: name: ${{ matrix.sanitizer }}-artifacts path: ./out/artifacts