@@ -196,12 +196,20 @@ jobs:
196196 PYTHONPATH: "" # avoid picking up local sources
197197 run: |
198198 python - <<'PY'
199- import sys, importlib, pathlib
199+ import sys, importlib, importlib.util, importlib.metadata as md, pathlib
200200 print(f"Python version {sys.version}")
201- m = importlib.import_module("{% endraw %} {{ package_name | replace('-', '_') }}{% raw %} ")
202- p = pathlib.Path(getattr(m, "__file__", ""))
201+ mod_name = "{% endraw %} {{ package_name | replace('-', '_') }}{% raw %} "
202+ dist_name = mod_name
203+ m = importlib.import_module(mod_name)
204+ spec = importlib.util.find_spec(mod_name)
205+ origin = (getattr(spec, "origin", None) or getattr(m, "__file__", "")) or ""
206+ p = pathlib.Path(origin)
203207 print(f"Imported from: {p}")
204- assert "site-packages" in str(p), f"Expected site-packages, got {p}"
208+ assert any(s in str(p) for s in ("site-packages", "dist-packages")), f"Expected site/dist-packages, got {p}"
209+ expected = "${{ needs.get-values.outputs.package-version }}"
210+ installed = md.version(dist_name)
211+ print(f"Installed distribution version: {installed} (expected {expected})")
212+ assert installed == expected, f"Version mismatch: expected {expected}, got {installed}"
205213 PY
206214
207215 create-tag:
@@ -301,10 +309,18 @@ jobs:
301309 PYTHONPATH: "" # avoid picking up local sources
302310 run: |
303311 python - <<'PY'
304- import sys, importlib, pathlib
312+ import sys, importlib, importlib.util, importlib.metadata as md, pathlib
305313 print(f"Python version {sys.version}")
306- m = importlib.import_module("{% endraw %} {{ package_name | replace('-', '_') }}{% raw %} ")
307- p = pathlib.Path(getattr(m, "__file__", ""))
314+ mod_name = "{% endraw %} {{ package_name | replace('-', '_') }}{% raw %} "
315+ dist_name = mod_name
316+ m = importlib.import_module(mod_name)
317+ spec = importlib.util.find_spec(mod_name)
318+ origin = (getattr(spec, "origin", None) or getattr(m, "__file__", "")) or ""
319+ p = pathlib.Path(origin)
308320 print(f"Imported from: {p}")
309- assert "site-packages" in str(p), f"Expected site-packages, got {p}"
321+ assert any(s in str(p) for s in ("site-packages", "dist-packages")), f"Expected site/dist-packages, got {p}"
322+ expected = "${{ needs.get-values.outputs.package-version }}"
323+ installed = md.version(dist_name)
324+ print(f"Installed distribution version: {installed} (expected {expected})")
325+ assert installed == expected, f"Version mismatch: expected {expected}, got {installed}"
310326 PY{% endraw %}
0 commit comments