Fix macOS installer when release artifact is missing#291
Fix macOS installer when release artifact is missing#291manuschillerdev wants to merge 1 commit 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 |
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes 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 ed23bdc. Configure here.
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 |

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
Changes how GitHub releases are published (draft until macOS artifacts land) and how macOS installs resolve versions and binaries; mistakes could leave releases unpublished or ship unsigned builds if signing steps fail.
Overview
Fixes macOS installs when a GitHub release has Linux artifacts but no
darwin_arm64server archive, and aligns CI so those archives are produced and releases are not published half-finished.Release pipeline: GoReleaser now creates draft releases; the Linux job only runs on tag push. A macOS arm64 self-hosted job builds with
make sign-darwin, uploadshypeman_<version>_darwin_arm64.tar.gz, merges the archive intochecksums.txt, and on tag push publishes the release (--draft=false).workflow_dispatchwith a tag input backfills the macOS artifact for an existing release.Installer (
install.sh): On macOS, latest is resolved via the releases API (not “newest release that already has an artifact”). If the darwin tarball download fails, it builds that tag from source via a sharedbuild_server_from_sourcepath (also used forBRANCH). Docker is no longer required in preflight; it stays optional for the builder image. README/install header document the source-build prerequisites.Reviewed by Cursor Bugbot for commit a0748e1. Bugbot is set up for automated code reviews on this repo. Configure here.