You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
48 lines
1.7 KiB
48 lines
1.7 KiB
# action.yml
|
|
name: 'run-fuzzers'
|
|
description: 'Runs fuzz target binaries for a specified length of time.'
|
|
inputs:
|
|
oss-fuzz-project-name:
|
|
description: 'The OSS-Fuzz project name.'
|
|
required: true
|
|
language:
|
|
description: 'Programming language project is written in.'
|
|
required: false
|
|
default: 'c++'
|
|
fuzz-seconds:
|
|
description: 'The total time allotted for fuzzing in seconds.'
|
|
required: true
|
|
default: 600
|
|
dry-run:
|
|
description: 'If set, run the action without actually reporting a failure.'
|
|
default: false
|
|
sanitizer:
|
|
description: 'The sanitizer to run the fuzzers with.'
|
|
default: 'address'
|
|
build-integration-path:
|
|
description: "The path to the the project's build integration."
|
|
required: false
|
|
run-fuzzers-mode:
|
|
description: |
|
|
The mode to run the fuzzers with ("ci" or "batch").
|
|
"ci" is for fuzzing a pull request or commit.
|
|
"batch" is for non-interactive fuzzing of an entire project.
|
|
"batch" is in alpha and should not be used in production.
|
|
required: false
|
|
default: 'ci'
|
|
runs:
|
|
using: 'docker'
|
|
image: '../../../run_fuzzers.Dockerfile'
|
|
env:
|
|
OSS_FUZZ_PROJECT_NAME: ${{ inputs.oss-fuzz-project-name }}
|
|
LANGUAGE: ${{ inputs.language }}
|
|
FUZZ_SECONDS: ${{ inputs.fuzz-seconds }}
|
|
DRY_RUN: ${{ inputs.dry-run}}
|
|
SANITIZER: ${{ inputs.sanitizer }}
|
|
RUN_FUZZERS_MODE: ${{ inputs.run-fuzzers-mode }}
|
|
# TODO(metzman): Even though this param is used for building, it's needed
|
|
# for running because we use it to distinguish OSS-Fuzz from non-OSS-Fuzz.
|
|
# We should do something explicit instead.
|
|
BUILD_INTEGRATION_PATH: ${{ inputs.build-integration-path }}
|
|
LOW_DISK_SPACE: 'True'
|