Skip to content

Commit e35d1c7

Browse files
committed
force mounting the host machine's replay folder in resolver
1 parent b408d3a commit e35d1c7

File tree

1 file changed

+8
-4
lines changed

1 file changed

+8
-4
lines changed

openhands/resolver/resolve_issue.py

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -211,6 +211,7 @@ async def complete_runtime(
211211

212212
def init_replay(replay_dir: str | Path) -> None:
213213
replay_dir = Path(replay_dir)
214+
214215
if not replay_dir.exists():
215216
replay_dir.mkdir(parents=True)
216217

@@ -221,6 +222,7 @@ def init_replay(replay_dir: str | Path) -> None:
221222
for repo_url in repo_urls:
222223
repo_name = repo_url.split('/')[-1]
223224
repo_path = replay_dir / repo_name
225+
logger.info(f'[Replay] Preparing {repo_name} in {repo_path}')
224226
if not repo_path.exists():
225227
logger.info(
226228
f'[Replay] Repository {repo_name} not found in {replay_dir}, cloning...'
@@ -284,8 +286,9 @@ async def process_issue(
284286
timeout=300,
285287
),
286288
replay=ReplayConfig(
287-
# Don't set config.replay.dir here in the resolver workflow.
288-
dir=os.environ.get('REPLAY_DIR', None),
289+
dir=os.environ.get(
290+
'REPLAY_DIR', os.path.abspath(os.path.join(output_dir, 'replay'))
291+
),
289292
api_key=os.environ.get('REPLAY_API_KEY', None),
290293
),
291294
# do not mount workspace
@@ -303,8 +306,9 @@ async def process_issue(
303306
await runtime.connect()
304307

305308
# Force-update the Replay repos, if necessary:
306-
replay_dir = os.path.abspath(os.path.join(output_dir, 'replay'))
307-
init_replay(replay_dir)
309+
if config.replay.dir is None:
310+
raise ValueError('config.replay.dir is not set.')
311+
init_replay(config.replay.dir)
308312

309313
async def on_event(evt):
310314
logger.info(evt)

0 commit comments

Comments
 (0)