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
- Add a meter: Sent Value with the key build for local builds, or Script for remote CI.
- Pick a face. Label & Value or LCD Readout for counts; Ring for a pass rate.
- 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:
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"
fiFailed GitHub Actions runs in the last 20 on the current repo (needs the GitHub CLI, signed in). Paste into a Script meter:
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:
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.