@@ -199,32 +199,14 @@ jobs:
199199 print("cuda? :", torch.cuda.is_available())
200200 PYEOF
201201
202- # The RitS adapter test file (arc/job/adapters/ts/rits_test.py) imports
203- # ARC modules; ARC needs to be importable from the rits_env runner. We
204- # do NOT install ARC into rits_env (it would conflict with the locked
205- # torch/PyG stack), instead we run pytest with PYTHONPATH pointed at
206- # the ARC checkout so the test discovers `import arc.*` cleanly.
202+ # NOTE: We do NOT run rits_test.py from rits_env. ARC's import chain
203+ # (arc/__init__ → arc.main → arc.job.ssh → paramiko → … → rmgpy)
204+ # requires the full arc_env dependency tree, which cannot be installed
205+ # into rits_env without risking torch/PyG version conflicts.
207206 #
208- # Tier-2 e2e tests are gated on `_rits_environment_ready()` which
209- # checks for RITS_PYTHON / RITS_REPO_PATH / RITS_CKPT_PATH. On the CI
210- # runner all three are present after install_rits.sh, so the e2e
211- # tests run; on a developer laptop without rits_env they auto-skip.
212- - name : Install pytest + ARC import dependencies into rits_env
213- shell : bash -el {0}
214- run : |
215- # rits_env carries the heavy ML stack (torch/PyG/megalodon) but not
216- # ARC's own deps. The test imports arc.* via PYTHONPATH, which
217- # triggers arc/__init__.py → arc.main → IPython, plus other light
218- # deps ARC expects at import time. Install the minimum subset here
219- # so the import chain resolves without pulling in the full arc_env.
220- micromamba run -n rits_env python -m pip install --quiet \
221- pytest ipython pyyaml numpy scipy matplotlib
222-
223- - name : Run RitS adapter tests
224- shell : bash -el {0}
225- working-directory : ${{ github.workspace }}
226- env :
227- PYTHONPATH : ${{ github.workspace }}/ARC
228- run : |
229- micromamba run -n rits_env python -m pytest \
230- ARC/arc/job/adapters/ts/rits_test.py -v --no-header
207+ # Instead, rits_test.py is collected by the main build-and-test lane's
208+ # `pytest arc/` which runs from arc_env. Tier-1 tests (helpers,
209+ # instantiation, dedup, parser) pass without rits_env. Tier-2 e2e
210+ # tests auto-skip via @unittest.skipUnless(HAS_RITS) because rits_env
211+ # is not present on the main lane's runner. Full e2e coverage runs on
212+ # developer machines where both envs coexist.
0 commit comments