Workflow scenarios
GitHub Actions workflows can run on different events. In most cases, you will want to trigger the Checkly CLI after a deployment is done based on a recentgit push
to a branch, when a branch is merged or when a pull request is created.
GitHub created the deployments API for this and many 3rd party
integrators like Vercel and Heroku use this to relay deployment status to GitHub. However, you can also call this API
yourself and trigger a deployment_status
event.
Make sure to set yourCHECKLY_API_KEY
andCHECKLY_ACCOUNT_ID
as secrets in your GitHub Actions settings before you get started.
Running on deployment_status
events
The deployment_status
event is the preferred event to trigger a GH Actions workflow that executes your checks. However,
this comes with some peculiarities that are native to GH Actions and a bit different from using the push
event.
- The deployment event holds core information about your deployment, i.e. the environment name and an optional
ENVIRONMENT_URL
. - The full git repo with full history is not available. We have to jump through some hoops to properly set the branch name for instance.
- We have no access to the original pull request that triggered the deployment event.
.github/workflows/checkly.yml
Usage with mono repos and Vercel deployments
If you are running a mono repo, you might bump into issues that multipledeployment_status
events will randomly trigger
your workflow. GitHub Actions does not have a great way to filter for this, but there are two strategies you can follow.
Filtering with if
statements.
If part of the URL for your deployments deterministically maps to one of the apps in your repo, you can just extend
the if
statement in your workflow, as shown below.
.github/workflows/checkly-filtered.yml
Using branch protection rules
In many cases, the above solution withif
statements is not enough. When using Vercel and mono repos for instance, GitHub
Actions will recognize any “skipped” statuses as “passed”. This can cause havoc. A way to sidestep this issue is by setting
a branch protection rule on your repo that is generated by your GH Action workflow.
You do this by adding the LouisBrunner/checks-action@v1.6.0 action
to your workflow and assigning some name. This name can be fixed or dynamic. See the example below.
.github/workflows/checkly-branch-protection.yml

if
statements, your GH Actions will now run only against the apps you want in your mono repo.
Using the GitHub Markdown Reporter
You can print a user friendly summary report to your GitHub Actions Job Summary by adding the--reporter=github
flag
to the test
command and export the resulting checkly-github-report.md
file to the $GITHUB_STEP_SUMMARY
variable.
In the example, you can see this in the following step:
.github/workflows/checkly-reporter.yml