blob: d1c03c833a0c8ace5de2c1fa95c86ba045259768 [file] [log] [blame]
# 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'