blob: 11bf72aa19cb26a44386485e67469a5217edfb81 [file] [log] [blame]
# action.yml
name: 'run-fuzzers'
description: 'Runs fuzz target binaries for a specified length of time.'
inputs:
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'
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'
github-token:
description: |
Token for GitHub API. WARNING: THIS SHOULD NOT BE USED IN PRODUCTION YET
You should use "secrets.GITHUB_TOKEN" in your workflow file, do not
hardcode the token.
TODO(https://github.com/google/oss-fuzz/pull/5841#discussion_r639393361):
Document locking this down.
required: true
storage-repo:
description: |
The git repo to use for storing certain artifacts from fuzzing.
required: false
storage-repo-branch:
description: |
The branch of the git repo to use for storing certain artifacts from
fuzzing.
required: false
storage-repo-branch-coverage:
description: |
The branch of the git repo to use for storing coverage reports.
required: false
report-unreproducible-crashes:
description: 'If True, then unreproducible crashes will be reported by CIFuzz.'
required: false
default: false
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 }}
GITHUB_TOKEN: ${{ inputs.github-token }}
LOW_DISK_SPACE: 'True'
GIT_STORE_REPO: ${{ inputs.storage-repo }}
GIT_STORE_BRANCH: ${{ inputs.storage-repo-branch }}
GIT_STORE_BRANCH_COVERAGE: ${{ inputs.storage-repo-branch-coverage }}
REPORT_UNREPRODUCIBLE_CRASHES: ${{ inputs.report-unreproducible-crashes }}