Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 11 additions & 0 deletions .changeset/fix-rapids-path-expression.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
---
'@platforma-open/milaboratories.runenv-python-3.12.10-rapids': patch
---

Fix the RAPIDS runenv `PATH` env var breaking every non-docker run: use `$PATH` instead of `${PATH}`.
`envVars` feeds two consumers with different syntaxes. The Dockerfile generator emits each entry as an `ENV` line, where Docker expands both `${PATH}` and `$PATH` at build time. The native (venv) path renders each entry through the backend's expr-lang renderer, whose scanner regex `{.*?[^\\]}` matches the `{PATH}` inside `${PATH}` and fails with `cannot evaluate expression: "PATH" (variable is not defined)` — rejecting the venv-creation RunCommand, so any block on this runenv failed on a local/desktop backend while docker-backed backends were fine.
`$PATH` carries no braces, so it expands correctly in the Dockerfile and is passed through literally on the native path, where the backend already appends the host `PATH` after any `PATH` entry in `envVars`.

Add `pyarrow==19.0.1` to the RAPIDS runenv.
Blocks on this runenv install their `requirements.txt` with `pip --no-index --find-links <runenv packages>`, so a requirement the runenv does not ship cannot resolve. `pyarrow` was never declared here (every sibling runenv declares it), so any block importing it failed with `No matching distribution found for pyarrow` on every platform where the `cu12` packages are skipped — macOS, Windows and linux-aarch64. On linux-x64 it resolved only incidentally, as a transitive dependency of `cudf-cu12`.
Version is capped by RAPIDS: `cudf-cu12==25.4.0` requires `pyarrow>=14.0.0,<20.0.0a0` (plus `!=17.0.0` on aarch64), making 19.0.1 the highest usable release. That is why it differs from the 21.0.0 / 24.0.0 pinned by the non-RAPIDS runenvs. cp312 wheels exist for all five target platforms.
1 change: 1 addition & 0 deletions python-3.12.10-rapids/config.json
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@
"numpy==2.0.2",
"scikit-learn==1.7.2",
"scipy==1.16.2",
"pyarrow==19.0.1",
"umap-learn==0.5.7",
"torch==2.7.0",
"cudf-cu12==25.4.0",
Expand Down
2 changes: 1 addition & 1 deletion python-3.12.10-rapids/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@
"NVIDIA_VISIBLE_DEVICES=all",
"NVIDIA_DRIVER_CAPABILITIES=compute,utility",
"LD_LIBRARY_PATH=/usr/local/nvidia/lib64:/usr/local/nvidia/lib",
"PATH=/usr/local/nvidia/bin:${PATH}",
"PATH=/usr/local/nvidia/bin:$PATH",
"PTXCOMPILER_CHECK_NUMBA_CODEGEN_PATCH_NEEDED=0"
],
"roots": {
Expand Down
Loading