Your GitHub Actions cron can stop without telling you
Running anything on a GitHub Actions schedule:? GitHub's own docs say:
- Scheduled runs can be delayed at busy times, and some queued runs can be dropped. The top of the hour is busiest.
- In public repos, scheduled workflows are turned off after 60 days with no repository activity.
- Schedules only run from the default branch.
None of these throws an error; the job just doesn't run. (GitHub Docs)
The fix: make the job check in, and get alerted when it doesn't. End it with a step that curls a heartbeat URL.
- Move off :00. Schedule at an odd minute, with a 30–60 minute grace window.
- Check the output, not just the exit code. Send the output as the ping body so an empty "green" run still alerts.
Full GitHub Actions recipe, free for 3 watches.