build: integrate workflow engine repository
This commit is contained in:
@@ -75,6 +75,7 @@ Generated from `repositories.json`. Use that JSON file as the machine-readable s
|
||||
| `govoplan-views` | `platform` | `../govoplan-views` | [govoplan-views](https://git.add-ideas.de/GovOPlaN/govoplan-views) |
|
||||
| `govoplan-wiki` | `domain` | `../govoplan-wiki` | [govoplan-wiki](https://git.add-ideas.de/GovOPlaN/govoplan-wiki) |
|
||||
| `govoplan-workflow` | `platform` | `../govoplan-workflow` | [govoplan-workflow](https://git.add-ideas.de/GovOPlaN/govoplan-workflow) |
|
||||
| `govoplan-workflow-engine` | `platform` | `../govoplan-workflow-engine` | [govoplan-workflow-engine](https://git.add-ideas.de/GovOPlaN/govoplan-workflow-engine) |
|
||||
|
||||
## Connector
|
||||
|
||||
|
||||
@@ -72,6 +72,7 @@
|
||||
{"name": "govoplan-wiki", "category": "module", "subtype": "domain", "remote": "git@git.add-ideas.de:GovOPlaN/govoplan-wiki.git", "path": "govoplan-wiki"},
|
||||
{"name": "addideas-govoplan-website", "category": "website", "subtype": "public-site", "remote": "git@git.add-ideas.de:add-ideas/addideas-govoplan-website.git", "path": "addideas-govoplan-website", "bootstrap_transport": "registered"},
|
||||
{"name": "govoplan-workflow", "category": "module", "subtype": "platform", "remote": "git@git.add-ideas.de:GovOPlaN/govoplan-workflow.git", "path": "govoplan-workflow"},
|
||||
{"name": "govoplan-workflow-engine", "category": "module", "subtype": "platform", "remote": "git@git.add-ideas.de:GovOPlaN/govoplan-workflow-engine.git", "path": "govoplan-workflow-engine"},
|
||||
{"name": "govoplan-xoev", "category": "connector", "subtype": "standard", "remote": "git@git.add-ideas.de:GovOPlaN/govoplan-xoev.git", "path": "govoplan-xoev"},
|
||||
{"name": "govoplan-xrechnung", "category": "connector", "subtype": "standard", "remote": "git@git.add-ideas.de:GovOPlaN/govoplan-xrechnung.git", "path": "govoplan-xrechnung"},
|
||||
{"name": "govoplan-xta-osci", "category": "connector", "subtype": "standard", "remote": "git@git.add-ideas.de:GovOPlaN/govoplan-xta-osci.git", "path": "govoplan-xta-osci"}
|
||||
|
||||
@@ -22,6 +22,7 @@
|
||||
-e ../govoplan-connectors
|
||||
-e ../govoplan-datasources
|
||||
-e ../govoplan-dataflow
|
||||
-e ../govoplan-workflow-engine
|
||||
-e ../govoplan-workflow
|
||||
-e ../govoplan-views
|
||||
-e ../govoplan-search
|
||||
|
||||
@@ -88,9 +88,17 @@ class DependencyBoundaryDiscoveryTests(unittest.TestCase):
|
||||
"govoplan-calendar",
|
||||
"govoplan-poll",
|
||||
"govoplan-scheduling",
|
||||
"govoplan-workflow-engine",
|
||||
):
|
||||
self.assertIn(owner, boundary.REPOS)
|
||||
|
||||
def test_transitional_allowlist_entries_have_a_removal_target(self) -> None:
|
||||
boundary = load_boundary_module()
|
||||
|
||||
for item in boundary.ALLOWLIST:
|
||||
self.assertIn("remove", item.reason.casefold())
|
||||
self.assertRegex(item.reason, r"#[0-9]+")
|
||||
|
||||
def test_webui_discovery_is_fail_closed(self) -> None:
|
||||
boundary = load_boundary_module()
|
||||
with tempfile.TemporaryDirectory(prefix="govoplan-boundary-webui-") as directory:
|
||||
|
||||
@@ -58,7 +58,13 @@ from govoplan_datasources.backend.db.models import (
|
||||
|
||||
def main() -> int:
|
||||
registry = build_platform_registry(
|
||||
("connectors", "datasources", "dataflow", "workflow")
|
||||
(
|
||||
"connectors",
|
||||
"datasources",
|
||||
"dataflow",
|
||||
"workflow_engine",
|
||||
"workflow",
|
||||
)
|
||||
)
|
||||
registry.configure_capability_context(
|
||||
ModuleContext(registry=registry, settings=object())
|
||||
|
||||
@@ -76,6 +76,7 @@ PY
|
||||
"$PYTHON" -m unittest discover -s /mnt/DATA/git/govoplan-connectors/tests
|
||||
"$PYTHON" -m unittest discover -s /mnt/DATA/git/govoplan-datasources/tests
|
||||
"$PYTHON" -m unittest discover -s /mnt/DATA/git/govoplan-dataflow/tests
|
||||
"$PYTHON" -m unittest discover -s /mnt/DATA/git/govoplan-workflow-engine/tests
|
||||
"$PYTHON" -m unittest discover -s /mnt/DATA/git/govoplan-workflow/tests
|
||||
"$PYTHON" -m unittest discover -s /mnt/DATA/git/govoplan-views/tests
|
||||
"$PYTHON" -m unittest discover -s /mnt/DATA/git/govoplan-dashboard/tests
|
||||
|
||||
@@ -109,9 +109,36 @@ class AllowlistedImport:
|
||||
reason: str
|
||||
|
||||
|
||||
# Transitional exceptions. This should remain empty; add entries only with a
|
||||
# dated removal plan and a capability/API contract issue.
|
||||
ALLOWLIST: tuple[AllowlistedImport, ...] = ()
|
||||
# Transitional exceptions. This should remain empty outside explicit,
|
||||
# time-bounded compatibility facades with a tracked removal issue.
|
||||
_WORKFLOW_ENGINE_COMPATIBILITY_FACADES = (
|
||||
"backend/bpmn.py",
|
||||
"backend/bpmn_adapters.py",
|
||||
"backend/bpmn_graph.py",
|
||||
"backend/db/__init__.py",
|
||||
"backend/db/models.py",
|
||||
"backend/governance.py",
|
||||
"backend/instance_service.py",
|
||||
"backend/manifest.py",
|
||||
"backend/node_library.py",
|
||||
"backend/router.py",
|
||||
"backend/runtime.py",
|
||||
"backend/schemas.py",
|
||||
"backend/service.py",
|
||||
"backend/validation.py",
|
||||
)
|
||||
ALLOWLIST: tuple[AllowlistedImport, ...] = tuple(
|
||||
AllowlistedImport(
|
||||
owner="govoplan-workflow",
|
||||
relative_path=relative_path,
|
||||
imported_owner="govoplan-workflow-engine",
|
||||
reason=(
|
||||
"One-release Engine extraction facade; remove for 0.2 under "
|
||||
"govoplan-workflow#14 and govoplan-core#40."
|
||||
),
|
||||
)
|
||||
for relative_path in _WORKFLOW_ENGINE_COMPATIBILITY_FACADES
|
||||
)
|
||||
ALLOWLIST_KEYS = {(item.owner, item.relative_path, item.imported_owner) for item in ALLOWLIST}
|
||||
|
||||
|
||||
|
||||
@@ -172,7 +172,7 @@ def reconcile_runtime_environment(
|
||||
"ENABLED_MODULES": ",".join(spec.enabled_modules),
|
||||
"CELERY_ENABLED": "true" if redis.mode != "disabled" else "false",
|
||||
"CELERY_QUEUES": (
|
||||
"send_email,append_sent,notifications,calendar,dataflow,events,default"
|
||||
"send_email,append_sent,notifications,calendar,dataflow,workflow,events,default"
|
||||
),
|
||||
"CORS_ORIGINS": spec.public_url,
|
||||
"GOVOPLAN_TRUSTED_HOSTS": public.hostname or "",
|
||||
|
||||
@@ -50,6 +50,7 @@ FULL_MODULES = (
|
||||
"connectors",
|
||||
"datasources",
|
||||
"dataflow",
|
||||
"workflow_engine",
|
||||
"workflow",
|
||||
"views",
|
||||
"search",
|
||||
|
||||
@@ -51,12 +51,12 @@ set +a
|
||||
|
||||
export APP_ENV="${APP_ENV:-staging}"
|
||||
export GOVOPLAN_INSTALL_PROFILE="${GOVOPLAN_INSTALL_PROFILE:-production-like}"
|
||||
export ENABLED_MODULES="${ENABLED_MODULES:-tenancy,organizations,identity,access,admin,dashboard,policy,audit,campaigns,files,mail,calendar,poll,scheduling,connectors,datasources,dataflow,workflow,views,search,risk_compliance,notifications,docs,ops}"
|
||||
export ENABLED_MODULES="${ENABLED_MODULES:-tenancy,organizations,identity,access,admin,dashboard,policy,audit,campaigns,files,mail,calendar,poll,scheduling,connectors,datasources,dataflow,workflow_engine,workflow,views,search,risk_compliance,notifications,docs,ops}"
|
||||
export DATABASE_URL="${DATABASE_URL:-${GOVOPLAN_PRODUCTION_LIKE_DATABASE_URL:-postgresql+psycopg://govoplan:govoplan-dev@127.0.0.1:55433/govoplan}}"
|
||||
export GOVOPLAN_DATABASE_URL_PGTOOLS="${GOVOPLAN_DATABASE_URL_PGTOOLS:-${GOVOPLAN_PRODUCTION_LIKE_DATABASE_URL_PGTOOLS:-postgresql://govoplan:govoplan-dev@127.0.0.1:55433/govoplan}}"
|
||||
export REDIS_URL="${REDIS_URL:-${GOVOPLAN_PRODUCTION_LIKE_REDIS_URL:-redis://127.0.0.1:56379/0}}"
|
||||
export CELERY_ENABLED="${CELERY_ENABLED:-true}"
|
||||
export CELERY_QUEUES="${CELERY_QUEUES:-send_email,append_sent,notifications,calendar,default}"
|
||||
export CELERY_QUEUES="${CELERY_QUEUES:-send_email,append_sent,notifications,calendar,workflow,default}"
|
||||
export FILE_STORAGE_BACKEND="${FILE_STORAGE_BACKEND:-local}"
|
||||
export FILE_STORAGE_LOCAL_ROOT="${FILE_STORAGE_LOCAL_ROOT:-$META_ROOT/runtime/production-like/files}"
|
||||
export DEV_AUTO_MIGRATE_ENABLED="${DEV_AUTO_MIGRATE_ENABLED:-false}"
|
||||
|
||||
@@ -66,7 +66,7 @@ export DATABASE_URL="${DATABASE_URL:-${GOVOPLAN_PRODUCTION_LIKE_DATABASE_URL:-po
|
||||
export GOVOPLAN_DATABASE_URL_PGTOOLS="${GOVOPLAN_DATABASE_URL_PGTOOLS:-${GOVOPLAN_PRODUCTION_LIKE_DATABASE_URL_PGTOOLS:-postgresql://govoplan:govoplan-dev@127.0.0.1:55433/govoplan}}"
|
||||
export REDIS_URL="${REDIS_URL:-${GOVOPLAN_PRODUCTION_LIKE_REDIS_URL:-redis://127.0.0.1:56379/0}}"
|
||||
export CELERY_ENABLED="${CELERY_ENABLED:-true}"
|
||||
export ENABLED_MODULES="${ENABLED_MODULES:-tenancy,organizations,identity,access,admin,dashboard,policy,audit,campaigns,files,mail,calendar,poll,scheduling,connectors,datasources,dataflow,workflow,views,search,risk_compliance,notifications,docs,ops}"
|
||||
export ENABLED_MODULES="${ENABLED_MODULES:-tenancy,organizations,identity,access,admin,dashboard,policy,audit,campaigns,files,mail,calendar,poll,scheduling,connectors,datasources,dataflow,workflow_engine,workflow,views,search,risk_compliance,notifications,docs,ops}"
|
||||
export FILE_STORAGE_BACKEND="${FILE_STORAGE_BACKEND:-local}"
|
||||
export FILE_STORAGE_LOCAL_ROOT="${FILE_STORAGE_LOCAL_ROOT:-$META_ROOT/runtime/production-like/files}"
|
||||
export DEV_AUTO_MIGRATE_ENABLED="${DEV_AUTO_MIGRATE_ENABLED:-false}"
|
||||
|
||||
@@ -116,6 +116,7 @@ PACKAGE_MODULE_REPOS=(
|
||||
"$PARENT/govoplan-transparency"
|
||||
"$PARENT/govoplan-evaluation"
|
||||
"$PARENT/govoplan-views"
|
||||
"$PARENT/govoplan-workflow-engine"
|
||||
"$PARENT/govoplan-workflow"
|
||||
)
|
||||
TAG_ONLY_MODULE_REPOS=(
|
||||
|
||||
Reference in New Issue
Block a user