Skip to content

Commit 84aca03

Browse files
authored
Add uv project, and run TestEnvironmentReproducibility tests (#2)
This PR updates the following: - sets up an isolated `uv` project to mirror the `pixi` workflow - runs a single test case per job, since PyRosetta was being initialized globally by the `python -m unittest discover -s pyrosetta.tests.distributed.cluster` command, which was causing certain unit tests to fail that require isolated PyRosetta initializations.
1 parent 6ef9718 commit 84aca03

File tree

1 file changed

+27
-9
lines changed

1 file changed

+27
-9
lines changed

.github/workflows/pyrosetta.yml

Lines changed: 27 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -37,13 +37,13 @@ jobs:
3737
- name: Run tests (pixi)
3838
run: |
3939
cd pyrosetta/pixi
40-
pixi run python -m unittest discover -s pyrosetta.tests.distributed.cluster
40+
pixi run python -u -m unittest pyrosetta.tests.distributed.cluster.test_reproducibility.TestEnvironmentReproducibility.test_recreate_environment_pixi -v
4141
4242
# ============================================================
4343
# UV JOB
4444
# ============================================================
4545
uv:
46-
name: uv
46+
name: Uv
4747
runs-on: ubuntu-latest
4848
strategy:
4949
matrix:
@@ -63,13 +63,29 @@ jobs:
6363
echo "$HOME/.local/bin" >> $GITHUB_PATH
6464
uv --version
6565
66-
- name: Install PyRosetta dependencies
66+
- name: Create new uv project
6767
run: |
68-
uv pip install --system pyrosetta-installer
68+
export PATH="$HOME/.local/bin:$PATH"
69+
uv init pyrosetta_uv_project
6970
70-
- name: Install PyRosetta via installer
71+
- name: Create uv virtual environment
7172
run: |
72-
python - <<'EOF'
73+
export PATH="$HOME/.local/bin:$PATH"
74+
cd pyrosetta_uv_project
75+
uv venv
76+
77+
- name: Install PyRosetta installer
78+
run: |
79+
export PATH="$HOME/.local/bin:$PATH"
80+
cd pyrosetta_uv_project
81+
# Note: 'pip' is a required dependency of 'pyrosetta-installer'
82+
uv pip install pyrosetta-installer pip
83+
84+
- name: Install PyRosetta via installer in uv project
85+
run: |
86+
export PATH="$HOME/.local/bin:$PATH"
87+
cd pyrosetta_uv_project
88+
uv run python - <<'EOF'
7389
import pyrosetta_installer
7490
try:
7591
pyrosetta_installer.install_pyrosetta(
@@ -90,7 +106,9 @@ jobs:
90106
91107
- name: Run tests (uv)
92108
run: |
93-
python -m unittest discover -s pyrosetta.tests.distributed.cluster
109+
export PATH="$HOME/.local/bin:$PATH"
110+
cd pyrosetta_uv_project
111+
uv run python -u -m unittest pyrosetta.tests.distributed.cluster.test_reproducibility.TestEnvironmentReproducibility.test_recreate_environment_uv -v
94112
95113
# ============================================================
96114
# CONDA JOB
@@ -122,7 +140,7 @@ jobs:
122140
# Activate the environment
123141
conda activate pyrosetta-env
124142
# Run unittest
125-
python -m unittest discover -s pyrosetta.tests.distributed.cluster
143+
python -u -m unittest pyrosetta.tests.distributed.cluster.test_reproducibility.TestEnvironmentReproducibility.test_recreate_environment_conda -v
126144
127145
# ============================================================
128146
# MAMBA JOB
@@ -156,4 +174,4 @@ jobs:
156174
# Activate the environment
157175
conda activate pyrosetta-env
158176
# Run unittest
159-
python -m unittest discover -s pyrosetta.tests.distributed.cluster
177+
python -u -m unittest pyrosetta.tests.distributed.cluster.test_reproducibility.TestEnvironmentReproducibility.test_recreate_environment_mamba -v

0 commit comments

Comments
 (0)