GitHub disables a scheduled workflow after 60 days with no repo activity, and a failing nightly job rots with no banner and one email to whoever last touched it.
The backup job was green for a year, so you stopped looking. Then the restore fails and you learn the workflow was auto-disabled in March, silently, because the repo had a quiet stretch and GitHub's 60-day rule kicked in. There was no error in the Actions tab and no banner, just a single email routed to whoever last enabled it.
CI Sentinel watches for exactly the failures GitHub does not shout about: a run that ends in failure or timeout, a scheduled job that skips its window, and the auto-disable itself. Each one becomes a phone push that names the repo and the workflow.
CI Sentinel polls the Actions API with your own token and pushes a phone alert the moment a workflow fails, goes quiet, or gets auto-disabled. Self-hosted on your Cloudflare account, installable on your iPhone.
It learns each scheduled workflow's cadence and pings when a run is more than twice late. GitHub's scheduler runs late under load; the kit allows for that before it cries.
The failure mode the keepalive hacks paper over. You get told the moment a workflow flips to disabled, with the reason, so you re-enable on purpose.
Cronitor and CronJobPro monitor cron jobs well, and both bill by the month once you outgrow the free five monitors: Cronitor's paid plan runs $2 per monitor plus $5 per user each month (pricing, as of Sep 2026), so a team watching thirty workflows lands past $70 a month, forever. They also work as a heartbeat: your workflow has to ping their URL, so you instrument every job you want covered.
| Cronitor | CI Sentinel | |
|---|---|---|
| Price | $2/monitor/mo + $5/user/mo after 5 free | $49 once |
| Setup per workflow | Add a heartbeat ping to each job | None; reads the Actions API |
| 60-day auto-disable alert | Indirectly, via missed heartbeat | Named directly, with the reason |
| Where data lives | Their servers | Your Cloudflare account |
| Integrations | Slack, PagerDuty, SMS, more | iPhone and Web Push only |
Cronitor is the better buy if you want a hosted status page, SMS, and PagerDuty routing for a whole team. CI Sentinel is for the developer who wants a phone ping when their own Actions break, paid once, with no job instrumentation and no data leaving their account.
Create the database and apply the included schema.
Run the included key generator, set your admin token and a fine-grained GitHub PAT with read-only Actions access.
Deploy. Open it on your phone, add a repo, tap Enable alerts.
The README walks every step, including the Windows trap that corrupts secrets when you pipe them the wrong way.
A fine-grained personal access token with read-only access to Actions on the repos you watch. Authenticated calls get GitHub's full 5,000 requests per hour, so polling stays well inside the limit. The token is a Worker secret; it never reaches the database or the browser.
Yes, for any repo your token can read, private or public, personal or org. One instance watches many repos. If your token loses access to a repo, that repo's last-checked time goes stale in the app instead of failing silently.
Yes, from the installed home-screen app on iOS 16.4 or later. Apple requires the home-screen install for Web Push. The kit ships a test-ping button so you can prove it before you trust it.
Cloudflare's Workers Paid plan, $5 a month, paid by you to Cloudflare. The default 15-minute polling sits far inside that plan's limits. There is no subscription to me and no phone-home in the code.
It is not a hosted service, and it does not route to Slack, SMS, or PagerDuty today; alerts go to your phone by Web Push. It watches GitHub Actions only, not GitLab or Jenkins. It reads run history through the API, so a failure and its recovery inside one 15-minute window collapse into the latest state rather than two separate pings.
What you get
Launching soon. Leave your email and the launch link lands in your inbox the moment it is live. One email, no list, no spam.