A GitHub Action that allows you to wait for another GitHub check to complete. This is useful if you want to run one Workflow after another one finishes.
steps:
- name: Wait for build to succeed
uses: fountainhead/[email protected]
id: wait-for-build
with:
token: ${{ secrets.GITHUB_TOKEN }}
checkName: build
ref: ${{ github.event.pull_request.head.sha || github.sha }}
- name: Do something with a passing build
if: steps.wait-for-build.outputs.conclusion == 'success'
- name: Do something with a failing build
if: steps.wait-for-build.outputs.conclusion == 'failure'
This Action accepts the following configuration parameters via with:
-
token
Required
The GitHub token to use for making API requests. Typically, this would be set to
${{ secrets.GITHUB_TOKEN }}
. -
checkName
Required
The name of the GitHub check to wait for. For example,
build
ordeploy
. -
ref
Default:
github.sha
The Git ref of the commit you want to poll for a passing check.
PROTIP: You may want to use
github.pull_request.head.sha
when working with Pull Requests. -
repo
Default:
github.repo.repo
The name of the Repository you want to poll for a passing check.
-
owner
Default:
github.repo.owner
The name of the Repository's owner you want to poll for a passing check.
-
timeoutSeconds
Default:
600
The number of seconds to wait for the check to complete. If the check does not complete within this amount of time, this Action will emit a
conclusion
value oftimed_out
. -
intervalSeconds
Default:
10
The number of seconds to wait before each poll of the GitHub API for checks on this commit.
-
waitForAll
Default:
false
Wait for all the checks to complete. Returns the highest priority conclusion.
This Action emits a single output named conclusion
. Like the field of the same name in the CheckRunEvent API Response, it may be one of the following values:
success
stale
neutral
cancelled
timed_out
failure
action_required
These correspond to the conclusion
state of the Check you're waiting on. In addition, this action will emit a conclusion of timed_out
if the Check specified didn't complete within timeoutSeconds
.