Skip to content

[fork-internal CI test] auto-derive requires_mod#8

Closed
eduralph wants to merge 1 commit intomaintenance/gramps60from
feature/ci-cd-pipeline-upstream
Closed

[fork-internal CI test] auto-derive requires_mod#8
eduralph wants to merge 1 commit intomaintenance/gramps60from
feature/ci-cd-pipeline-upstream

Conversation

@eduralph
Copy link
Copy Markdown
Owner

Internal fork PR to trigger CI on the auto-derive step added to ci.yml.

Do not merge — closed once CI results are observed. Upstream-facing PR is gramps-project#820 on gramps-project/addons-source.

The Dockerfile bakes in only `dbf`, but addons declare a wider set of
Python deps in their .gpr.py `requires_mod` lists (networkx, psycopg2,
pygraphviz, lxml, svgwrite, boto3, litellm, life_line_chart, psycopg).
Without these installed, per-addon unit tests and the plugin-
registration subprocess load fail with ImportError/NameError.

Add a pre-test step to unit-test-linux, unit-test-windows, and
integration-test that globs every *.gpr.py, extracts the requires_mod
union via ast.literal_eval, and pip-installs each package one at a
time. Per-package install (not batched) keeps a single build failure
(pygraphviz without graphviz-dev, psycopg2 without libpq-dev) from
aborting the rest — the affected addon's tests will skip or fail in
isolation without blocking others.

Mirrors Gramps' Addon Manager install path
(gramps/gui/plug/_windows.py __on_install_clicked → req.install →
gen/utils/requirements.py), keeping .gpr.py files as the single source
of truth for addon deps. New addon deps do not need a parallel update
to the Dockerfile or this workflow.
@eduralph
Copy link
Copy Markdown
Owner Author

Auto-derive step verified working on Linux + Windows. Closing — change lives in feature/ci-cd-pipeline-upstream → upstream PR gramps-project#820.

@eduralph eduralph closed this Apr 20, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant