mirror of
https://github.com/coturn/coturn.git
synced 2025-12-25 09:51:37 +01:00
allow fuzzing to be performed as part of the continuous integration. the timing of the fuzzing can be extended, and i aim to broaden the scope of the fuzz testing as well, since we currently only test the stun message parser.
42 lines
1.2 KiB
YAML
42 lines
1.2 KiB
YAML
name: CIFuzz
|
|
on:
|
|
[pull_request]
|
|
permissions: {}
|
|
jobs:
|
|
Fuzzing:
|
|
runs-on: ubuntu-latest
|
|
permissions:
|
|
security-events: write
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
sanitizer: [address, memory, undefined]
|
|
steps:
|
|
- name: checkout repository
|
|
uses: actions/checkout@v5
|
|
- name: build fuzzers (${{ matrix.sanitizer }})
|
|
id: build
|
|
uses: google/oss-fuzz/infra/cifuzz/actions/build_fuzzers@master
|
|
with:
|
|
oss-fuzz-project-name: 'coturn'
|
|
language: c
|
|
sanitizer: ${{ matrix.sanitizer }}
|
|
- name: run fuzzers (${{ matrix.sanitizer }})
|
|
uses: google/oss-fuzz/infra/cifuzz/actions/run_fuzzers@master
|
|
with:
|
|
oss-fuzz-project-name: 'coturn'
|
|
language: c
|
|
sanitizer: ${{ matrix.sanitizer }}
|
|
fuzz-seconds: 600
|
|
output-sarif: true
|
|
- name: upload crash
|
|
uses: actions/upload-artifact@v4
|
|
if: failure() && steps.build.outcome == 'success'
|
|
with:
|
|
name: ${{ matrix.sanitizer }}_artifacts
|
|
path: ./out/artifacts
|
|
- name: upload sarif
|
|
if: always() && steps.build.outcome == 'success'
|
|
uses: github/codeql-action/upload-sarif@v3
|
|
with:
|
|
sarif_file: cifuzz-sarif/results.sarif |