imshakil/RunnerWatch
RunnerWatch — Instantly detect available self-hosted runners and fail fast when none are online.
View on GitHubTrust Signals
- Scorecard Score
- not yet scored
- Maintenance Recency
- Stale
- License
- None
Inputs
| name | description | required | default |
|---|---|---|---|
| token | GitHub token with permission to list self-hosted runners. Defaults to the workflow token (GITHUB_TOKEN) when scope is repo. For org scope, provide a PAT or app token with org admin:manage_runners. | no | ${{ github.token }} |
| scope | Where to look for runners. `repo` checks runners registered on the current repository, `org` checks all runners in the organization. | no | repo |
| org | Organization name. Required when scope=org. Defaults to the owner of the current repository when it is an org. | no | "" |
| owner | Repository owner (user or org). Only used when scope=repo. Leave empty to default to the owner of the repo running the workflow. | no | "" |
| repo | Repository name. Only used when scope=repo. Leave empty to default to the repo running the workflow. Override this when checking runners on a different repository. | no | "" |
| labels | Comma-separated list of labels. Only runners that have ALL of these labels will be considered. Leave empty to ignore labels. | no | "" |
| names | Comma-separated list of runner names. Only runners whose name appears in this list will be considered. Leave empty to ignore names. | no | "" |
| fail-on-offline | When `true`, the action throws (and fails the workflow) if no matching runner is online. When `false`, it always exits 0 and only exposes outputs. | no | true |
Outputs
| name | description |
|---|---|
| available | `true` if at least one matching runner is online, `false` otherwise. |
| online-count | Number of matching runners that are currently online. |
| total-count | Number of matching runners total (online + offline). |
| runners | JSON array of matching runners with id, name, status, labels, and busy flag. |