fix(ci): setup-pm puts the PM-managed uv on PATH for the test lanes

uv is internal to PM (never on a user's PATH), so env_for() left it out of
the exported PATH once the toolchain roots stopped listing python itself.
The fresh-install, pm-toolchain cold and worker-contract suites drive real
uv through shutil.which("uv") and failed with "requires real uv".
This commit is contained in:
ethernet
2026-09-19 01:52:39 -04:00
parent b0c4f8ef17
commit c8bbac5c6e
+5
View File
@@ -151,6 +151,11 @@ def install(args) -> None:
exported = {}
outputs = {f"{name}-path": str(binaries[name]) for name in public_names}
if "python" in names:
# uv is PM-internal (never on a user's PATH), but the test suites this
# toolchain serves drive real uv through shutil.which("uv").
uv = get_package("uv").binary(store_root() / facts.get("uv")["entry"], target)
path.append(str(uv.parent))
outputs["uv-path"] = str(uv)
# Keep third-party CI tooling out of the verified interpreter store.
# PM prepares the empty command environment through its normal builder.
commands = args.home.resolve() / "python" / facts.get("python")["entry"]