fix(release): convert UDZO to temp path + compact (DMG repackage)#955
Merged
senamakel merged 1 commit intoApr 27, 2026
Merged
Conversation
`hdiutil convert -ov -o "$DMG_PATH"` fails consistently on the macOS GitHub runner with "hdiutil: convert failed - internal error" (~6ms in, before real work begins). The retry-on-flake fix from the previous commit doesn't help — the failure isn't transient, it's structural: the source DMG handle is still held by the imaging engine when the same path is reopened for write. The retries just hit the same condition three times. - Convert to a temporary output path, then `mv` over the original. The in-place overwrite is what trips the imaging engine. - `hdiutil compact` the writable image first to discard the zero blocks left over from the 1GB resize, so the UDZO pass has less to do and the final DMG isn't artificially huge. Retry loop preserved for genuine transient flakes, but cleans up the temp file between attempts.
Contributor
|
Caution Review failedPull request was closed or merged during review 📝 WalkthroughWalkthroughThe Changes
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~20 minutes Possibly related PRs
Poem
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
2 tasks
senamakel
added a commit
that referenced
this pull request
Apr 27, 2026
AusAgentSmith
pushed a commit
to AusAgentSmith/openhuman
that referenced
this pull request
May 23, 2026
AusAgentSmith
pushed a commit
to AusAgentSmith/openhuman
that referenced
this pull request
May 23, 2026
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.
Summary
Supersedes the retry-only approach in #952. The macOS release pipeline kept failing on
Re-package DMG after notarizationwith:Investigation against actual GitHub macOS runner logs confirmed the failure is structural, not transient — it fires in ~6ms, every attempt, before any real work. Root cause:
hdiutil convert -ov -o "$DMG_PATH"reopens the source path for write while the imaging engine still holds a handle on the input DMG, producing the unspecific "internal error".mvover the original. The in-place overwrite is what trips the engine; a separate output path sidesteps it.hdiutil compactthe writable image first to discard the zero blocks left over from the 1GB resize, so the UDZO output isn't carrying hundreds of MB of empty space.Reference failing run: https://github.com/tinyhumansai/openhuman/actions/runs/24970255766/job/73111881422
Test plan
Re-package DMG after notarizationsucceeds and the resulting DMG is correctly compressed (not the bloated 1GB writable layout).OpenHuman.appplus theApplicationssymlink, and stapled validation still passes.Summary by CodeRabbit