GitHub Actions
Alerts when a scheduled workflow fails or stops running.
Find out when a scheduled workflow fails or stops running
Scheduled workflows fail without telling anyone. GitHub can delay or skip a run, it turns off schedules in quiet public repositories after 60 days, and a nightly job can fail for weeks in a repository nobody watches. Add the free, open-source Pingstack Heartbeat action (pingstack-io/heartbeat-action) as the last step, and every run reports to a heartbeat check.
- A run fails: you get an alert right away, with a link to the failed run.
- A run never happens: you get an alert once it’s overdue.
- A run succeeds but does nothing: send a number, like rows exported, and you’ll hear about it when it crosses a threshold.
Set it up
- Create a heartbeat check in Pingstack with the same cron schedule as your workflow.
- Save its ping URL as a repository secret named
PINGSTACK_PING_URL. - Add the step at the end of the job:
- name: Report to Pingstack
if: always()
uses: pingstack-io/heartbeat-action@v1
with:
ping-url: ${{ secrets.PINGSTACK_PING_URL }}
The action is a short script with no dependencies, and it runs on Linux, macOS and Windows runners. It keeps the ping URL out of your logs and never fails your job if Pingstack can’t be reached. Full steps are in the docs, and the source is on GitHub.
You might be interested in
Turn incidents into Jira tickets.
Claude Code, Codex, Cursor and other MCP clients
Learn more about claude code, codex, cursor and other mcp clientsLet your AI agent create checks and read incidents.
Wrap any scheduled job to report failures, output and run times.
Send incidents anywhere.
