Skip to content

ClusterFuzzLite batch fuzzing #251

ClusterFuzzLite batch fuzzing

ClusterFuzzLite batch fuzzing #251

name: ClusterFuzzLite batch fuzzing
on:
workflow_dispatch:
inputs:
fuzz-seconds:
description: 'Total time to fuzz, in seconds'
required: true
default: '3600'
type: string
schedule:
- cron: '0 3 * * *'
permissions:
contents: read
jobs:
BatchFuzzing:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
sanitizer:
- address
steps:
- name: Harden Runner
uses: step-security/harden-runner@63c24ba6bd7ba022e95695ff85de572c04a18142 # v2.7.0
with:
disable-sudo: true
egress-policy: block
allowed-endpoints: >
github.com:443
crates.io:443
index.crates.io:443
static.crates.io:443
archive.ubuntu.com:80
security.ubuntu.com:80
static.rust-lang.org:443
gcr.io:443
storage.googleapis.com:443
- name: Build Fuzzers (${{ matrix.sanitizer }})
id: build
uses: google/clusterfuzzlite/actions/build_fuzzers@884713a6c30a92e5e8544c39945cd7cb630abcd1 # v1
with:
language: rust
sanitizer: ${{ matrix.sanitizer }}
- name: Run Fuzzers (${{ matrix.sanitizer }})
id: run
uses: google/clusterfuzzlite/actions/run_fuzzers@884713a6c30a92e5e8544c39945cd7cb630abcd1 # v1
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
fuzz-seconds: ${{ inputs.fuzz-seconds || '3600' }}
mode: 'batch'
sanitizer: ${{ matrix.sanitizer }}
output-sarif: true
storage-repo: https://${{ secrets.CLUSTERFUZZLITE_STORAGE_TOKEN }}@github.com/rsonquery/rsonpath-fuzz-storage.git
ReportCrash:
runs-on: ubuntu-latest
permissions:
contents: read
issues: write
needs: BatchFuzzing
if: ${{ always() && needs.BatchFuzzing.result == 'failure' }}
steps:
- name: Harden Runner
uses: step-security/harden-runner@63c24ba6bd7ba022e95695ff85de572c04a18142 # v2.7.0
with:
egress-policy: audit
- name: Checkout sources
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
with:
submodules: true
- name: Report crash
id: report
uses: JasonEtco/create-an-issue@1b14a70e4d8dc185e5cc76d3bec9eab20257b2c5 # v2.9.2
with:
filename: .github/internal_templates/fuzz_failure.md
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
RUN_ID: ${{ github.run_id }}
storage-repo-branch: main
storage-repo-branch-coverage: gh-pages