diff --git a/benchmarks/swebenchmultimodal/run_infer.py b/benchmarks/swebenchmultimodal/run_infer.py index 1485aa98a..62a94cf0f 100644 --- a/benchmarks/swebenchmultimodal/run_infer.py +++ b/benchmarks/swebenchmultimodal/run_infer.py @@ -207,6 +207,7 @@ def prepare_workspace( f"(tag prefix: {IMAGE_TAG_PREFIX}, resource_factor: {resource_factor})" ) startup_timeout = float(os.getenv("REMOTE_RUNTIME_STARTUP_TIMEOUT", "600")) + api_timeout = float(os.getenv("REMOTE_API_TIMEOUT", "300")) workspace = APIRemoteWorkspace( runtime_api_url=os.getenv( "RUNTIME_API_URL", "https://runtime.eval.all-hands.dev" @@ -215,6 +216,7 @@ def prepare_workspace( server_image=agent_server_image, init_timeout=startup_timeout, startup_wait_timeout=startup_timeout, + api_timeout=api_timeout, target_type="source" if "source" in build_target else "binary", forward_env=forward_env or [], resource_factor=resource_factor, diff --git a/benchmarks/utils/Dockerfile.agent-layer b/benchmarks/utils/Dockerfile.agent-layer index eb526285d..d4d81e266 100644 --- a/benchmarks/utils/Dockerfile.agent-layer +++ b/benchmarks/utils/Dockerfile.agent-layer @@ -21,5 +21,15 @@ ARG USERNAME=openhands ARG OPENHANDS_BUILD_GIT_SHA=unknown ENV OPENHANDS_BUILD_GIT_SHA=${OPENHANDS_BUILD_GIT_SHA} ENV UV_PYTHON_INSTALL_DIR=/agent-server/uv-managed-python + +# Copy the Python 3.13 runtime from the builder so the venv's symlinks resolve. +# Since SDK v1.15.0 the builder venv uses --python-preference only-system, +# meaning .venv/bin/python symlinks to /usr/local/bin/python3.13. The eval-base +# image doesn't have Python 3.13, so we bring the interpreter and stdlib along. +COPY --from=builder /usr/local/bin/python3.13 /usr/local/bin/python3.13 +COPY --from=builder /usr/local/lib/python3.13 /usr/local/lib/python3.13 +COPY --from=builder /usr/local/lib/libpython3.13* /usr/local/lib/ +ENV LD_LIBRARY_PATH=/usr/local/lib + COPY --chown=${USERNAME}:${USERNAME} --from=builder /agent-server /agent-server ENTRYPOINT ["/agent-server/.venv/bin/python", "-m", "openhands.agent_server"]