From 271da911f48770f5c11f0ba03f0a172c5830bce3 Mon Sep 17 00:00:00 2001 From: Matt Thompson Date: Thu, 30 May 2024 16:52:27 -0500 Subject: [PATCH] Test on Python 3.12 in (non-examples) CI (#1755) * Test on Python 3.12 * Remove optional dependencies * Use OpenMM 8.1beta * Syntax * Update versions * Safeguard `openff-nagl-models` import` * Revert debug code * Update CI * Fix * Back to 0.3.14 for examples * Pull in the real deal * No false-false * Skip NAGL tests on 3.12 * Update * Update * micro * Drop beta channel * Drop a pin * Ensure latest Interchange * Simplify diff --- .github/workflows/CI.yml | 22 +++++++--------------- devtools/conda-envs/openeye-examples.yaml | 4 ++-- devtools/conda-envs/openeye.yaml | 4 ++-- devtools/conda-envs/rdkit-examples.yaml | 4 ++-- devtools/conda-envs/rdkit.yaml | 4 ++-- devtools/conda-envs/test_env.yaml | 4 ++-- openff/toolkit/_tests/test_nagl.py | 8 +++++++- 7 files changed, 24 insertions(+), 26 deletions(-) diff --git a/.github/workflows/CI.yml b/.github/workflows/CI.yml index 6d0b875da..617b8b624 100644 --- a/.github/workflows/CI.yml +++ b/.github/workflows/CI.yml @@ -28,7 +28,7 @@ jobs: fail-fast: false matrix: os: [ubuntu-latest, macos-12] - python-version: ["3.10", "3.11"] + python-version: ["3.10", "3.11", "3.12"] rdkit: [true, false] openeye: [true, false] exclude: @@ -36,6 +36,8 @@ jobs: openeye: false - openeye: true python-version: "3.11" + - openeye: true + python-version: "3.12" env: OE_LICENSE: ${{ github.workspace }}/oe_license.txt @@ -78,17 +80,10 @@ jobs: create-args: >- python=${{ matrix.python-version }} - - name: Additional info about the build - run: | - uname -a - df -h - ulimit -a - - name: Make oe_license.txt file from GH org secret "OE_LICENSE" env: OE_LICENSE_TEXT: ${{ secrets.OE_LICENSE }} - run: | - echo "${OE_LICENSE_TEXT}" > ${OE_LICENSE} + run: echo "${OE_LICENSE_TEXT}" > ${OE_LICENSE} - name: Install package run: | @@ -101,8 +96,7 @@ jobs: python -m pip install . - name: Install test plugins - run: | - python -m pip install utilities/test_plugins + run: python -m pip install utilities/test_plugins - name: Remove undesired toolkits run: | @@ -157,13 +151,11 @@ jobs: - name: Run code snippets in docs if: ${{ matrix.rdkit == true && matrix.openeye == true }} - run: | - pytest -v --no-cov --doctest-glob="docs/*.rst" --doctest-glob="docs/*.md" docs/ + run: pytest -v --no-cov --doctest-glob="docs/*.rst" --doctest-glob="docs/*.md" docs/ - name: Run notebooks in docs if: ${{ matrix.rdkit == true && matrix.openeye == true }} - run: | - pytest -v --no-cov --durations=5 --nbval --ignore docs/_build/ docs/ + run: pytest -v --no-cov --nbval --ignore docs/_build/ docs/ - name: Run examples in docstrings if: ${{ matrix.rdkit == true && matrix.openeye == true }} diff --git a/devtools/conda-envs/openeye-examples.yaml b/devtools/conda-envs/openeye-examples.yaml index 85884923d..da7cd42c9 100644 --- a/devtools/conda-envs/openeye-examples.yaml +++ b/devtools/conda-envs/openeye-examples.yaml @@ -19,8 +19,8 @@ dependencies: - openff-amber-ff-ports >=0.0.3 - openff-units =0.2.0 - openff-utilities >=0.1.5 - - openff-interchange-base >=0.3.17 - - openff-nagl-base >=0.3.7,<0.4 + - openff-interchange-base >=0.3.19 + - openff-nagl-base ~=0.3.7 - openff-nagl-models ==0.1.0 - typing_extensions - nglview diff --git a/devtools/conda-envs/openeye.yaml b/devtools/conda-envs/openeye.yaml index 0738b6d33..ec77fd40a 100644 --- a/devtools/conda-envs/openeye.yaml +++ b/devtools/conda-envs/openeye.yaml @@ -19,8 +19,8 @@ dependencies: - openff-units =0.2.0 - openff-amber-ff-ports - openff-utilities >=0.1.5 - - openff-interchange-base >=0.3.17 - - openff-nagl-base >=0.3.7,<0.4 + - openff-interchange-base >=0.3.19 + - openff-nagl-base ~=0.3.7 - openff-nagl-models ==0.1.0 - typing_extensions # Toolkit-specific diff --git a/devtools/conda-envs/rdkit-examples.yaml b/devtools/conda-envs/rdkit-examples.yaml index 32a035a22..f9a181983 100644 --- a/devtools/conda-envs/rdkit-examples.yaml +++ b/devtools/conda-envs/rdkit-examples.yaml @@ -18,8 +18,8 @@ dependencies: - openff-amber-ff-ports >=0.0.3 - openff-units =0.2.0 - openff-utilities >=0.1.5 - - openff-interchange-base >=0.3.17 - - openff-nagl-base >=0.3.7,<0.4 + - openff-interchange-base >=0.3.19 + - openff-nagl-base ~=0.3.7 - openff-nagl-models ==0.1.0 - typing_extensions - nglview diff --git a/devtools/conda-envs/rdkit.yaml b/devtools/conda-envs/rdkit.yaml index 976a31b57..34de13a60 100644 --- a/devtools/conda-envs/rdkit.yaml +++ b/devtools/conda-envs/rdkit.yaml @@ -18,8 +18,8 @@ dependencies: - openff-units =0.2.0 - openff-amber-ff-ports - openff-utilities >=0.1.5 - - openff-interchange-base >=0.3.17 - - openff-nagl-base >=0.3.7,<0.4 + - openff-interchange-base >=0.3.19 + - openff-nagl-base ~=0.3.7 - openff-nagl-models ==0.1.0 - typing_extensions # Toolkit-specific diff --git a/devtools/conda-envs/test_env.yaml b/devtools/conda-envs/test_env.yaml index 43a8dab7c..212ffdbe3 100644 --- a/devtools/conda-envs/test_env.yaml +++ b/devtools/conda-envs/test_env.yaml @@ -19,8 +19,8 @@ dependencies: - openff-units =0.2.0 - openff-amber-ff-ports - openff-utilities >=0.1.5 - - openff-interchange-base >=0.3.17 - - openff-nagl-base >=0.3.7,<0.4 + - openff-interchange-base >=0.3.19 + - openff-nagl-base ~=0.3.7 - openff-nagl-models ==0.1.0 # Toolkit-specific - ambertools >=22 diff --git a/openff/toolkit/_tests/test_nagl.py b/openff/toolkit/_tests/test_nagl.py index b64d1562b..fd909ae46 100644 --- a/openff/toolkit/_tests/test_nagl.py +++ b/openff/toolkit/_tests/test_nagl.py @@ -3,7 +3,6 @@ import numpy import pytest -from openff.nagl_models import list_available_nagl_models from openff.utilities import has_package, skip_if_missing from openff.toolkit import Molecule, unit @@ -24,6 +23,13 @@ _DEFAULT_MODEL = "openff-gnn-am1bcc-0.1.0-rc.1.pt" +try: + from openff.nagl_models import list_available_nagl_models +except ModuleNotFoundError: + + def list_available_nagl_models(): + return list() + @skip_if_missing("openff.nagl") class TestNAGLToolkitWrapper: