GitHub Actions Monitoring

Monitor your scheduled GitHub Actions workflows

GitHub's scheduled workflows use cron syntax, but they can be delayed during periods of high load, skipped after repository inactivity, or silently fail when a script exits 0 with errors. Cronping adds a reliability layer on top of GitHub's scheduler.

.github/workflows/nightly-sync.yml
name: Nightly Sync

on:
  schedule:
    - cron: "0 2 * * *"

jobs:
  sync:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4

      - name: Run sync
        run: ./scripts/nightly-sync.sh

      - name: Ping Cronping (success)
        if: success()
        run: curl -fsS https://ping.cronping.com/YOUR_TOKEN

      - name: Ping Cronping (failure)
        if: failure()
        run: curl -fsS https://ping.cronping.com/YOUR_TOKEN/fail

One line added to your script. Cronping handles the rest.

The cost of silent failures

GitHub delays scheduled runs

GitHub can delay scheduled workflows by 15–30 minutes — or more — during high platform load. Your job that should fire at 02:00 UTC fires at 02:45 UTC. Or not at all.

Workflows auto-disabled on inactivity

GitHub automatically disables scheduled workflows in repositories with no commit activity for 60 days. No notification is sent. Your automation silently stops.

Silent script failures exit 0

A step script encounters an error but exits 0. The workflow shows green. The actual job didn't complete. GitHub has no idea — and neither do you.

No centralized workflow visibility

With 20+ repositories, you have 20+ places to check workflow run history. One missed nightly run in one repo can go unnoticed for days.

Set up in under 2 minutes

  1. 1

    Create a heartbeat

    Set up a heartbeat in Cronping matching your workflow's cron schedule. Give it a grace period to account for GitHub's scheduler variance (15–30 min recommended).

  2. 2

    Add two steps to your workflow

    Add a success step with `if: success()` and a failure step with `if: failure()`. Both call the Cronping ping URL with different paths. No extra action needed.

  3. 3

    Monitor all workflows in one place

    All your scheduled workflows appear in a single Cronping dashboard with 90-day history — regardless of how many repos or organizations you have.

Everything you need

No SDK, no dashboard agent, no infrastructure to manage.

Works across all repos

Monitor scheduled workflows from any number of repositories. One Cronping organization, all your GitHub Actions heartbeats in one view.

Success and failure detection

Use `if: success()` and `if: failure()` conditional steps to signal both outcomes. Know whether a workflow didn't run vs. ran and failed.

Delay detection

Set a grace period to tolerate GitHub's scheduler variance. Only alert when the workflow is genuinely late — not just slightly delayed.

90-day run history

Full timeline of every workflow run. Compare execution history against GitHub's UI to correlate platform delays with your business impact.

Instant team alerts

When a scheduled workflow is missed or fails, alert the responsible team via Slack, PagerDuty, email, or Teams.

Zero setup overhead

Two lines in your workflow YAML. No GitHub App to install, no Actions to configure, no permissions to grant beyond what curl needs.

Frequently asked questions

GitHub can skip scheduled runs during periods of high platform load, or automatically disable them if the repository has had no push activity for 60 days. Cronping detects both cases — the heartbeat simply misses its window.

We recommend 30–60 minutes for scheduled workflows. GitHub acknowledges delays can occur on shared runners. If your workflow is time-sensitive, consider using a grace period of 15 minutes and routing alerts to PagerDuty.

Yes, as long as your GitHub Enterprise runners have outbound internet access to ping.cronping.com. The workflow YAML is identical.

Create a heartbeat for each workflow. Cronping's dashboard lets you organize heartbeats by label or group, so you can view all workflows by team, environment, or criticality.

Indirectly yes. When GitHub disables a scheduled workflow, the runs stop firing. Cronping will alert you after the first missed window — typically within hours of the inactivity-based disable.

Stop discovering failures when it's too late.

Free to start. No credit card required. Add your first heartbeat in under 5 minutes.