schedule-watch: know when a scheduled GitHub Actions workflow stops doing its job

schedule-watch watches every workflow with an on: schedule trigger in the repositories you choose. When one needs attention, it opens an issue in that repository. When the problem clears, it closes the issue. There is nothing to add to your workflows.

Install schedule-watch

What it reports

How it decides a run is missing

GitHub starts scheduled runs late under load and skips some entirely. To avoid false alarms:

Limits

Up to 50 scheduled workflows per repository and 100 scheduled workflows per installation are watched.

Past a limit, workflows already being watched keep their place, so the same ones stay watched from one check to the next. Which of the rest is picked up follows the order GitHub lists them in. To choose for yourself, add the workflows you do not need to ignore in the settings file; that frees room for the others.

A workflow is also left unwatched when:

There is no page listing which workflows are watched, so if one is missing from your alerts, check it against the limits above yourself.

Permissions it asks for

Issues must be turned on in each repository you want alerts for. Repositories with Issues turned off are skipped.

Optional settings

Add .github/schedule-watch.yml to a repository's default branch to change how it is watched. It is read again after a push that changes it.

enabled: true
ignore:
  - .github/workflows/nightly.yml
grace_minutes: 120

The file may contain only enabled, ignore, and grace_minutes. If it has any other key, a value that breaks these rules (such as enabled: no), or invalid YAML, the whole file is ignored, even a correct enabled: false, and the repository is watched with the defaults. Nothing warns you when this happens. If a setting seems to have no effect, check the file against these rules first.

Stopping alerts

Whichever you choose, and however a workflow stops being watched, issues already open stay open and are not updated again. Close them yourself when you are done with them. Nothing is watching them any more, so nothing will.

Alert issues carry the label schedule-watch, so you can filter them or route them to the right people.