From feebf6d003df04d7aef70e2f4173d9ed9b89e08f Mon Sep 17 00:00:00 2001 From: "j.spijker@ultimaker.com" Date: Wed, 6 Jul 2022 08:32:05 +0200 Subject: [PATCH] uniform name on macos Contributes to CURA-9365 --- .github/workflows/cura-installer.yml | 4 ++-- packaging/dmg/dmg_sign_noterize.py | 25 ++++++++++++++----------- 2 files changed, 16 insertions(+), 13 deletions(-) diff --git a/.github/workflows/cura-installer.yml b/.github/workflows/cura-installer.yml index 6943e73b07..30f182e9fa 100644 --- a/.github/workflows/cura-installer.yml +++ b/.github/workflows/cura-installer.yml @@ -181,12 +181,12 @@ jobs: - name: Create the Linux AppImage (Bash) if: ${{ github.event.inputs.installer == 'true' && runner.os == 'Linux' }} - run: python ../cura_inst/packaging/AppImage/create_appimage.py ./Ultimaker-Cura $CURA_VERSION_FULL "Ultimaker-Cura-$Env:CURA_VERSION_FULL-${{ runner.os }}-${{ runner.arch }}" + run: python ../cura_inst/packaging/AppImage/create_appimage.py ./Ultimaker-Cura $CURA_VERSION_FULL "Ultimaker-Cura-$Env:CURA_VERSION_FULL-${{ runner.os }}-${{ runner.arch }}.AppImage" working-directory: dist - name: Create the MacOS dmg (Bash) if: ${{ github.event.inputs.installer == 'true' && runner.os == 'Macos' }} - run: python ../cura_inst/packaging/dmg/dmg_sign_notarize.py + run: python ../cura_inst/packaging/dmg/dmg_sign_notarize.py "Ultimaker-Cura-$Env:CURA_VERSION_FULL-${{ runner.os }}-${{ runner.arch }}.dmg" working-directory: dist env: SOURCE_DIR: ${{ env.GITHUB_WORKSPACE }}/cura_inst diff --git a/packaging/dmg/dmg_sign_noterize.py b/packaging/dmg/dmg_sign_noterize.py index d92a7d4fc3..35c094e237 100644 --- a/packaging/dmg/dmg_sign_noterize.py +++ b/packaging/dmg/dmg_sign_noterize.py @@ -1,14 +1,14 @@ import os +import argparse # Command line arguments parsing and help. import subprocess SOURCE_DIR = os.environ.get("SOURCE_DIR", ".") DIST_DIR = os.environ.get("DIST_DIR", os.path.join(SOURCE_DIR, "dist")) -DMG_PATH = "Ultimaker-Cura.dmg" APP_PATH = os.path.join(DIST_DIR, "Ultimaker-Cura.app") ULTIMAKER_CURA_DOMAIN = os.environ.get("ULTIMAKER_CURA_DOMAIN", "nl.ultimaker.cura") -def build_dmg() -> None: +def build_dmg(filename: str) -> None: create_dmg_executable = os.environ.get("CREATE_DMG_EXECUTABLE", "create-dmg") arguments = [create_dmg_executable, @@ -20,26 +20,26 @@ def build_dmg() -> None: "--icon", "Ultimaker-Cura.app", "169", "272", "--eula", f"{SOURCE_DIR}/packaging/cura_license.txt", "--background", f"{SOURCE_DIR}/packaging/icons/cura_background_dmg.png", - DMG_PATH, + filename, APP_PATH] subprocess.run(arguments) -def sign(file_path: str) -> None: +def sign(filename: str) -> None: codesign_executable = os.environ.get("CODESIGN", "codesign") codesign_identity = os.environ.get("CODESIGN_IDENTITY") arguments = [codesign_executable, "-s", codesign_identity, "--timestamp", - "-i", f"{ULTIMAKER_CURA_DOMAIN}.dmg", - file_path] + "-i", f"{ULTIMAKER_CURA_DOMAIN}.dmg", # TODO: check if this really should have the extra dmg. We seem to be doing this also in the old Rundeck scripts + filename] subprocess.run(arguments) -def notarize() -> None: +def notarize(filename: str) -> None: notarize_user = os.environ.get("MAC_NOTARIZE_USER") notarize_password = os.environ.get("MAC_NOTARIZE_PASSWORD") altool_executable = os.environ.get("ALTOOL_EXECUTABLE", "altool") @@ -50,16 +50,19 @@ def notarize() -> None: "--primary-bundle-id", ULTIMAKER_CURA_DOMAIN, "--username", notarize_user, "--password", notarize_password, - "--file", DMG_PATH + "--file", filename ] subprocess.run(arguments) if __name__ == "__main__": - build_dmg() - sign(DMG_PATH) + parser = argparse.ArgumentParser(description = "Create AppImages of Cura.") + parser.add_argument("filename", type = str, help = "Filename of the dmg (e.g. 'Ultimaker-Cura-5.1.0-beta-Linux-X64.dmg')") + args = parser.parse_args() + build_dmg(args.filename) + sign(args.filename) notarize_dmg = bool(os.environ.get("NOTARIZE_DMG", "TRUE")) if notarize_dmg: - notarize() + notarize(args.filename)