Add release DMG packaging#71
Conversation
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: c362bbaf46
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| hdiutil attach apw-macos-vX.Y.Z.dmg | ||
| cp -R "/Volumes/APW vX.Y.Z/APW.app" /Applications/APW.app | ||
| install -m 0755 "/Volumes/APW vX.Y.Z/bin/apw" /usr/local/bin/apw | ||
| hdiutil detach "/Volumes/APW vX.Y.Z" |
There was a problem hiding this comment.
Keep DMG mounted until
apw app install completes
The new DMG install flow detaches "/Volumes/APW vX.Y.Z" before running apw app install, but native_app::resolve_packaged_native_app_bundle only searches CWD and executable-adjacent locations (for example APW.app beside apw or under ../libexec), not /Applications/APW.app. In this documented sequence, users who installed apw to /usr/local/bin will typically hit “Packaged APW app bundle not found” on first-use setup.
Useful? React with 👍 / 👎.
| printf '#!/usr/bin/env bash\necho apw\n' > "$ROOT_DIR/rust/target/release/apw" | ||
| chmod +x "$ROOT_DIR/rust/target/release/apw" | ||
| printf '#!/usr/bin/env bash\necho APW\n' > "$ROOT_DIR/native-app/dist/APW.app/Contents/MacOS/APW" | ||
| chmod +x "$ROOT_DIR/native-app/dist/APW.app/Contents/MacOS/APW" |
There was a problem hiding this comment.
Restore overwritten build artifacts in DMG packaging test
This test unconditionally overwrites rust/target/release/apw and the app executable with fake scripts and never restores prior contents, so running fast checks on a developer machine can silently replace real release artifacts and cause later packaging/manual verification to use dummy binaries until a rebuild. Please isolate test fixtures or back up/restore these paths.
Useful? React with 👍 / 👎.
pheidon
left a comment
There was a problem hiding this comment.
Approved from Pheidon sweep. DMG packaging adds focused packaging/test scripts and release workflow wiring; required checks are green.
pheidon
left a comment
There was a problem hiding this comment.
Pheidon approval after Hephaestus repair. Verified worker result: release workflow conflict resolved by preserving both DMG checksum and universal binary validation; conflict marker scan, universal release tests, verify-universal test, and fast checks passed. Auto-merge is enabled and GitHub checks are still running.
Close #45 by producing a DMG and checksum in the release workflow, documenting the manual install path, and adding a shell-safe packaging regression test. Verification: test-package-release-dmg, fast checks, release workflow YAML parse, shell syntax checks, and git diff --check.
2028407 to
9b23037
Compare
Summary
scripts/package-release-dmg.shto producedist/apw-macos-<tag>.dmgand a matching.sha256.apw app installcompletes so the CLI can discoverAPW.appbefore copying it into the per-user runtime directory.hdiutil, including assertions for the stagedbin/apw,APW.app,/Applicationssymlink payload, and the documented install-before-detach ordering.Verification
bash scripts/test-package-release-dmg.sh- passedbash -n scripts/test-package-release-dmg.sh scripts/package-release-dmg.sh- passedbash scripts/ci/run-fast-checks.sh- passedgit diff --check- passedNotes