Skip to content

Commit 0023a5f

Browse files
committed
Revert "Debug"
This reverts commit afaaa70.
1 parent 224d8cc commit 0023a5f

File tree

2 files changed

+154
-3
lines changed

2 files changed

+154
-3
lines changed

.github/workflows/ci.yaml

Lines changed: 149 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,149 @@
1+
name: ci
2+
3+
on:
4+
push:
5+
branches:
6+
- main
7+
pull_request:
8+
branches:
9+
- main
10+
schedule:
11+
- cron: "0 5 * * *"
12+
workflow_dispatch:
13+
14+
defaults:
15+
run:
16+
shell: bash -l {0}
17+
18+
jobs:
19+
test:
20+
name: Test on ${{ matrix.os }}, Python ${{ matrix.python-version }}, OpenMM ${{ matrix.openmm }}, OpenEye ${{ matrix.openeye }}, RDKit ${{ matrix.rdkit }}, AmberTools ${{ matrix.ambertools }}, NAGL ${{ matrix.nagl }}
21+
runs-on: ${{ matrix.os }}
22+
strategy:
23+
matrix:
24+
os:
25+
- macos-latest
26+
- ubuntu-latest
27+
python-version:
28+
- "3.11"
29+
- "3.12"
30+
- "3.13"
31+
openeye:
32+
- true
33+
- false
34+
rdkit:
35+
- true
36+
ambertools:
37+
- true
38+
- false
39+
nagl:
40+
- true
41+
- false
42+
openmm:
43+
- true
44+
exclude:
45+
- python-version: "3.13"
46+
openeye: true
47+
- ambertools: false
48+
openeye: false
49+
50+
env:
51+
OE_LICENSE: ${{ github.workspace }}/oe_license.txt
52+
COV: --cov=openff/interchange --cov-report=xml --cov-config=pyproject.toml --cov-append
53+
54+
steps:
55+
- uses: actions/checkout@v5
56+
with:
57+
fetch-depth: 0
58+
59+
- name: Install conda environment
60+
uses: mamba-org/setup-micromamba@v2
61+
with:
62+
environment-file: devtools/conda-envs/test_env.yaml
63+
create-args: >-
64+
python=${{ matrix.python-version }}
65+
66+
- name: Install and license OpenEye Toolkits
67+
if: ${{ matrix.openeye == true }}
68+
run: |
69+
micromamba install "openeye-toolkits =2025" -c openeye
70+
echo "${SECRET_OE_LICENSE}" > ${OE_LICENSE}
71+
python -c "from openeye import oechem; assert oechem.OEChemIsLicensed()"
72+
env:
73+
SECRET_OE_LICENSE: ${{ secrets.OE_LICENSE }}
74+
75+
- name: Install OpenMM
76+
if: ${{ matrix.openmm == true }}
77+
run: |
78+
micromamba install openmm -c conda-forge
79+
80+
- name: Install RDKit
81+
if: ${{ matrix.rdkit == true }}
82+
run: |
83+
micromamba install rdkit "ambertools =24" intermol -c conda-forge
84+
85+
- name: Remove AmberTools
86+
if: ${{ matrix.ambertools == false }}
87+
run: |
88+
micromamba remove ambertools parmed
89+
micromamba install "packmol >=20.15.0" "lammps>=2024" "numpy>=2.3"
90+
91+
- name: Install OpenFF NAGL
92+
if: ${{ matrix.nagl == true }}
93+
run: |
94+
micromamba install openff-nagl -c conda-forge
95+
96+
- name: Install Python <3.13 dependencies
97+
if: ${{ matrix.python-version != '3.13' && matrix.ambertools == true }}
98+
run: micromamba install --file devtools/conda-envs/test_not_py313.yaml python=${{ matrix.python-version }}
99+
100+
- name: Install package
101+
run: python -m pip install . plugins/
102+
103+
- name: Run tests
104+
run: |
105+
# https://github.com/openforcefield/openff-units/issues/111
106+
python -c "from openff.toolkit import *"
107+
108+
python -m pytest $COV openff/interchange/ -r fExs -n logical --durations=10
109+
110+
- name: Run small molecule regression tests
111+
if: ${{ matrix.openeye == true && matrix.openmm == true }}
112+
run: |
113+
micromamba install "openmm=8.4.0" "deepdiff <=8" rich click -c conda-forge
114+
python -m pip install git+https://github.com/openforcefield/interchange-regression-testing.git@443480732f5caf3fc63f5442fdd763176c63e72f
115+
116+
create_openmm_systems \
117+
--input "regression_tests/small-molecule/input-topologies.json" \
118+
--output "regression_tests/small-molecule/" \
119+
--using-interchange \
120+
--force-field "openff-2.0.0.offxml" \
121+
--n-procs 4
122+
123+
# Don't trust the interchange version here, for some reason, just put it in a new directory
124+
mkdir regression_tests/small-molecule/omm-systems-interchange-latest/
125+
mv regression_tests/small-molecule/omm-systems-interchange-*/*xml regression_tests/small-molecule/omm-systems-interchange-latest/
126+
127+
compare_openmm_systems \
128+
--input-dir-a "regression_tests/small-molecule/omm-systems-toolkit-0.10.6" \
129+
--input-dir-b "regression_tests/small-molecule/omm-systems-interchange-latest" \
130+
--output "regression_tests/differences.json" \
131+
--settings "regression_tests/default-comparison-settings.json" \
132+
--expected-changes "regression_tests/toolkit-to-interchange.json" \
133+
--n-procs 4
134+
135+
python devtools/scripts/molecule-regressions.py
136+
137+
- name: Run mypy
138+
run: |
139+
# As of 01/23, JAX with mypy is too slow to use without a pre-built cache
140+
# https://github.com/openforcefield/openff-interchange/pull/578#issuecomment-1369979875
141+
micromamba remove jax
142+
python -m mypy -p "openff.interchange" --exclude "openff/interchange/_tests/"
143+
python -m mypy plugins/nonbonded_plugins/
144+
145+
- name: Codecov
146+
uses: codecov/codecov-action@v5
147+
with:
148+
token: ${{ secrets.CODECOV_TOKEN }}
149+
files: ./coverage.xml

.github/workflows/examples.yaml

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,9 @@ jobs:
5555
- name: Run docexamples
5656
run: python -m pytest -c pyproject.toml --doctest-modules openff/interchange/ --ignore=openff/interchange/_tests
5757

58-
- name: Debug import/build failures
58+
- name: Run example notebooks
5959
run: |
60-
python -c "from openff.interchange import Interchange, __version__; print(Interchange.__module__, __version__)"
61-
python -m pytest -xv -c pyproject.toml --nbval-lax --durations=20 examples/ligand_in_water/
60+
python -m pytest -x -c pyproject.toml --nbval-lax --dist loadscope -n logical --durations=20 examples/ \
61+
--ignore=examples/deprecated/ \
62+
--ignore=examples/experimental/ \
63+
--ignore=examples/lammps/

0 commit comments

Comments
 (0)