monitor-exporter: install script, ship it in the zip, bump to 1.7.0 - #60
Merged
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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 releasebuild in a checkout), installs the compiled binary to/usr/local/bin/monitor-exporter(the onesudostep), writes a per-user LaunchAgent, loads it, and scrapes/metricsonce to confirm. Modeled onfancontrol'sinstall.sh. Idempotent; header documents removal. Port/address viaMONITOR_EXPORTER_PORT/MONITOR_EXPORTER_ADDRESS.make-app.shnow stagesinstall-exporter.shbesidemonitor-exporter, so./install-exporter.shworks straight from the unpacked zip. Verified locally — the built zip's top level:release:minorlabel but the auto-bump cut a patch (1.6.3) instead — so this usesrelease.yml's documented escape hatch (a PR that setsMonitorVersion.stringships exactly that version) to cut v1.7.0 on merge.docs/exporter.mdgets 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.shbuilds and stages all four artifacts, and thedittozip contains them at the top level.install-exporter.shpassesbash -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).