chore(workflow): 🚀 Update GUI packaging process for macOS

* Added a sleep command before creating the `.dmg` file to ensure proper execution.
* Modified the `hdiutil create` command to include `-debug` for troubleshooting.
This commit is contained in:
Robert Honz
2025-07-03 23:45:21 +02:00
parent 0e7dda5622
commit ae17fab057
2 changed files with 50 additions and 49 deletions
+48 -48
View File
@@ -107,54 +107,54 @@ jobs:
cd dist && cd dist &&
zip -r ${{needs.compute.outputs.OUT_NAME_FILE}}_${{needs.compute.outputs.ARCH_MACOS_X64}}${{needs.compute.outputs.ASSET_EXTENSION}} ${{needs.compute.outputs.OUT_NAME_FILE}}.dmg -x "*.DS_Store" && zip -r ${{needs.compute.outputs.OUT_NAME_FILE}}_${{needs.compute.outputs.ARCH_MACOS_X64}}${{needs.compute.outputs.ASSET_EXTENSION}} ${{needs.compute.outputs.OUT_NAME_FILE}}.dmg -x "*.DS_Store" &&
cd .. cd ..
- os: "macos-14" # - os: "macos-14"
TARGET: "macos-14 M1" # TARGET: "macos-14 M1"
OS_ARCH: ${{needs.compute.outputs.ARCH_MACOS_ARM64}} # OS_ARCH: ${{needs.compute.outputs.ARCH_MACOS_ARM64}}
CMD_BUILD: > # CMD_BUILD: >
brew install create-dmg && # brew install create-dmg &&
source $VENV && # source $VENV &&
poetry run make gui-macos-dmg APP_NAME=${{needs.compute.outputs.OUT_NAME_FILE}} && # poetry run make gui-macos-dmg APP_NAME=${{needs.compute.outputs.OUT_NAME_FILE}} &&
cd dist && # cd dist &&
zip -r ${{needs.compute.outputs.OUT_NAME_FILE}}_${{needs.compute.outputs.ARCH_MACOS_ARM64}}${{needs.compute.outputs.ASSET_EXTENSION}} ${{needs.compute.outputs.OUT_NAME_FILE}}.dmg -x "*.DS_Store" && # zip -r ${{needs.compute.outputs.OUT_NAME_FILE}}_${{needs.compute.outputs.ARCH_MACOS_ARM64}}${{needs.compute.outputs.ASSET_EXTENSION}} ${{needs.compute.outputs.OUT_NAME_FILE}}.dmg -x "*.DS_Store" &&
cd .. # cd ..
- os: "ubuntu-24.04" # - os: "ubuntu-24.04"
TARGET: "ubuntu-22.04" # TARGET: "ubuntu-22.04"
OS_ARCH: ${{needs.compute.outputs.ARCH_LINUX_X64}} # OS_ARCH: ${{needs.compute.outputs.ARCH_LINUX_X64}}
CMD_BUILD: > # CMD_BUILD: >
source $VENV && # source $VENV &&
poetry run make gui-linux APP_NAME=${{needs.compute.outputs.OUT_NAME_FILE}} && # poetry run make gui-linux APP_NAME=${{needs.compute.outputs.OUT_NAME_FILE}} &&
cd dist && # cd dist &&
zip -r ${{needs.compute.outputs.OUT_NAME_FILE}}_${{needs.compute.outputs.ARCH_LINUX_X64}}${{needs.compute.outputs.ASSET_EXTENSION}} ${{needs.compute.outputs.OUT_NAME_FILE}} && # zip -r ${{needs.compute.outputs.OUT_NAME_FILE}}_${{needs.compute.outputs.ARCH_LINUX_X64}}${{needs.compute.outputs.ASSET_EXTENSION}} ${{needs.compute.outputs.OUT_NAME_FILE}} &&
cd .. # cd ..
- os: "ubuntu-24.04-arm" # - os: "ubuntu-24.04-arm"
TARGET: "ubuntu-22.04-arm" # TARGET: "ubuntu-22.04-arm"
OS_ARCH: ${{needs.compute.outputs.ARCH_LINUX_ARM64}} # OS_ARCH: ${{needs.compute.outputs.ARCH_LINUX_ARM64}}
CMD_BUILD: > # CMD_BUILD: >
source $VENV && # source $VENV &&
poetry run make gui-linux APP_NAME=${{needs.compute.outputs.OUT_NAME_FILE}} && # poetry run make gui-linux APP_NAME=${{needs.compute.outputs.OUT_NAME_FILE}} &&
cd dist && # cd dist &&
zip -r ${{needs.compute.outputs.OUT_NAME_FILE}}_${{needs.compute.outputs.ARCH_LINUX_ARM64}}${{needs.compute.outputs.ASSET_EXTENSION}} ${{needs.compute.outputs.OUT_NAME_FILE}} && # zip -r ${{needs.compute.outputs.OUT_NAME_FILE}}_${{needs.compute.outputs.ARCH_LINUX_ARM64}}${{needs.compute.outputs.ASSET_EXTENSION}} ${{needs.compute.outputs.OUT_NAME_FILE}} &&
cd .. # cd ..
- os: "windows-2022" # - os: "windows-2022"
TARGET: "windows-2022" # TARGET: "windows-2022"
OS_ARCH: ${{needs.compute.outputs.ARCH_WINDOWS_X64}} # OS_ARCH: ${{needs.compute.outputs.ARCH_WINDOWS_X64}}
CMD_BUILD: > # CMD_BUILD: >
choco install zip make -y && # choco install zip make -y &&
source $VENV && # source $VENV &&
poetry run make gui-windows APP_NAME=${{needs.compute.outputs.OUT_NAME_FILE}} && # poetry run make gui-windows APP_NAME=${{needs.compute.outputs.OUT_NAME_FILE}} &&
cd dist && # cd dist &&
zip -r ${{needs.compute.outputs.OUT_NAME_FILE}}_${{needs.compute.outputs.ARCH_WINDOWS_X64}}${{needs.compute.outputs.ASSET_EXTENSION}} ${{needs.compute.outputs.OUT_NAME_FILE}} && # zip -r ${{needs.compute.outputs.OUT_NAME_FILE}}_${{needs.compute.outputs.ARCH_WINDOWS_X64}}${{needs.compute.outputs.ASSET_EXTENSION}} ${{needs.compute.outputs.OUT_NAME_FILE}} &&
cd .. # cd ..
- os: "windows-11-arm" # - os: "windows-11-arm"
TARGET: "windows-11-arm" # TARGET: "windows-11-arm"
OS_ARCH: ${{needs.compute.outputs.ARCH_WINDOWS_ARM64}} # OS_ARCH: ${{needs.compute.outputs.ARCH_WINDOWS_ARM64}}
CMD_BUILD: > # CMD_BUILD: >
choco install zip make -y && # choco install zip make -y &&
source $VENV && # source $VENV &&
poetry run make gui-windows APP_NAME=${{needs.compute.outputs.OUT_NAME_FILE}} && # poetry run make gui-windows APP_NAME=${{needs.compute.outputs.OUT_NAME_FILE}} &&
cd dist && # cd dist &&
zip -r ${{needs.compute.outputs.OUT_NAME_FILE}}_${{needs.compute.outputs.ARCH_WINDOWS_ARM64}}${{needs.compute.outputs.ASSET_EXTENSION}} ${{needs.compute.outputs.OUT_NAME_FILE}} && # zip -r ${{needs.compute.outputs.OUT_NAME_FILE}}_${{needs.compute.outputs.ARCH_WINDOWS_ARM64}}${{needs.compute.outputs.ASSET_EXTENSION}} ${{needs.compute.outputs.OUT_NAME_FILE}} &&
cd .. # cd ..
runs-on: ${{ matrix.os }} runs-on: ${{ matrix.os }}
steps: steps:
- name: Check out - name: Check out
+2 -1
View File
@@ -101,7 +101,8 @@ gui-macos-dmg: gui ## Package GUI in a *.dmg file
gui-macos-dmg-intel: gui ## Package GUI in a *.dmg file; Workaround for Intel Macs, since Apple Script permissions are not set correctly on GitHub Actiion Runner images gui-macos-dmg-intel: gui ## Package GUI in a *.dmg file; Workaround for Intel Macs, since Apple Script permissions are not set correctly on GitHub Actiion Runner images
@poetry run mkdir -p $(app_path_dist)/dmg @poetry run mkdir -p $(app_path_dist)/dmg
@poetry run mv "$(app_path_dist)/$(APP_BUNDLE_NAME).app" "$(app_path_dist)/$(DMG_NAME)/$(APP_NAME).app" @poetry run mv "$(app_path_dist)/$(APP_BUNDLE_NAME).app" "$(app_path_dist)/$(DMG_NAME)/$(APP_NAME).app"
@poetry run hdiutil create -volname "$(APP_NAME)" \ @poetry run sleep 60
@poetry run /usr/bin/sudo hdiutil create -debug -volname "$(APP_NAME)" \
-srcfolder "$(app_path_dist)/$(DMG_NAME)/" \ -srcfolder "$(app_path_dist)/$(DMG_NAME)/" \
-ov -format UDZO \ -ov -format UDZO \
-fs APFS \ -fs APFS \