Fix macOS installer when release artifact is missing#291
Fix macOS installer when release artifact is missing#291manuschillerdev wants to merge 4 commits into
Conversation
|
Created a monitoring plan for this PR. What this PR does: Makes the Hypeman macOS full installer work when the latest release doesn't include a pre-built macOS server binary — it now falls back to building from source instead of failing with an error. Docker is no longer required at install time on macOS. Intended effect:
Risks:
Status updates will be posted automatically on this PR as monitoring progresses. |
1eb984b to
ed23bdc
Compare
|
Added the release-side fix as well: the release workflow now builds and uploads |
ed23bdc to
91f7b47
Compare
91f7b47 to
a0748e1
Compare
|
Addressed the remaining caveats from the monitoring plan: future tag releases are now created as drafts and only published after the macOS artifact plus merged checksums are uploaded, so installers will not see a partially-published latest release. I also validated the macOS source build/signing path with |
jarugupj
left a comment
There was a problem hiding this comment.
Hi @manuschillerdev, thanks for the PR and the quick turnaround on the bugbot findings.
Heads up that parts of #273 were handled in parallel while this was in flight, which is why the issue is closed:
- #282 publishes
hypeman_<version>_darwin_arm64.tar.gzvia arelease-darwinCI job — the latest release (v0.1.1) ships it. - #281 added
scripts/install-cli.sh, andget.hypeman.sh/cliredirects to it.
What's not on main yet and I'd like to land from this PR:
- the source-build fallback in
install.shwhen the darwin artifact is missing - dropping the hard Docker CLI requirement in the macOS preflight
- the README note on source-build prerequisites
Could you drop the .github/workflows/release.yml and .goreleaser.yaml changes? The release side is already covered on our end — the macos-14 job produces the artifact (ad-hoc signing works without a Developer ID, per your own validation), v0.1.1 already ships it so there's nothing to backfill, and the source-build fallback covers the partial-publish window anyway.
Once it's trimmed to install.sh + README it should be quick to land.
|
hey @jarugupj - thanks for taking the time to review the PR. I addressed the review feedback: removed the release workflow and GoReleaser changes, leaving only the installer fallback, optional Docker preflight, and README prerequisites updates. |
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes using high effort and found 1 potential issue.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit d3e5816. Configure here.

Summary
BRANCHinstalls instead of duplicating ithypeman_<version>_darwin_arm64.tar.gzfrom the release workflow on a macOS arm64 runner and updatechecksums.txtworkflow_dispatchto backfill the macOS artifact for an existing release tagCloses #273.
Validation
bash -n scripts/install.sh scripts/install-cli.shgit diff --checkactionlint -ignore 'label "kvm" is unknown' .github/workflows/release.ymlmake sign-darwinhttps://get.hypeman.sh/clicurrently redirects toscripts/install-cli.shv0.1.0only has Linux server archivesNote
Medium Risk
Installer behavior changes for all macOS release installs (version selection and automatic source builds), which affects first-run reliability and install time but not runtime server logic.
Overview
Fixes macOS full-server installs when GitHub releases lack a darwin server archive (e.g. Linux-only tags).
scripts/install.shnow resolves the latest release tag on macOS (instead of scanning for an artifact like Linux). It tries the prebuilthypeman_*_darwin_arm64.tar.gz; on 404 or a bad extract, it warns and builds that tag from source via a sharedbuild_server_from_sourcepath (also used forBRANCH). Preflight drops the Docker CLI requirement on macOS; Docker stays optional for the builder image step.VERSION=latestis normalized early; source builds need git/go/make throughrequire_source_build_tools.README documents the prebuilt-vs-source behavior and that Xcode CLT, Go, and Make are needed for source fallback.
Reviewed by Cursor Bugbot for commit 0fe1e42. Bugbot is set up for automated code reviews on this repo. Configure here.