GitHub Actions with Cronwatch
This check expects a daily scheduled workflow, with a generous grace because GitHub can delay scheduled runs. The GitHub Actions snippet adds a success step and a failure step to your workflow.
- Create the check: daily, with six hours of grace for GitHub schedule delays.
- Copy the GitHub Actions snippet and add both steps at the end of your scheduled job.
- Commit the workflow to the default branch; schedules only run from there.
- Use workflow_dispatch to trigger it once by hand and confirm the check turns UP.
What to know
GitHub documents that scheduled workflows can be delayed during periods of high load, and that a workflow on a public repository is disabled after 60 days without repository activity. Both failures are silent: nothing shows as failed, the run simply does not happen. A heartbeat check is the only way to notice a run that never started.
Schedules use UTC and only run from the default branch, two more common reasons a cron workflow appears not to trigger. If a change to the cron expression seems ignored, check which branch it is on. Very frequent schedules, such as every five minutes, are the most likely to be delayed or skipped.
The snippet uses if: success() and if: failure() so one step reports success and another calls the /fail URL when an earlier step fails. That way a broken build or test inside the scheduled job alerts you immediately instead of after the grace period.
Updated · Cosmovex
Questions
Why is my GitHub Actions cron not triggering?
Common causes are the workflow not being on the default branch, a UTC time you did not expect, delays under load, or GitHub disabling schedules on a repository with no activity for 60 days.
How much grace should I give a scheduled workflow?
Scheduled runs can start late, so allow several hours for daily jobs. Six hours of grace is preset here.
Does the ping need a secret?
No. The ping URL itself is the identifier. Store it as a repository secret if you prefer not to commit it.
Can I monitor several workflows?
Yes, one check per workflow. The free plan covers 3 checks; Pro covers 50.
The free plan covers everything on this page. Cronwatch Pro ($5/mo, billed monthly) is described on the Cronwatch page.