|
23 | 23 | construct_eval_output_dir, |
24 | 24 | get_default_on_result_writer, |
25 | 25 | ) |
26 | | -from benchmarks.utils.image_utils import image_exists |
| 26 | +from benchmarks.utils.image_utils import create_docker_workspace, image_exists |
27 | 27 | from benchmarks.utils.llm_config import load_llm_config |
28 | 28 | from benchmarks.utils.models import ( |
29 | 29 | EvalInstance, |
|
34 | 34 | from openhands.sdk import Agent, Conversation, Tool, get_logger |
35 | 35 | from openhands.sdk.workspace import RemoteWorkspace |
36 | 36 | from openhands.tools.preset.default import get_default_tools |
37 | | -from openhands.workspace import APIRemoteWorkspace, DockerDevWorkspace, DockerWorkspace |
| 37 | +from openhands.workspace import APIRemoteWorkspace |
38 | 38 |
|
39 | 39 |
|
40 | 40 | logger = get_logger(__name__) |
@@ -186,35 +186,17 @@ def prepare_workspace( |
186 | 186 | logger.info(f"Using base docker image: {base_docker_image}") |
187 | 187 |
|
188 | 188 | if self.metadata.workspace_type == "docker": |
189 | | - # Try to build agent-server image from base commit0 image |
190 | | - # Fall back to pre-built image if build fails |
191 | | - try: |
192 | | - workspace = DockerDevWorkspace( |
193 | | - base_image=base_docker_image, |
194 | | - working_dir="/workspace", |
195 | | - target=build_target, |
196 | | - forward_env=forward_env or [], |
197 | | - ) |
198 | | - logger.info( |
199 | | - f"Building workspace from {base_docker_image}. This may take a while..." |
200 | | - ) |
201 | | - except Exception: |
202 | | - custom_tag = extract_custom_tag(base_docker_image) |
203 | | - suffix = f"-{build_target}" if build_target != "binary" else "" |
204 | | - agent_server_image = ( |
205 | | - f"{EVAL_AGENT_SERVER_IMAGE}:{IMAGE_TAG_PREFIX}-{custom_tag}{suffix}" |
206 | | - ) |
207 | | - if not image_exists(agent_server_image): |
208 | | - raise RuntimeError( |
209 | | - f"On-the-fly build failed and pre-built image {agent_server_image} does not exist" |
210 | | - ) |
211 | | - |
212 | | - workspace = DockerWorkspace( |
213 | | - server_image=agent_server_image, |
214 | | - working_dir="/workspace", |
215 | | - forward_env=forward_env or [], |
216 | | - ) |
217 | | - logger.info(f"Using pre-built image {agent_server_image}") |
| 189 | + custom_tag = extract_custom_tag(base_docker_image) |
| 190 | + suffix = f"-{build_target}" if build_target != "binary" else "" |
| 191 | + agent_server_image = ( |
| 192 | + f"{EVAL_AGENT_SERVER_IMAGE}:{IMAGE_TAG_PREFIX}-{custom_tag}{suffix}" |
| 193 | + ) |
| 194 | + workspace = create_docker_workspace( |
| 195 | + agent_server_image=agent_server_image, |
| 196 | + base_image=base_docker_image, |
| 197 | + build_target=build_target, |
| 198 | + forward_env=forward_env, |
| 199 | + ) |
218 | 200 | elif self.metadata.workspace_type == "remote": |
219 | 201 | runtime_api_key = os.getenv("RUNTIME_API_KEY") |
220 | 202 | if not runtime_api_key: |
|
0 commit comments