Conversation
|
Fixes: |
|
Fix: "hal/utils/virtual_machine_runner.py It now logs, then re-raises a RuntimeError chained from the original exception. The existing finally still runs first, so delete_virtual_machine_by_name is still called for that vm_name (same as before), then the error propagates: asyncio.gather fails Unchanged: paths that return a value without raising (e.g. timeout string, missing output.json warning dict) still behave as before." example failing version: https://github.com/princeton-pli/hal-harness/actions/runs/23399407657/attempts/1 |
|
fixed issue of previous run still loading: new commit blocks old PR from loading |
|
Open questions:
Local runs (my internet is slow...) |
…nto rob/ae-32-id-most-important-parts-of-the-code-base-to-test-and-test
|
Ideas for reducing time to run:
Current e2e components measured:
TODO:
|
schwartzadev
left a comment
There was a problem hiding this comment.
lgtm with comments - please add tests for new functionality and review the comments
nice work
| steps: | ||
| - uses: actions/checkout@v4 | ||
|
|
||
| # Warm capsules avoid re-downloading from corebench.cs.princeton.edu every run. |
There was a problem hiding this comment.
please uncomment or delete
| raise TypeError("core_test.json must contain a JSON array of tasks") | ||
|
|
||
| # Match hal-eval --max_tasks: only download/load capsules we will run (saves CI time). | ||
| if max_tasks is not None and max_tasks > 0 and max_tasks < len(dataset): |
There was a problem hiding this comment.
nit: this should just be if max_tasks is not None
max_tasks > 0 is silently ignored (expected: returns empty array; actual: returns the full array)
max_tasks < len(dataset) is redundant, see:
>>> l = [1,2,3,4,5,6]
>>> l[:0]
[]
>>> l[:10]
[1, 2, 3, 4, 5, 6]
>>>
|
|
||
| def _vm_env_var_from_host(name: str) -> str | None: | ||
| """Resolve a secret from the host process env or local .env (for VM payload files).""" | ||
| v = os.environ.get(name, "").strip() |
There was a problem hiding this comment.
please use more verbose variable names
| if raw: | ||
| s = str(raw).strip() | ||
| if s: | ||
| return s |
There was a problem hiding this comment.
please use more verbose variable names
| f"/home/agent/{os.path.basename(destination_directory)}_back.tar.gz" | ||
| ) | ||
| remote_home_directory = "/home/agent" | ||
| exclude = "" |
There was a problem hiding this comment.
| exclude = "" | |
| exclude_command_line_argument_string = "" |
| # Write run-specific env vars for static run_agent.py | ||
| run_agent_env = f"RUN_ID={run_id}\nAGENT_FUNCTION={agent_function}\nTASK_ID={task_id}\n" | ||
| for name in _VM_RUN_AGENT_SECRET_NAMES: | ||
| val = _vm_env_var_from_host(name) |
There was a problem hiding this comment.
nit: rename to 'secret_value' or similar
There was a problem hiding this comment.
what's this file doing? add a readme if this should be included in git
There was a problem hiding this comment.
i think this should be in .github?
…e-base-to-test-and-test
No description provided.