Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Maintenance #1985

Closed
wants to merge 65 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
65 commits
Select commit Hold shift + click to select a range
856d30a
[pre-commit.ci] pre-commit autoupdate (#1119)
pre-commit-ci[bot] Nov 1, 2021
1eedcf4
Bump actions/checkout from 2.3.5 to 2.4.0 (#1121)
dependabot[bot] Nov 3, 2021
08d1882
Add 404 page to docs (#1115)
Yoshanuikabundi Nov 3, 2021
a35a91b
Relocate the SMIRNOFF spec to standards (#949)
SimonBoothroyd Nov 3, 2021
0ed9cbb
[pre-commit.ci] pre-commit autoupdate (#1124)
pre-commit-ci[bot] Nov 8, 2021
3681e13
Use pytest-rerunfailures on tests that rely on QCArchive (#1116)
mattwthompson Nov 8, 2021
aa38f70
[pre-commit.ci] pre-commit autoupdate (#1127)
pre-commit-ci[bot] Nov 15, 2021
2b171d1
Make FrozenMolecule.to_hill_formula a class method (#1120)
mattwthompson Nov 16, 2021
08a51a6
Add automated tests against OpenMM/OpenEye RCs (#1111)
mattwthompson Nov 16, 2021
4f81d41
Replace ParmEd with Interchange in Amber/GROMACS example (#1113)
mattwthompson Nov 16, 2021
666942b
Fix examples workflow (#1128)
mattwthompson Nov 16, 2021
36d286e
Bump actions/setup-python from 2.2.2 to 2.3.0 (#1131)
dependabot[bot] Nov 18, 2021
8834d40
Fix tmp_path usage (#1130)
mattwthompson Nov 22, 2021
04cd690
[pre-commit.ci] pre-commit autoupdate (#1134)
pre-commit-ci[bot] Nov 22, 2021
a4c184d
Fix GLOBAL_TOOLKIT_REGISTRY etc being expanded in sigs (#1135)
Yoshanuikabundi Nov 29, 2021
7e50fc7
Bump actions/setup-python from 2.3.0 to 2.3.1 (#1138)
dependabot[bot] Nov 29, 2021
dae71c8
Streamline CI github actions (#1125)
lilyminium Nov 30, 2021
1845f60
Update FAQ.md (#1139)
j-wags Dec 1, 2021
9a9289c
[pre-commit.ci] pre-commit autoupdate (#1146)
pre-commit-ci[bot] Dec 6, 2021
cdd194c
Fix TopologyAtom/TopologyBond/TopologyVirtualSite not properly refere…
mattwthompson Dec 8, 2021
c9562d6
Fix #1150 (#1151)
j-wags Dec 8, 2021
ce84d82
Fix 1152 (#1153)
j-wags Dec 8, 2021
444254a
Add specific exception for Molecule.from_file with XYZ files (#1148)
mattwthompson Dec 9, 2021
192fe7f
Enforce and test big-endianness in NumPy serialization/deserializatio…
mattwthompson Dec 14, 2021
8aed585
Fix Molecule._ipython_display_ breaking without nglview (#1158)
mattwthompson Dec 22, 2021
9be59f2
fix #1159 and add test (#1160)
j-wags Dec 22, 2021
1539966
Turn off `--warn-unused-ignores` to avoid false failures (#1162)
mattwthompson Jan 6, 2022
12f5e3b
Remove deprecated exceptions (#1156)
mattwthompson Jan 6, 2022
7fa8343
Migrate `pkg_resources` uses to `importlib_metadata` (#1163)
mattwthompson Jan 10, 2022
5493557
index conformers not... ids (#1091)
lilyminium Jan 10, 2022
a4edee0
Update README.md
j-wags Jan 11, 2022
3f99baa
Update releasehistory.md
j-wags Jan 11, 2022
5fd2c35
Have conda CI install test plugins (#1169)
j-wags Jan 20, 2022
4f025e7
Update Read the Docs configuration (automatic) (#1176)
readthedocs-assistant Jan 24, 2022
4b16a26
Fix typo in readme
j-wags Jan 25, 2022
6b32d76
fix typo in vsites
j-wags Jan 26, 2022
64bfea6
Switch from Numpydoc to Napoleon for rendering numpy-style docstrings…
Yoshanuikabundi Jan 27, 2022
c32527b
Expand on smirnoff spec in toolkit docs (#1173)
Yoshanuikabundi Jan 27, 2022
c29c935
Add description of constraints to the FAQ (#1172)
Yoshanuikabundi Jan 31, 2022
f9d8ee7
Update pre-commit config, re-run black (#1187)
mattwthompson Feb 2, 2022
a7a9f18
Bump actions/setup-python from 2.3.1 to 2.3.2 (#1189)
dependabot[bot] Feb 4, 2022
9362b71
Refactor ring methods in Molecule class (#855)
mattwthompson Feb 10, 2022
b1d8e7e
Fix trans COOh in Elf10 conformer selection (#1171)
Yoshanuikabundi Feb 24, 2022
485414e
Fix incorrect assignment of TIP3P parameters in Sage (#1200)
mattwthompson Feb 26, 2022
757813d
prepare releasenotes for 0.10.3 (#1201)
j-wags Feb 28, 2022
b3548b3
Update README.md
j-wags Feb 28, 2022
6e51de2
Bump actions/setup-python from 2.3.2 to 3 (#1202)
dependabot[bot] Feb 28, 2022
659bf78
Bump actions/checkout from 2.4.0 to 3 (#1203)
dependabot[bot] Mar 2, 2022
921fbe2
[pre-commit.ci] pre-commit autoupdate (#1210)
pre-commit-ci[bot] Mar 7, 2022
8533e71
Port #1214 to 0.10.x line (#1242)
mattwthompson Apr 4, 2022
b8b6780
Bump codecov/codecov-action from 2.1.0 to 3 (#1244)
dependabot[bot] Apr 6, 2022
03d1cd5
Let Dependabot update the development branch (#1245)
mattwthompson Apr 6, 2022
0aff82e
Revert "Let Dependabot update the development branch (#1245)" (#1247)
mattwthompson Apr 6, 2022
de6e1dd
Bump actions/upload-artifact from 2 to 3 (#1254)
dependabot[bot] Apr 11, 2022
ba1865e
Reformulate RDKit stereo assignment as CSP problem (#1184)
SimonBoothroyd Apr 11, 2022
ac3f541
Finalize 0.10.4 release notes (#1255)
mattwthompson Apr 11, 2022
fa80730
Begin development after 0.10.4
mattwthompson Apr 12, 2022
cba4ae3
Refactor virtual site handler (#1252)
SimonBoothroyd Apr 19, 2022
7d0f029
Update README for 0.10.5 release, begin development after release
mattwthompson Apr 19, 2022
37d6806
Fix #1283 (#1284)
SimonBoothroyd Apr 25, 2022
27ef1d7
Update README for 0.10.6 release, begin development after release
mattwthompson Apr 25, 2022
fade767
Fix #1216 (#1290)
j-wags May 6, 2022
1d52980
Do not fail codecov if upload fails (#1304)
mattwthompson May 24, 2022
97462b8
Bump actions/setup-python from 3 to 4 (#1317)
dependabot[bot] Jun 9, 2022
8fa9214
Update links in PR template
jaclark5 Dec 13, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .github/pull_request_template.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
- [ ] Tag issue being addressed
- [ ] Add [tests](https://github.com/openforcefield/openff-toolkit/tree/master/openff/toolkit/tests)
- [ ] Update docstrings/[documentation](https://github.com/openforcefield/openff-toolkit/tree/master/docs), if applicable
- [ ] [Lint](https://open-forcefield-toolkit.readthedocs.io/en/latest/developing.html#style-guide) codebase
- [ ] Update [changelog](https://github.com/openforcefield/openff-toolkit/blob/master/docs/releasehistory.rst)
- [ ] [Lint](https://docs.openforcefield.org/projects/toolkit/en/stable/users/developing.html#style-guide) codebase
- [ ] Update [changelog](https://github.com/openforcefield/openff-toolkit/blob/master/docs/releasehistory.md)
168 changes: 74 additions & 94 deletions .github/workflows/CI.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,89 +15,77 @@ on:
# (from https://help.github.com/en/actions/reference/events-that-trigger-workflows#scheduled-events-schedule)
- cron: "0 0 * * *"

defaults:
run:
shell: bash -l {0}

jobs:
test:
if: (github.event_name == 'schedule' && github.repository == 'openforcefield/openff-toolkit') || (github.event_name != 'schedule')
name: Test on ${{ matrix.os }}, Python ${{ matrix.cfg.python-version }}, RDKit=${{ matrix.cfg.rdkit }}, OpenEye=${{ matrix.cfg.openeye }}
name: Test on ${{ matrix.os }}, Python ${{ matrix.python-version }}, RDKit=${{ matrix.rdkit }}, OpenEye=${{ matrix.openeye }}
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os:
- ubuntu-latest
- macos-latest
cfg:
- python-version: 3.7
rdkit: "true"
openeye: "false"

- python-version: 3.7
rdkit: "false"
openeye: "true"

- python-version: 3.7
rdkit: "true"
openeye: "true"

- python-version: 3.8
rdkit: "true"
openeye: "false"

- python-version: 3.9
rdkit: "true"
openeye: "false"
os: [ubuntu-latest, macos-latest]
python-version: [3.7, 3.8, 3.9]
rdkit: [true, false]
openeye: [true, false]
exclude:
- rdkit: false
openeye: false
- openeye: true
python-version: 3.8
- openeye: true
python-version: 3.9

env:
CI_OS: ${{ matrix.os }}
RDKIT: ${{ matrix.cfg.rdkit }}
OPENEYE: ${{ matrix.cfg.openeye }}
PYVER: ${{ matrix.cfg.python-version }}
OE_LICENSE: ${{ github.workspace }}/oe_license.txt
PACKAGE: openff
PYTEST_ARGS: -r fE --tb=short --cov=openff --cov-config=setup.cfg --cov-append --cov-report=xml
NB_ARGS: -v --nbval-lax --ignore=examples/deprecated

steps:
- uses: actions/checkout@v2.3.5
- uses: actions/checkout@v3
with:
fetch-depth: 2

- uses: conda-incubator/[email protected]
name: Install both RDKit and OpenEye toolkits
if: ${{ matrix.cfg.rdkit == 'TRUE' && matrix.cfg.openeye == 'TRUE' }}
with:
python-version: ${{ matrix.cfg.python-version }}
activate-environment: test
environment-file: devtools/conda-envs/test_env.yaml
auto-activate-base: false
miniforge-version: latest
miniforge-variant: Mambaforge
use-mamba: true
- uses: conda-incubator/[email protected]
name: Install only RDKit
if: ${{ matrix.cfg.rdkit == 'TRUE' && matrix.cfg.openeye == 'FALSE' }}
with:
python-version: ${{ matrix.cfg.python-version }}
activate-environment: test
environment-file: devtools/conda-envs/rdkit.yaml
auto-activate-base: false
miniforge-version: latest
miniforge-variant: Mambaforge
use-mamba: true
- uses: conda-incubator/[email protected]
name: Install with OpenEye toolkits
if: ${{ matrix.cfg.rdkit == 'FALSE' && matrix.cfg.openeye == 'TRUE' }}
- name: Set environment variables
run: |
if [[ ${{ matrix.openeye }} == true && ${{ matrix.rdkit }} == true ]]; then
echo "ENVFILE=test_env" >> $GITHUB_ENV
echo "JOBNAME=RDKit and OpenEye" >> $GITHUB_ENV
echo "TOOLKIT_CHECKS=RDKIT OPENEYE" >> $GITHUB_ENV
echo "PACKAGES_TO_REMOVE=" >> $GITHUB_ENV
fi

if [[ ${{ matrix.openeye }} == true && ${{ matrix.rdkit }} == false ]]; then
echo "ENVFILE=openeye" >> $GITHUB_ENV
echo "JOBNAME=OpenEye" >> $GITHUB_ENV
echo "TOOLKIT_CHECKS=OPENEYE" >> $GITHUB_ENV
echo "PACKAGES_TO_REMOVE=ambertools rdkit" >> $GITHUB_ENV
fi

if [[ ${{ matrix.openeye }} == false && ${{ matrix.rdkit }} == true ]]; then
echo "ENVFILE=rdkit" >> $GITHUB_ENV
echo "JOBNAME=RDKit" >> $GITHUB_ENV
echo "TOOLKIT_CHECKS=RDKIT" >> $GITHUB_ENV
echo "PACKAGES_TO_REMOVE=openeye-toolkits" >> $GITHUB_ENV
fi


- name: Install environment with ${{ env.JOBNAME }}
uses: conda-incubator/[email protected]
with:
python-version: ${{ matrix.cfg.python-version }}
activate-environment: test
environment-file: devtools/conda-envs/openeye.yaml
environment-file: devtools/conda-envs/${{ env.ENVFILE }}.yaml
auto-activate-base: false
miniforge-version: latest
miniforge-variant: Mambaforge
use-mamba: true

- name: Additional info about the build
shell: bash -l {0}
run: |
uname -a
df -h
Expand All @@ -111,58 +99,52 @@ jobs:
echo "${OE_LICENSE_TEXT}" > ${OE_LICENSE}

- name: Install package
shell: bash -l {0}
run: |
conda remove --force openff-toolkit openff-toolkit-base
python setup.py develop --no-deps

- name: Check installed toolkits
shell: bash -l {0}
- name: Install test plugins
run: |
if [[ "$OPENEYE" == true ]]; then
python -c "from openff.toolkit.utils.toolkits import OPENEYE_AVAILABLE; assert OPENEYE_AVAILABLE, 'OpenEye unavailable'"
fi
if [[ "$OPENEYE" == false ]]; then
if [[ $(conda list | grep openeye-toolkits) ]]; then
conda remove --force openeye-toolkits --yes
fi
python -c "from openff.toolkit.utils.toolkits import OPENEYE_AVAILABLE; assert not OPENEYE_AVAILABLE, 'OpenEye unexpectedly found'"
fi
if [[ "$RDKIT" == true ]]; then
python -c "from openff.toolkit.utils.toolkits import RDKIT_AVAILABLE; assert RDKIT_AVAILABLE, 'RDKit unavailable'"
cd utilities/test_plugins
python setup.py develop --no-deps

- name: Remove undesired toolkits
run: |
if [ ! -z "${{ env.PACKAGES_TO_REMOVE }}" ]; then
for cpkg in ${{ env.PACKAGES_TO_REMOVE }}; do
if [[ $(conda list | grep $cpkg) ]]; then conda remove --force $cpkg --yes ; fi
done
fi
if [[ "$RDKIT" == false ]]; then
if [[ $(conda list | grep rdkit) ]]; then
conda remove --force rdkit --yes
fi
if [[ $(conda list | grep ambertools) ]]; then
conda remove --force ambertools --yes
fi
python -c "from openff.toolkit.utils.toolkits import RDKIT_AVAILABLE; assert not RDKIT_AVAILABLE, 'RDKit unexpectedly found'"

- name: Check installed toolkits
run: |
for tk in ${{ env.TOOLKIT_CHECKS }}; do
python -c "from openff.toolkit.utils.toolkits import ${tk}_AVAILABLE; assert ${tk}_AVAILABLE, '${tk} unavailable'"
done

- name: Check uninstalled toolkits
run: |
if [ ! -z "${{ env.PACKAGES_TO_REMOVE }}" ]; then
for tk in ${{ env.PACKAGES_TO_REMOVE }}; do
TK=$(echo ${tk%-*} | tr 'a-z' 'A-Z')
python -c "from openff.toolkit.utils.toolkits import ${TK}_AVAILABLE; assert not ${TK}_AVAILABLE, '${TK} available'"
done
fi

- name: Environment Information
shell: bash -l {0}
run: |
conda info
conda list

- name: Check links
shell: bash -l {0}
if: ${{ matrix.cfg.rdkit == 'true' && matrix.cfg.openeye == 'TRUE' }}
run: |
pytest -r fE --tb=short openff/toolkit/tests/test_links.py
if: ${{ matrix.rdkit == true && matrix.openeye == true }}
run: pytest -r fE --tb=short openff/toolkit/tests/test_links.py

- name: Run mypy
shell: bash -l {0}
# Try to prevent failure from preventing later steps, but also display red X
# https://stackoverflow.com/a/62112985/4248961
if: ${{ matrix.cfg.rdkit == 'true' && matrix.cfg.openeye == 'TRUE' }}
run: |
mypy --namespace-packages -p "openff.toolkit"
if: ${{ matrix.rdkit == true && matrix.openeye == true }}
run: mypy --namespace-packages -p "openff.toolkit"

- name: Run unit tests
shell: bash -l {0}
run: |
PYTEST_ARGS+=" --ignore=openff/toolkit/tests/test_examples.py"
PYTEST_ARGS+=" --ignore=openff/toolkit/tests/test_links.py"
Expand All @@ -172,13 +154,11 @@ jobs:
pytest $PYTEST_ARGS openff/toolkit/tests/

- name: Run code snippets in docs
shell: bash -l {0}
if: ${{ matrix.cfg.rdkit == 'TRUE' && matrix.cfg.openeye == 'TRUE' }}
if: ${{ matrix.rdkit == true && matrix.openeye == true }}
run: |
pytest -v --doctest-glob="docs/*.rst" docs/

- name: Codecov
uses: codecov/codecov-action@v2.1.0
uses: codecov/codecov-action@v3
with:
file: ./coverage.xml
fail_ci_if_error: true
96 changes: 96 additions & 0 deletions .github/workflows/beta_rc.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,96 @@
name: Weekly test against upstream beta and RC builds

on:
schedule:
- cron: "0 0 * * 0"
workflow_dispatch:

jobs:
test:
name: Test beta and RC builds on on ${{ matrix.python-version }}
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os:
- ubuntu-latest
- macos-latest
python-version:
- 3.7
- 3.8
- 3.9

env:
OE_LICENSE: ${{ github.workspace }}/oe_license.txt
PYTEST_ARGS: -r fE --tb=short --cov=openff --cov-config=setup.cfg --cov-append --cov-report=xml

steps:
- uses: actions/checkout@v3
with:
fetch-depth: 2

- uses: conda-incubator/[email protected]
name: Install everything with betas and RCs
with:
python-version: ${{ matrix.python-version }}
activate-environment: test
environment-file: devtools/conda-envs/beta_rc_env.yaml
auto-activate-base: false
miniforge-version: latest
miniforge-variant: Mambaforge
use-mamba: true
channel-priority: strict

- name: Additional info about the build
shell: bash -l {0}
run: |
uname -a
df -h
ulimit -a

- name: Make oe_license.txt file from GH org secret "OE_LICENSE"
shell: bash
env:
OE_LICENSE_TEXT: ${{ secrets.OE_LICENSE }}
run: |
echo "${OE_LICENSE_TEXT}" > ${OE_LICENSE}

- name: Install package
shell: bash -l {0}
run: |
conda remove --force openff-toolkit openff-toolkit-base
python setup.py develop --no-deps

- name: Environment Information
shell: bash -l {0}
run: |
conda info
conda list

- name: Check links
shell: bash -l {0}
run: |
pytest -r fE --tb=short openff/toolkit/tests/test_links.py

- name: Run unit tests
shell: bash -l {0}
run: |
PYTEST_ARGS+=" --ignore=openff/toolkit/tests/test_examples.py"
PYTEST_ARGS+=" --ignore=openff/toolkit/tests/test_links.py"
PYTEST_ARGS+=" --runslow"
pytest $PYTEST_ARGS openff/toolkit/tests/

- name: Run code snippets in docs
shell: bash -l {0}
run: |
pytest -v --doctest-glob="docs/*.rst" docs/

- name: Run mypy
shell: bash -l {0}
run: |
mypy --namespace-packages -p "openff.toolkit"

- name: Codecov
uses: codecov/codecov-action@v3
with:
file: ./coverage.xml
12 changes: 7 additions & 5 deletions .github/workflows/conda.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,10 +19,7 @@ jobs:
os:
- ubuntu-latest
- macos-latest
cfg:
- python-version: 3.6
openeye: "true"

cfg:
- python-version: 3.7
openeye: "true"

Expand All @@ -47,7 +44,7 @@ jobs:
PACKAGE: openff-toolkit

steps:
- uses: actions/checkout@v2.3.5
- uses: actions/checkout@v3

- uses: conda-incubator/[email protected]
name: Vanilla install from conda
Expand Down Expand Up @@ -134,6 +131,11 @@ jobs:
git fetch --tags
git checkout tags/$LATEST_TAG
git log -1 | cat

# Install test plugins
cd utilities/test_plugins
python setup.py develop --no-deps
cd -

pwd
ls
Expand Down
Loading
Loading