Skip to content

monitor-exporter: install script, ship it in the zip, bump to 1.7.0 - #60

Merged
evandhoffman merged 2 commits into
mainfrom
worktree-exporter-install-script
Sep 14, 2026
Merged

evandhoffman merged 2 commits into
mainfrom
worktree-exporter-install-script

Conversation

@evandhoffman

Copy link
Copy Markdown
Contributor

Follow-up to #58 / #59: make the exporter a compiled binary you install and run, not swift run, and cut the minor release the feature earns.

What's here

  • Scripts/install-exporter.sh — one command from a checkout or an unpacked release zip to a running service. It finds a binary (the signed one beside it in a zip, or a fresh -c release build in a checkout), installs the compiled binary to /usr/local/bin/monitor-exporter (the one sudo step), writes a per-user LaunchAgent, loads it, and scrapes /metrics once to confirm. Modeled on fancontrol's install.sh. Idempotent; header documents removal. Port/address via MONITOR_EXPORTER_PORT / MONITOR_EXPORTER_ADDRESS.
  • Everything in the zip. make-app.sh now stages install-exporter.sh beside monitor-exporter, so ./install-exporter.sh works straight from the unpacked zip. Verified locally — the built zip's top level:
    install-exporter.sh
    monitord
    monitor-exporter
    monitor.app/
    
  • Bump to 1.7.0. The exporter is a feature, so it earns a minor. monitor-exporter: native Prometheus /metrics for SMC and GPU (#58) #59 merged with a release:minor label but the auto-bump cut a patch (1.6.3) instead — so this uses release.yml's documented escape hatch (a PR that sets MonitorVersion.string ships exactly that version) to cut v1.7.0 on merge.
  • Docs: docs/exporter.md gets the one-command install and a removal recipe; README's download note lists the script.

Verified

swift build && swift test (279 tests) green, lint clean, make-app.sh builds and stages all four artifacts, and the ditto zip contains them at the top level. install-exporter.sh passes bash -n; I did not run it here — it needs your interactive sudo password and installs a persistent LaunchAgent, so it's yours to run (! Scripts/install-exporter.sh).

@evandhoffman
evandhoffman merged commit 4644362 into main Sep 14, 2026
2 checks passed
@evandhoffman
evandhoffman deleted the worktree-exporter-install-script branch September 14, 2026 02:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant