2020-04-24 13:00:44 +03:00
---
# vi: ts=2 sw=2 et:
2021-10-01 13:10:22 +03:00
# SPDX-License-Identifier: LGPL-2.1-or-later
2020-04-24 13:00:44 +03:00
# See: https://google.github.io/oss-fuzz/getting-started/continuous-integration/
name : CIFuzz
2021-11-13 17:40:20 +03:00
2021-11-14 01:34:04 +03:00
permissions :
contents : read
2021-11-13 17:40:20 +03:00
2020-05-08 19:46:46 +03:00
on :
pull_request :
paths :
- '**/meson.build'
- '.github/workflows/**'
- 'meson_options.txt'
- 'src/**'
- 'test/fuzz/**'
- 'tools/oss-fuzz.sh'
2020-05-08 21:14:19 +03:00
push :
branches :
2021-01-21 16:52:18 +03:00
- main
2020-04-24 13:00:44 +03:00
jobs :
2021-11-10 18:42:07 +03:00
Fuzzing :
runs-on : ubuntu-latest
if : github.repository == 'systemd/systemd'
2021-11-10 18:45:12 +03:00
concurrency :
2021-11-10 22:15:41 +03:00
group : ${{ github.workflow }}-${{ matrix.sanitizer }}-${{ github.ref }}
2021-11-10 18:45:12 +03:00
cancel-in-progress : true
2021-11-10 18:42:07 +03:00
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
2022-02-11 05:01:33 +03:00
# keep-unaffected-fuzz-targets should be removed once https://github.com/google/oss-fuzz/issues/7011 is fixed
keep-unaffected-fuzz-targets : true
2021-11-10 18:42:07 +03:00
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
2021-12-20 12:19:10 +03:00
uses : actions/upload-artifact@82c141cc518b40d92cc801eee768e7aafc9c2fa2
2021-11-10 18:42:07 +03:00
if : failure() && steps.build.outcome == 'success'
with :
name : ${{ matrix.sanitizer }}-artifacts
path : ./out/artifacts