Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 9 additions & 2 deletions skyrl-train/examples/terminal_bench/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ Integration with Terminal-Bench is a work in progress.
We specify a specific harbor commit in our `pyproject.toml`, which you can easily substitute or even use a local copy of Harbor.

```toml
harbor = { git = "https://github.com/laude-institute/harbor", rev = "fdfe296145cf13663dc6a0233f8faab7bfcf5fe1" }
harbor = { git = "https://github.com/laude-institute/harbor", rev = "5921cc40e8f6b5b0df0a3dc6354e0e679447eb54" }
```

Tracked here: https://github.com/NovaSky-AI/SkyRL/issues/866
Expand Down Expand Up @@ -46,4 +46,11 @@ To configure the Harbor-specific parameters (e.g. the maximum turns a rollout ca

You can override any config supported by Harbor's `TrialConfig` in the script with `++`, just like what we do for `trials_dir` here.

For all the configurations, see [Harbor's documentation](https://harborframework.com/docs), and the `TrialConfig` definition: https://github.com/laude-institute/harbor/blob/fdfe296145cf13663dc6a0233f8faab7bfcf5fe1/src/harbor/models/trial/config.py
For all the configurations, see [Harbor's documentation](https://harborframework.com/docs), and the `TrialConfig` definition: https://github.com/laude-institute/harbor/blob/5921cc40e8f6b5b0df0a3dc6354e0e679447eb54/src/harbor/models/trial/config.py

### Main configuration knobs

- `++terminal_bench_config.environment.type=daytona` or `=modal`
- Harbor supports various ways of [hosting the sandboxes](https://harborframework.com/docs/core-concepts#container-environment) for the agent to run the task (Daytona, Modal, E2B, GKE (Google Kubernetes Engine))
- SkyRL + Harbor integration has tested with Daytona and Modal, but the other providers should work out of the box
- More documentations to come
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
# See Harbor documentation for all available options:
# https://harborframework.com/docs
# And a full list of fields that TrialConfig supports:
# https://github.com/laude-institute/harbor/blob/fdfe296145cf13663dc6a0233f8faab7bfcf5fe1/src/harbor/models/trial/config.py
# https://github.com/laude-institute/harbor/blob/5921cc40e8f6b5b0df0a3dc6354e0e679447eb54/src/harbor/models/trial/config.py

# Harbor TrialConfig fields below
# --------------------------------
Expand Down
2 changes: 1 addition & 1 deletion skyrl-train/pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -97,7 +97,7 @@ torch = [
{ index = "pytorch-cu128", marker = "sys_platform == 'linux'" },
{ index = "pytorch-cpu", marker = "sys_platform == 'darwin'" },
]
harbor = { git = "https://github.com/laude-institute/harbor", rev = "fdfe296145cf13663dc6a0233f8faab7bfcf5fe1" }
harbor = { git = "https://github.com/laude-institute/harbor", rev = "5921cc40e8f6b5b0df0a3dc6354e0e679447eb54" }
torchvision = [
{ index = "pytorch-cu128", marker = "sys_platform == 'linux'" },
{ index = "pytorch-cpu", marker = "sys_platform == 'darwin'" },
Expand Down
8 changes: 5 additions & 3 deletions skyrl-train/skyrl_train/utils/utils.py
Original file line number Diff line number Diff line change
Expand Up @@ -653,9 +653,11 @@ def prepare_runtime_environment(cfg: Union[SkyRLConfig, DictConfig]) -> dict[str
logger.info("Exporting mlflow tracking token to ray runtime env")
env_vars["MLFLOW_TRACKING_TOKEN"] = os.environ["MLFLOW_TRACKING_TOKEN"]

if os.environ.get("DAYTONA_API_KEY"):
logger.info("Exporting daytona api key to ray runtime env")
env_vars["DAYTONA_API_KEY"] = os.environ["DAYTONA_API_KEY"]
# NOTE(charlie): these are for Harbor. We should remove these once we have a sustainable way to handle these environment vars.
for var_name in ["DAYTONA_API_KEY", "MODAL_TOKEN_ID", "MODAL_TOKEN_SECRET"]:
if value := os.environ.get(var_name):
logger.info(f"Exporting {var_name} to ray runtime env")
env_vars[var_name] = value

if SKYRL_LD_LIBRARY_PATH_EXPORT:
# export `LD_LIBRARY_PATH` to ray runtime env.
Expand Down
8 changes: 4 additions & 4 deletions skyrl-train/uv.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.