Skip to content

Commit dcecbab

Browse files
authored
Add PyRosetta installer workflow for testing (#8)
1 parent 271026c commit dcecbab

File tree

1 file changed

+87
-0
lines changed

1 file changed

+87
-0
lines changed
Lines changed: 87 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,87 @@
1+
name: PyRosetta quarterly install test
2+
3+
on:
4+
# push:
5+
# pull_request:
6+
workflow_dispatch:
7+
8+
jobs:
9+
install:
10+
name: ${{ matrix.os.os_name }} / py${{ matrix.python }} / ${{ matrix.flavor.name }} / ${{ matrix.mirror.name }}
11+
runs-on: ${{ matrix.os.runs_on }}
12+
13+
strategy:
14+
fail-fast: false
15+
matrix:
16+
python: ["3.9", "3.10", "3.11", "3.12", "3.13", "3.14"]
17+
18+
os:
19+
- os_name: linux
20+
runs_on: ubuntu-latest
21+
- os_name: mac-x86
22+
runs_on: macos-15-intel
23+
- os_name: mac-arm
24+
runs_on: macos-15
25+
26+
# Quarterly “flavors”
27+
flavor:
28+
- name: release
29+
type: Release
30+
distributed: 0
31+
- name: minsizerel
32+
type: MinSizeRel
33+
distributed: 0
34+
- name: release.cxx11thread.serialization
35+
type: Release
36+
distributed: 1
37+
38+
39+
# Mirrors
40+
mirror:
41+
- name: west
42+
mirror: 0
43+
- name: east
44+
mirror: 1
45+
46+
steps:
47+
- uses: actions/checkout@v4
48+
49+
- name: Set up Python
50+
uses: actions/setup-python@v5
51+
with:
52+
python-version: ${{ matrix.python }}
53+
cache: pip
54+
55+
- name: Upgrade pip tooling
56+
run: |
57+
python -m pip install --upgrade pip setuptools wheel
58+
59+
# - name: Install PyRosetta using pyrosetta_installer
60+
# run: |
61+
# pip install --no-cache-dir pyrosetta_installer
62+
# python -c 'import pyrosetta_installer; pyrosetta_installer.install_pyrosetta(mirror=${{ matrix.mirror.mirror }}, distributed=${{ matrix.flavor.distributed }}, type="${{ matrix.flavor.type }}")'
63+
64+
- name: Install pyrosetta_installer
65+
run: |
66+
pip install --no-cache-dir pyrosetta_installer
67+
68+
- name: Install PyRosetta
69+
env:
70+
MIRROR: ${{ matrix.mirror.mirror }}
71+
DISTRIBUTED: ${{ matrix.flavor.distributed }}
72+
BUILD_TYPE: ${{ matrix.flavor.type }}
73+
run: |
74+
python - <<'PY'
75+
import os
76+
import pyrosetta_installer
77+
78+
pyrosetta_installer.install_pyrosetta(
79+
mirror=int(os.environ["MIRROR"]),
80+
distributed=int(os.environ["DISTRIBUTED"]),
81+
type=os.environ["BUILD_TYPE"],
82+
)
83+
PY
84+
85+
- name: Sanity check import + init
86+
run: |
87+
python -c "import pyrosetta; pyrosetta.init(); print(pyrosetta._build_signature()); print('init ok')"

0 commit comments

Comments
 (0)