diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 5e01dc65..a6ab9d94 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -44,7 +44,7 @@ jobs: run: | brew update brew install zig - npm install --global create-dmg + brew install create-dmg - name: Build GhosttyKit.xcframework run: | @@ -160,12 +160,23 @@ jobs: xcrun stapler validate "$APP_PATH" spctl -a -vv --type execute "$APP_PATH" rm -f "$ZIP_SUBMIT" - # create-dmg generates a styled drag-to-install DMG (matches Ghostty's approach) + # create-dmg (brew) generates a styled drag-to-install DMG + # It expects: create-dmg [options] + # --no-internet-enable avoids deprecated flag warning + DMG_SOURCE="$(mktemp -d)" + cp -R "$APP_PATH" "$DMG_SOURCE/" create-dmg \ - --identity="$APPLE_SIGNING_IDENTITY" \ - "$APP_PATH" \ - ./ - mv ./cmuxterm*.dmg "$DMG_RELEASE" + --volname "cmuxterm" \ + --window-pos 200 120 \ + --window-size 660 400 \ + --icon-size 160 \ + --icon "cmuxterm.app" 180 170 \ + --app-drop-link 480 170 \ + --no-internet-enable \ + --codesign "$APPLE_SIGNING_IDENTITY" \ + "$DMG_RELEASE" \ + "$DMG_SOURCE" + rm -rf "$DMG_SOURCE" DMG_SUBMIT_JSON="$(xcrun notarytool submit "$DMG_RELEASE" --apple-id "$APPLE_ID" --team-id "$APPLE_TEAM_ID" --password "$APPLE_APP_SPECIFIC_PASSWORD" --wait --output-format json)" DMG_SUBMIT_ID="$(python3 -c 'import json,sys; print(json.load(sys.stdin)["id"])' <<<"$DMG_SUBMIT_JSON")" DMG_STATUS="$(python3 -c 'import json,sys; print(json.load(sys.stdin)["status"])' <<<"$DMG_SUBMIT_JSON")"