diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index f750a94..39badbf 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -95,10 +95,21 @@ jobs: shell: bash run: | uv run pyside6-deploy --init --name groupselect2 app/main.py + # groupselect-lib's groupselect.algorithms.__init__ resolves its algorithm + # implementations (DREAM, HERMES, ...) via a runtime-constructed + # importlib.import_module() call, not a static "from ... import" -- Nuitka's + # standalone mode only bundles modules it can find via static import analysis, + # so those submodules were silently left out of the build (ModuleNotFoundError + # at runtime, e.g. "No module named groupselect.algorithms.algorithm_dream"). + # --include-package forces the whole groupselect package in regardless of how + # it's imported. groupselect-lib is tiny, so we deliberately go one level wider + # than strictly necessary (the whole package, not just .algorithms) to guard + # against the same pattern showing up elsewhere in it later. + include_args="--include-package=groupselect" if [ "${{ runner.os }}" = "Windows" ]; then - extra_args="--msvc=latest --noinclude-qt-translations" + extra_args="--msvc=latest --noinclude-qt-translations $include_args" else - extra_args="--noinclude-qt-translations" + extra_args="--noinclude-qt-translations $include_args" fi sed -i.bak "s/^extra_args = .*/extra_args = $extra_args/" app/pysidedeploy.spec rm -f app/pysidedeploy.spec.bak diff --git a/app/main.py b/app/main.py index 474b558..811cbd0 100644 --- a/app/main.py +++ b/app/main.py @@ -21,7 +21,7 @@ def main(): """Set up the application context and launch the app.""" app_ctx = AppContext( app_name="GroupSelect", - app_version="v2.1.1", + app_version="v2.1.2", project_file_ending=".gspr", main_window_cls=GSMainWindow, model_manager_cls=GSModelManager, diff --git a/pyproject.toml b/pyproject.toml index 763edbd..97d89c1 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "groupselect-app" -version = "2.1.1" +version = "2.1.2" description = "The GroupSelect App developed by the Sortition Foundation." authors = [ { name = "Philipp C. Verpoort", email = "pcv@sortitionfoundation.org" }