From 3b650cac5f26512aa11f052a3197cabcac6db762 Mon Sep 17 00:00:00 2001 From: bherbruck Date: Fri, 9 Oct 2026 18:22:29 +0000 Subject: [PATCH] Release workflow: the macOS job mounts the .dmg and checks it (the app, its Info.plist, both architectures, the Applications link) Co-Authored-By: Claude Opus 5.5 --- .github/release/package-macos.sh | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/.github/release/package-macos.sh b/.github/release/package-macos.sh index f4fbce56..1d4c9a35 100755 --- a/.github/release/package-macos.sh +++ b/.github/release/package-macos.sh @@ -32,4 +32,13 @@ PLIST lipo -info "$app/Contents/MacOS/solvecraft" ln -s /Applications stage/dmg/Applications hdiutil create -volname "SolveCraft $tag" -srcfolder stage/dmg -ov -format UDZO "out/SolveCraft-$tag-macos-universal.dmg" +# Check the image: mount it and look at what a user will see. +mnt=$(mktemp -d) +hdiutil attach -readonly -nobrowse -mountpoint "$mnt" "out/SolveCraft-$tag-macos-universal.dmg" +ls -la "$mnt" "$mnt/SolveCraft.app/Contents" "$mnt/SolveCraft.app/Contents/MacOS" +test -L "$mnt/Applications" && test "$(readlink "$mnt/Applications")" = /Applications +plutil -lint "$mnt/SolveCraft.app/Contents/Info.plist" +lipo "$mnt/SolveCraft.app/Contents/MacOS/solvecraft" -verify_arch arm64 x86_64 +"$mnt/SolveCraft.app/Contents/MacOS/solvecraft" --version +hdiutil detach "$mnt" ls -l out