# Copyright 2025 The HuggingFace Inc. team. All rights reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. # Benchmark image for VLABench integration tests. # Extends the nightly GPU image with the PR's source code and VLABench setup. # # Build: docker build -f docker/Dockerfile.benchmark.vlabench -t lerobot-benchmark-vlabench . # Run: docker run --gpus all --rm lerobot-benchmark-vlabench lerobot-eval ... FROM huggingface/lerobot-gpu:latest # Install VLABench from GitHub (not on PyPI) and pin MuJoCo/dm-control. # Shallow-clone without submodule recursion (nested SSH-only submodules fail in CI). # Editable install (-e) because VLABench/utils/ has no __init__.py, so # find_packages() omits it from wheels; editable mode uses the source tree directly. # Asset download (Google Drive via gdown) is skipped — unreliable in CI and not # needed for our smoke test which uses its own eval pipeline. RUN git clone --depth 1 https://github.com/OpenMOSS/VLABench.git ~/VLABench && \ uv pip install --no-cache -e ~/VLABench mujoco==3.2.2 dm-control==1.0.22 # Overlay the PR's source code on top of the nightly image. COPY --chown=user_lerobot:user_lerobot . . CMD ["/bin/bash"]