Add macOS DMG integration tests#14
Conversation
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 0ae6da4b3e
ℹ️ 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".
| } | ||
|
|
||
| async function detach (mountPath) { | ||
| await execFileAsync('hdiutil', ['detach', mountPath]) |
There was a problem hiding this comment.
Retry
hdiutil detach in integration cleanup
The integration helper does a single hdiutil detach attempt, but macOS often returns transient Resource busy (exit code 16) immediately after file reads; this repo’s production detach path already handles that with retries (lib/darwin/hdiutil.js). In CI, a transient busy mount will make these integration tests fail even when DMG generation is correct, so cleanup should mirror the retry/backoff behavior to avoid flaky failures.
Useful? React with 👍 / 👎.
Summary
Adds the macOS integration workflow for the Node 24 appdmg packages.
npm run test:integrationfor real DMG-generation tests/Applicationssymlink, background assets,.VolumeIcon.icns, and.DS_Storenpm testas the fast unit suitehdiutil attachmount parser for volume names containing spacesVerification
npm testnpm run test:integrationnpm audit --audit-level=moderatenpm ls --omit=dev --allnpm pack --dry-runnode --check ...for library sources and testsnpm ci && npm test && npm audit --audit-level=moderate && npm ls --omit=dev --all && npm pack --dry-run && node --check ...inpackages/cliCloses #8