From 63e54a67bee915f8d6a47af94720d182e51d6a4b Mon Sep 17 00:00:00 2001 From: Albrecht Degering Date: Fri, 10 Jul 2026 23:58:04 +0200 Subject: [PATCH] Use checkout Alembic root in release integration --- scripts/check-release-integration.sh | 1 + src/govoplan_core/db/migrations.py | 15 ++++++++++++++- 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/scripts/check-release-integration.sh b/scripts/check-release-integration.sh index 8c6575e..5d555e3 100644 --- a/scripts/check-release-integration.sh +++ b/scripts/check-release-integration.sh @@ -32,6 +32,7 @@ PY RELEASE_TAG="${GOVOPLAN_RELEASE_TAG:-v$RELEASE_VERSION}" export RELEASE_TAG RELEASE_VERSION +export GOVOPLAN_CORE_SOURCE_ROOT="$ROOT" export PATH="$WEBUI_BIN:$NODE_BIN:$PATH" export NPM_CONFIG_USERCONFIG="$NPM_USERCONFIG" unset npm_config_tmp NPM_CONFIG_TMP diff --git a/src/govoplan_core/db/migrations.py b/src/govoplan_core/db/migrations.py index d3df220..358382f 100644 --- a/src/govoplan_core/db/migrations.py +++ b/src/govoplan_core/db/migrations.py @@ -191,7 +191,20 @@ def registered_module_migration_plan( def _repo_root() -> Path: - return Path(__file__).resolve().parents[3] + packaged_root = Path(__file__).resolve().parents[3] + configured = os.environ.get("GOVOPLAN_CORE_SOURCE_ROOT") + candidates = [ + Path(configured).expanduser() if configured else None, + Path.cwd(), + packaged_root, + ] + for candidate in candidates: + if candidate is None: + continue + resolved = candidate.resolve() + if (resolved / "alembic.ini").exists() and (resolved / "alembic").is_dir(): + return resolved + return packaged_root def alembic_config(