Michael Rabinovich Cursor commited on
Commit
368120e
·
1 Parent(s): 84e5b14

Pin VTK stack (pyvista 0.48.4 / vtk-egl 9.3 dev) for reproducible builds

Browse files

Same drift fix as the leaderboard image: an unpinned pyvista + vtk-egl float to
latest on rebuild and mismatch (libvtkWrappingPythonCore*.so not found). Pin
pyvista==0.48.4 and vtk-egl to the latest 9.3 cp312 build.

Co-authored-by: Cursor <cursoragent@cursor.com>

Files changed (1) hide show
  1. Dockerfile +11 -1
Dockerfile CHANGED
@@ -55,6 +55,13 @@ ARG CADGENBENCH_SHA=a47c951
55
  RUN python -m pip install --no-cache-dir \
56
  "cadgenbench @ git+https://github.com/huggingface/cadgenbench.git@${CADGENBENCH_SHA}"
57
 
 
 
 
 
 
 
 
58
  # Shard mode syncs per-fixture artifacts to an HF Storage Bucket via the
59
  # bucket API (HfApi.sync_bucket), which needs a recent huggingface_hub.
60
  RUN python -m pip install --no-cache-dir "huggingface_hub>=1.16.0"
@@ -66,9 +73,12 @@ RUN python -m pip install --no-cache-dir "huggingface_hub>=1.16.0"
66
  # PyVista picks up whichever `vtk` dist is installed; no
67
  # cadgenbench code change. Same shape as the leaderboard's
68
  # vtk-osmesa swap, just the GPU counterpart.
 
 
 
69
  RUN python -m pip uninstall -y vtk \
70
  && python -m pip install --no-cache-dir \
71
- --extra-index-url https://wheels.vtk.org vtk-egl
72
 
73
  # In-job entrypoint. Invoked by:
74
  #
 
55
  RUN python -m pip install --no-cache-dir \
56
  "cadgenbench @ git+https://github.com/huggingface/cadgenbench.git@${CADGENBENCH_SHA}"
57
 
58
+ # Pin the VTK stack so rebuilds are reproducible. pyvista is pulled
59
+ # transitively by cadgenbench (unpinned); without this pin a rebuild floats to
60
+ # the latest pyvista/vtk and mismatches the headless vtk-egl swap below
61
+ # (ImportError: libvtkWrappingPythonCore*.so not found). 0.48.4 / vtk 9.3 is
62
+ # the known-good pair.
63
+ RUN python -m pip install --no-cache-dir "pyvista==0.48.4"
64
+
65
  # Shard mode syncs per-fixture artifacts to an HF Storage Bucket via the
66
  # bucket API (HfApi.sync_bucket), which needs a recent huggingface_hub.
67
  RUN python -m pip install --no-cache-dir "huggingface_hub>=1.16.0"
 
73
  # PyVista picks up whichever `vtk` dist is installed; no
74
  # cadgenbench code change. Same shape as the leaderboard's
75
  # vtk-osmesa swap, just the GPU counterpart.
76
+ # Pinned to a vtk 9.3 build to match pyvista==0.48.4 (vtk-egl only ships
77
+ # date-stamped 9.3 dev wheels; this is the latest 9.3 cp312 one). An unpinned
78
+ # vtk-egl floats and mismatches the pinned pyvista on rebuild.
79
  RUN python -m pip uninstall -y vtk \
80
  && python -m pip install --no-cache-dir \
81
+ --extra-index-url https://wheels.vtk.org "vtk-egl==9.3.20240907.dev0"
82
 
83
  # In-job entrypoint. Invoked by:
84
  #