From b97ea8999fabe10c881ecaf892488b796b65cd3e Mon Sep 17 00:00:00 2001 From: Pepijn Kooijmans Date: Tue, 24 Mar 2026 07:11:18 +0100 Subject: [PATCH] fix(docker): create libero config.yaml for non-plus LIBERO builds The generic libero benchmark case was falling through to the wildcard install path, which doesn't pre-create ~/.libero/config.yaml. This caused an interactive input() prompt that crashes in Docker (EOFError). Made-with: Cursor --- docker/Dockerfile.benchmark | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/docker/Dockerfile.benchmark b/docker/Dockerfile.benchmark index e0b5d8395..3886d3181 100644 --- a/docker/Dockerfile.benchmark +++ b/docker/Dockerfile.benchmark @@ -138,6 +138,17 @@ d = dict(benchmark_root=root, bddl_files=os.path.join(root,'bddl_files'), \ init_states=os.path.join(root,'init_files'), datasets=os.path.join(root,'..','datasets'), \ assets=os.path.join(root,'assets')); \ cfg_dir = os.path.expanduser('~/.libero'); os.makedirs(cfg_dir, exist_ok=True); \ +yaml.dump(d, open(os.path.join(cfg_dir,'config.yaml'),'w')); print('libero config created')" \ + && /lerobot/.venv/bin/python -c "from libero.libero import benchmark, get_libero_path; print('libero OK')" ;; \ + libero) \ + uv pip install --no-cache ".[libero]" \ + && /lerobot/.venv/bin/python -c "\ +import os, yaml, importlib.util; \ +root = os.path.dirname(importlib.util.find_spec('libero.libero').origin); \ +d = dict(benchmark_root=root, bddl_files=os.path.join(root,'bddl_files'), \ +init_states=os.path.join(root,'init_files'), datasets=os.path.join(root,'..','datasets'), \ +assets=os.path.join(root,'assets')); \ +cfg_dir = os.path.expanduser('~/.libero'); os.makedirs(cfg_dir, exist_ok=True); \ yaml.dump(d, open(os.path.join(cfg_dir,'config.yaml'),'w')); print('libero config created')" \ && /lerobot/.venv/bin/python -c "from libero.libero import benchmark, get_libero_path; print('libero OK')" ;; \ *) \