Put your build status in the menu bar

Send the number from wherever the build runs. On your Mac, one line at the end of a build script updates a Sent Value meter instantly: open -g "multimeter://set?key=build&value=0&label=FAIL". For CI that runs elsewhere, a Script meter can ask the GitHub CLI every minute.

Multimeter’s built-in faces, running live on sample data.

What macOS shows on its own

Nothing in macOS. Most people keep a browser tab open on the CI page.

How Multimeter shows it

  • Builds on your Mac: end the script with a multimeter:// link. The meter updates the moment the link opens, no polling.
  • CI in the cloud: a Script meter runs a command on a schedule (every 30 seconds by default) and shows the number it prints.
  • Set a warning or critical level (for example critical above 0 failures) and turn on the notification.

Set it up

  1. Add a meter: Sent Value with the key build for local builds, or Script for remote CI.
  2. Pick a face. Label & Value or LCD Readout for counts; Ring for a pass rate.
  3. Use one of the recipes below.

Every face works with every source it lists. See all 13 faces running live.

Recipes

After a local build or test run (zsh or bash), send pass or fail:

end of build.sh
if make test; then
  open -g "multimeter://set?key=build&value=1&label=BUILD&formatted=PASS"
else
  open -g "multimeter://set?key=build&value=0&label=BUILD&formatted=FAIL"
fi

Failed GitHub Actions runs in the last 20 on the current repo (needs the GitHub CLI, signed in). Paste into a Script meter:

Script meter command
cd ~/code/my-app && gh run list -L 20 --json conclusion -q '[.[] | select(.conclusion=="failure")] | length'

Commits shipped to main today, sent as the last step of your deploy script:

end of deploy.sh
git fetch -q origin
n=$(git log --since=midnight --oneline origin/main | wc -l | tr -d ' ')
open -g "multimeter://set?key=shipped&value=$n&label=SHIP"

Scripts run with zsh and Homebrew’s folders on the PATH, and must finish within 10 seconds.

Limits

Script meters need the direct download version (the one on sale on this site). Links and files work in every version.

Questions

Does the CI server need to reach my Mac?

No. Either the build runs on your Mac and sends a link, or your Mac asks the CI service with a Script or web address meter.

Can I show text like PASS instead of a number?

Yes. Add formatted=PASS to the link (or a "formatted" field in JSON) and faces show your text. The value still drives the colors and alerts.

Related

Put it in your menu bar

$19.99 one-time. No subscription. 30-day refund. Needs macOS 13 Ventura or later.