Skip to content

fix: patch appdmg to use disk image path for hdiutil detach on macOS 15 arm64#169

Draft
haritabh-z01 with Copilot wants to merge 2 commits into
mainfrom
copilot/fix-build-macos-arm64
Draft

fix: patch appdmg to use disk image path for hdiutil detach on macOS 15 arm64#169
haritabh-z01 with Copilot wants to merge 2 commits into
mainfrom
copilot/fix-build-macos-arm64

Conversation

Copilot AI commented Jul 15, 2026

Copy link
Copy Markdown

hdiutil detach /Volumes/Amical fails with "No such file or directory" on macOS 15 Sequoia arm64. The volume mount path captured from hdiutil attach becomes stale before the cleanup step — disk arbitration can rename the volume to /Volumes/Amical 1 while the image remains attached.

Fix

Patch appdmg@0.6.6 (transitive dep via electron-installer-dmg@fellow/maker-dmg) to detach by disk image file path instead of volume mount path. hdiutil detach accepts a disk image path and resolves the device reliably regardless of volume name:

  pipeline.addCleanupStep('unmount-temporary-image', 'Unmounting temporary image', function (next) {
-   hdiutil.detach(temporaryMountPath, next)   // /Volumes/Amical — can be renamed by macOS
+   hdiutil.detach(global.temporaryImagePath, next)  // /tmp/xxx.dmg — always stable
  })

Changes

  • patches/appdmg@0.6.6.patch — one-line fix in the cleanup callback of the "Mounting temporary image" pipeline step
  • pnpm-workspace.yaml — adds patchedDependencies for appdmg@0.6.6; also migrates pnpm v10 settings (overrides, onlyBuiltDependencies, ignoredBuiltDependencies) from the now-ignored "pnpm" field in package.json to the correct location
  • pnpm-lock.yaml — updated with patch hash (fed75697…) so pnpm install --frozen-lockfile validates and applies the patch

…macOS 15

On macOS 14/15 Sequoia arm64, the volume mount path captured from
`hdiutil attach` (e.g. /Volumes/Amical) may become stale before the
cleanup step runs, causing `hdiutil detach /Volumes/Amical` to fail
with "No such file or directory". The disk image file path is stable
and can always be used to detach the associated device.

Changes:
- patches/appdmg@0.6.6.patch: single-line fix in appdmg cleanup step
  to use global.temporaryImagePath (disk image path) instead of
  temporaryMountPath (volume mount path) for hdiutil detach
- pnpm-workspace.yaml: migrate pnpm v10 settings (overrides,
  onlyBuiltDependencies, ignoredBuiltDependencies) from package.json
  pnpm field; add patchedDependencies for appdmg@0.6.6
- pnpm-lock.yaml: updated with patch hash for appdmg@0.6.6
Copilot AI changed the title [WIP] Fix failing GitHub Actions job Build macOS (arm64) fix: patch appdmg to use disk image path for hdiutil detach on macOS 15 arm64 Jul 15, 2026
Copilot AI requested a review from haritabh-z01 July 15, 2026 17:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants