Monitoring GitHub Actions scheduled workflows: a practical guide
GitHub Actions is a surprisingly capable cron scheduler. Schedule a workflow, let it run nightly, forget about it.
Until it stops running. And you don't notice for two weeks.
Scheduled workflows in GitHub Actions are quietly unreliable. GitHub delays them, skips them during high load, and β most importantly β gives you no built-in alerting when they fail silently. Adding external monitoring takes about 5 minutes and saves you from that two-week discovery.
The basic setup
Here's a minimal scheduled workflow with monitoring:
name : Nightly export
on : schedule : - cron : ' 0 2 * * *' # 2am UTC every day workflow_dispatch : # allows manual triggering for testing
jobs : export : runs-on : ubuntu-latest steps : - uses : actions/checkout@v4
- name : Run export run : python scripts/export.py
- name : Ping DeadManCheck if : success() run : curl -fsS https://deadmancheck.io/ping/${{ secrets.DEADMANCHECK_TOKEN }} > /dev/null
Enter fullscreenβ¦