# 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'