weblate/.github/workflows/cflite_pr.yml
renovate[bot] 2700e7e2cf
chore(deps): update actions/checkout action to v7.0.1 (#20782)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-07-20 17:15:17 +00:00

71 lines
2.3 KiB
YAML
Vendored

# Copyright © Weblate contributors
#
# SPDX-License-Identifier: GPL-3.0-or-later
name: ClusterFuzzLite PR Fuzzing
on:
pull_request:
permissions:
actions: read
contents: read
jobs:
pr-fuzzing:
permissions:
actions: read
contents: read
runs-on: ubuntu-24.04
timeout-minutes: 40
concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number }}
cancel-in-progress: true
strategy:
fail-fast: false
matrix:
sanitizer:
- address
steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
persist-credentials: false
- name: Build Fuzzers (${{ matrix.sanitizer }})
id: build
uses: google/clusterfuzzlite/actions/build_fuzzers@884713a6c30a92e5e8544c39945cd7cb630abcd1 # v1
with:
language: python
github-token: ${{ secrets.GITHUB_TOKEN }}
keep-unaffected-fuzz-targets: true
sanitizer: ${{ matrix.sanitizer }}
# Optional but recommended: use a dedicated storage repository with a
# fine-grained token instead of the main repository token.
# storage-repo: https://${{ secrets.CFLITE_STORAGE_TOKEN }}@github.com/OWNER/STORAGE-REPO.git
# storage-repo-branch: main
- name: Run Fuzzers (${{ matrix.sanitizer }})
id: run
timeout-minutes: 12
uses: ./.github/actions/cflite-run-fuzzers
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
fuzz-seconds: 180
mode: code-change
sanitizer: ${{ matrix.sanitizer }}
parallel-fuzzing: true
output-sarif: true
- name: Show fuzz findings (${{ matrix.sanitizer }})
if: always() && steps.build.outcome == 'success'
run: >-
python3 -m fuzzing.findings_reporter
--mode code-change
--sanitizer "${{ matrix.sanitizer }}"
--print-report
--github-step-summary
--no-sentry
- name: Upload crash summaries artifact (${{ matrix.sanitizer }})
if: always() && steps.build.outcome == 'success'
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
with:
name: cflite-pr-crash-summaries-${{ matrix.sanitizer }}
path: out/artifacts/**/*.summary
if-no-files-found: ignore