aboutsummaryrefslogtreecommitdiff
path: root/infra/cifuzz/external-actions/run_fuzzers/action.yml
diff options
context:
space:
mode:
Diffstat (limited to 'infra/cifuzz/external-actions/run_fuzzers/action.yml')
-rw-r--r--infra/cifuzz/external-actions/run_fuzzers/action.yml69
1 files changed, 69 insertions, 0 deletions
diff --git a/infra/cifuzz/external-actions/run_fuzzers/action.yml b/infra/cifuzz/external-actions/run_fuzzers/action.yml
new file mode 100644
index 000000000..cdefb5675
--- /dev/null
+++ b/infra/cifuzz/external-actions/run_fuzzers/action.yml
@@ -0,0 +1,69 @@
+# 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.
+ default: main
+ required: false
+ storage-repo-branch-coverage:
+ description: |
+ The branch of the git repo to use for storing coverage reports.
+ default: gh-pages
+ 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 }}