From 6050e1a5c9435d671a2d6cde244c0b69a39fd380 Mon Sep 17 00:00:00 2001 From: xraymemory Date: Tue, 2 Jun 2026 11:37:01 -0400 Subject: [PATCH 1/3] fix(docker): set sampleworks workspace home --- Dockerfile | 11 ++++++++++- Dockerfile.astera | 2 ++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index cacbd13b..7b92c37b 100644 --- a/Dockerfile +++ b/Dockerfile @@ -134,7 +134,16 @@ ENV BOLTZ1_CHECKPOINT=/checkpoints/boltz1_conf.ckpt \ BOLTZ2_CHECKPOINT=/checkpoints/boltz2_conf.ckpt \ CCD_PATH=/checkpoints/ccd.pkl \ RF3_CHECKPOINT=/checkpoints/rf3_foundry_01_24_latest.ckpt \ - PROTENIX_CHECKPOINT=/checkpoints/protenix_base_default_v0.5.0.pt + PROTENIX_CHECKPOINT=/checkpoints/protenix_base_default_v0.5.0.pt \ + HOME=/home/dev \ + XDG_CONFIG_HOME=/home/dev/.config \ + XDG_CACHE_HOME=/home/dev/.cache \ + XDG_DATA_HOME=/home/dev/.local/share \ + SHELL=/bin/bash + +RUN mkdir -p /home/dev/.config /home/dev/.cache /home/dev/.local/share /home/dev/workspace + +WORKDIR /home/dev ENTRYPOINT ["entrypoint.sh"] CMD ["--help"] diff --git a/Dockerfile.astera b/Dockerfile.astera index c8e06c9b..84835e95 100644 --- a/Dockerfile.astera +++ b/Dockerfile.astera @@ -45,6 +45,8 @@ COPY --from=ext-cli /ext /usr/local/bin/ext RUN chmod 0755 /usr/local/bin/ext +WORKDIR /home/dev + # ACTL workspace pods intentionally keep the inherited root runtime user: the # prebuilt /app/.pixi environments and shared PVC workflows are currently # root-oriented, and switching USER here would break existing scientist runs. From 08bad7476519f370b613f9705215bbee89ba1cd1 Mon Sep 17 00:00:00 2001 From: xraymemory Date: Tue, 2 Jun 2026 13:08:54 -0400 Subject: [PATCH 2/3] test(runs): isolate runner tests from ACTL workspace --- tests/runs/conftest.py | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/tests/runs/conftest.py b/tests/runs/conftest.py index 70cc7919..c187c0f2 100644 --- a/tests/runs/conftest.py +++ b/tests/runs/conftest.py @@ -3,15 +3,29 @@ from __future__ import annotations import os +from pathlib import Path import pytest +from sampleworks.runs import runner @pytest.fixture(autouse=True) -def force_pixi_argv(monkeypatch: pytest.MonkeyPatch) -> None: - """Keep argv assertions deterministic on machines with /app/.pixi present.""" +def force_pixi_argv(monkeypatch: pytest.MonkeyPatch, tmp_path: Path) -> None: + """Keep argv assertions deterministic across dev and ACTL image environments.""" monkeypatch.delenv("SAMPLEWORKS_GRID_SEARCH_SCRIPT", raising=False) monkeypatch.delenv("SAMPLEWORKS_PIXI_PROJECT_DIR", raising=False) + monkeypatch.setattr( + runner, + "WORKSPACE_GRID_SEARCH_SCRIPT", + str(tmp_path / "missing-workspace" / "run_grid_search.py"), + ) + for var in ( + "RUNTIME_PIXI", + "SAMPLEWORKS_ALLOW_RUNTIME_PIXI", + "SAMPLEWORKS_REQUIRE_PREBUILT_PIXI", + "SAMPLEWORKS_SKIP_ENV_PREPARE", + ): + monkeypatch.delenv(var, raising=False) for var in list(os.environ): if var.startswith("SAMPLEWORKS_") and var.endswith("_PYTHON"): monkeypatch.delenv(var, raising=False) From 77ea7c766bde91773e6e98be56be07122721b284 Mon Sep 17 00:00:00 2001 From: xraymemory Date: Tue, 2 Jun 2026 13:22:43 -0400 Subject: [PATCH 3/3] fix(docker): install workspace bashrc snippet --- Dockerfile | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index 7b92c37b..86569ed7 100644 --- a/Dockerfile +++ b/Dockerfile @@ -123,7 +123,8 @@ RUN rm -rf /app/src /app/scripts /app/experiments /app/analyses \ && mkdir -p /home/dev/workspace COPY --chmod=755 run_experiments run_experiments.sh run_all_models.sh run_analysis run_analysis.sh /usr/local/bin/ -RUN printf '\n# ACTL scientist workflow: land in the synced Sampleworks checkout.\nif [[ $- == *i* ]] && [ -z "${SAMPLEWORKS_NO_AUTO_CD:-}" ] && [ -d /home/dev/workspace ]; then\n cd /home/dev/workspace\nfi\n' >> /root/.bashrc +RUN printf '\n# ACTL scientist workflow: land in the synced Sampleworks checkout.\nif [[ $- == *i* ]] && [ -z "${SAMPLEWORKS_NO_AUTO_CD:-}" ] && [ -d /home/dev/workspace ]; then\n cd /home/dev/workspace\nfi\n' \ + | tee -a /root/.bashrc /home/dev/.bashrc >/dev/null # ============================================================================ # Public runtime: regular Sampleworks image for the public registry