From e0e6cd4c00d2d2e45fea41392c4024a259fa8303 Mon Sep 17 00:00:00 2001 From: "Julien M." Date: Wed, 20 Mar 2024 13:58:08 +0100 Subject: [PATCH 1/3] packaing: rename output executable to DicoGIS-gui or DicoGIS-cli --- builder/pyinstaller_build_ubuntu_cli.py | 11 +---------- builder/pyinstaller_build_ubuntu_gui.py | 11 +---------- builder/pyinstaller_build_windows_cli.py | 10 +--------- builder/pyinstaller_build_windows_gui.py | 10 +--------- 4 files changed, 4 insertions(+), 38 deletions(-) diff --git a/builder/pyinstaller_build_ubuntu_cli.py b/builder/pyinstaller_build_ubuntu_cli.py index 1c69541e..88edf3dc 100644 --- a/builder/pyinstaller_build_ubuntu_cli.py +++ b/builder/pyinstaller_build_ubuntu_cli.py @@ -8,7 +8,6 @@ # ########## Libraries ############# # ################################## -import platform import sys # Standard library @@ -16,7 +15,6 @@ from pathlib import Path # 3rd party -import distro import PyInstaller.__main__ # package @@ -38,14 +36,7 @@ "--collect-submodules=shellingham", "--console", "--log-level={}".format(getenv("PYINSTALLER_LOG_LEVEL", "WARN")), - "--name={}-cli_{}_{}{}_{}_Python{}".format( - __about__.__title_clean__, - __about__.__version__, - distro.id(), - distro.version(), - platform.architecture()[0], - platform.python_version(), - ).replace(".", "-"), + f"--name={__about__.__title_clean__}-cli.bin", "--noconfirm", "--onefile", str(package_folder.joinpath("cli/main.py")), diff --git a/builder/pyinstaller_build_ubuntu_gui.py b/builder/pyinstaller_build_ubuntu_gui.py index 7e5c1ba4..97bb9f25 100644 --- a/builder/pyinstaller_build_ubuntu_gui.py +++ b/builder/pyinstaller_build_ubuntu_gui.py @@ -8,7 +8,6 @@ # ########## Libraries ############# # ################################## -import platform import sys # Standard library @@ -16,7 +15,6 @@ from pathlib import Path # 3rd party -import distro import PyInstaller.__main__ # package @@ -36,14 +34,7 @@ "--add-data=LICENSE:.", "--add-data=README.md:.", "--log-level={}".format(getenv("PYINSTALLER_LOG_LEVEL", "WARN")), - "--name={}-gui_{}_{}{}_{}_Python{}".format( - __about__.__title_clean__, - __about__.__version__, - distro.id(), - distro.version(), - platform.architecture()[0], - platform.python_version(), - ).replace(".", "-"), + f"--name={__about__.__title_clean__}-gui.bin", "--noconfirm", "--noupx", # "--onedir", diff --git a/builder/pyinstaller_build_windows_cli.py b/builder/pyinstaller_build_windows_cli.py index bdabd843..e8b5262a 100644 --- a/builder/pyinstaller_build_windows_cli.py +++ b/builder/pyinstaller_build_windows_cli.py @@ -8,7 +8,6 @@ # ########## Libraries ############# # ################################## -import platform import sys # Standard library @@ -39,14 +38,7 @@ "--icon={}".format((package_folder / "bin/img/DicoGIS.ico").resolve()), "--log-level={}".format(getenv("PYINSTALLER_LOG_LEVEL", "WARN")), "--manifest={}".format((package_folder / "../builder/manifest.xml").resolve()), - "--name={}-cli_{}_{}{}_Python{}-{}".format( - __about__.__title_clean__, - __about__.__version__.replace(".", "-"), - platform.system(), - platform.architecture()[0], - platform.python_version_tuple()[0], - platform.python_version_tuple()[1], - ), + f"--name={__about__.__title_clean__}-gui", "--noconfirm", "--noupx", "--onefile", diff --git a/builder/pyinstaller_build_windows_gui.py b/builder/pyinstaller_build_windows_gui.py index 501af4e2..5da0b266 100644 --- a/builder/pyinstaller_build_windows_gui.py +++ b/builder/pyinstaller_build_windows_gui.py @@ -8,7 +8,6 @@ # ########## Libraries ############# # ################################## -import platform import sys # Standard library @@ -37,14 +36,7 @@ "--icon={}".format((package_folder / "bin/img/DicoGIS.ico").resolve()), "--log-level={}".format(getenv("PYINSTALLER_LOG_LEVEL", "WARN")), "--manifest={}".format((package_folder / "../builder/manifest.xml").resolve()), - "--name={}-gui_{}_{}{}_Python{}-{}".format( - __about__.__title_clean__, - __about__.__version__.replace(".", "-"), - platform.system(), - platform.architecture()[0], - platform.python_version_tuple()[0], - platform.python_version_tuple()[1], - ), + f"--name={__about__.__title_clean__}-gui", "--noconfirm", "--noupx", "--onefile", From 985c9665046484d05b3d62957ad4abbfc473110f Mon Sep 17 00:00:00 2001 From: "Julien M." Date: Wed, 20 Mar 2024 14:00:20 +0100 Subject: [PATCH 2/3] ci: add minimal integration tests using cli --- .github/workflows/builder_releaser.yml | 22 ++++++++++++++++------ 1 file changed, 16 insertions(+), 6 deletions(-) diff --git a/.github/workflows/builder_releaser.yml b/.github/workflows/builder_releaser.yml index 68653081..011bb299 100644 --- a/.github/workflows/builder_releaser.yml +++ b/.github/workflows/builder_releaser.yml @@ -72,26 +72,32 @@ jobs: - name: Generates executable for command-line version run: | python -O ./builder/pyinstaller_build_ubuntu_cli.py + chmod +x dist/DicoGIS-cli.bin - name: Save CLI binary as artifact uses: actions/upload-artifact@v4 with: name: DicoGIS_executable_ubuntu_CLI - path: dist/DicoGIS-cli_* + path: dist/DicoGIS-cli.bin if-no-files-found: error - name: Generates executable for graphical version run: | python -O ./builder/pyinstaller_build_ubuntu_gui.py + chmod +x dist/DicoGIS-gui.bin - name: Save it as artifact uses: actions/upload-artifact@v4 with: name: DicoGIS_executable_ubuntu_GUI - path: | - dist/DicoGIS-gui_* + path: dist/DicoGIS-gui.bin if-no-files-found: error + - name: Minimal integration test + run: | + ./dist/DicoGIS-cli.bin --help + ./dist/DicoGIS-cli.bin --version + build-windows: name: "🏠 Windows" runs-on: windows-latest @@ -131,7 +137,7 @@ jobs: uses: actions/upload-artifact@v4 with: name: DicoGIS_executable_windows_CLI - path: dist/DicoGIS-cli_* + path: dist/DicoGIS-cli.exe if-no-files-found: error - name: Generates executable for graphical version @@ -142,10 +148,14 @@ jobs: uses: actions/upload-artifact@v4 with: name: DicoGIS_executable_windows_GUI - path: | - dist/DicoGIS-gui_* + path: dist/DicoGIS-gui.exe if-no-files-found: error + - name: Minimal integration test + run: | + ./dist/DicoGIS-cli.exe --help + ./dist/DicoGIS-cli.exe --version + release: name: "🚀 GitHub Release" runs-on: ubuntu-latest From 5bc9c4731d8a37091d09f725896d8304f79289aa Mon Sep 17 00:00:00 2001 From: "Julien M." Date: Wed, 20 Mar 2024 14:13:41 +0100 Subject: [PATCH 3/3] fix: typo in output name --- builder/pyinstaller_build_windows_cli.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/builder/pyinstaller_build_windows_cli.py b/builder/pyinstaller_build_windows_cli.py index e8b5262a..fa17674b 100644 --- a/builder/pyinstaller_build_windows_cli.py +++ b/builder/pyinstaller_build_windows_cli.py @@ -38,7 +38,7 @@ "--icon={}".format((package_folder / "bin/img/DicoGIS.ico").resolve()), "--log-level={}".format(getenv("PYINSTALLER_LOG_LEVEL", "WARN")), "--manifest={}".format((package_folder / "../builder/manifest.xml").resolve()), - f"--name={__about__.__title_clean__}-gui", + f"--name={__about__.__title_clean__}-cli", "--noconfirm", "--noupx", "--onefile",