Launched this week

Standfast
Know if your Mac's GitHub Actions runners will get work
56 followers
Know if your Mac's GitHub Actions runners will get work
56 followers
A free macOS menu bar app for self-hosted GitHub Actions runners. It asks launchd whether each runner is alive and GitHub whether it still counts on it, and never mixes up the two answers.





Hi everyone, I'm Pedro, and Standfast is my side project.
If you host a GitHub Actions runner on a Mac, you may know this one: ./svc.sh status still says Started, but GitHub has stopped sending it jobs. You find out when someone asks why a build has been queued for an hour.
Standfast checks both sides on every refresh: launchd for the process, the GitHub API for the registration. When the process is running but GitHub has the runner offline, it shows Disconnected instead of looking healthy.
It also shows how long the current job usually takes, what's queued for repository runners (with a token), and how much disk work and diag use, with a cleanup that never touches checkouts.
Free, MIT-licensed, no telemetry of its own, macOS 14 or later:
brew install --cask perafan18/tap/standfast
One question: when one runner is busy and another is disconnected, the menu bar icon shows busy, because a running build is usually what someone is waiting on. Would you rather it showed the warning first?
warning first i think, a busy runner isn't something i'd act on
@pedroperafan cool, thanks Pedro
Checking both sides on every refresh is the key detail here. A runner that looks healthy from launchd alone can still be offline in GitHub, and that mismatch is exactly the kind of silent failure that only surfaces when a build has been queued for an hour. I also agree with surfacing the disconnected state first in the menu bar: a busy runner is working as expected, while a disconnected one is the state you actually need to act on. Keeping the cleanup away from checkouts is a reassuring constraint for a tool that runs alongside real work.