From 1c81fa709f14031940654c399b7d12bfe6ca2953 Mon Sep 17 00:00:00 2001 From: "Matthew W. Thompson" Date: Thu, 15 Dec 2022 11:17:47 -0600 Subject: [PATCH 01/29] # This is a combination of 10 commits. # This is the 1st commit message: Add deployment tests # This is the commit message #2: Update # This is the commit message #3: Fix # This is the commit message #4: Trim down differences between environments # This is the commit message #5: Try to isolate crash # This is the commit message #6: Rename environment # This is the commit message #7: Further pare down environments # This is the commit message #8: Bump Python version # This is the commit message #9: Update environments # This is the commit message #10: Double check OpenEye license --- .github/workflows/deployment.yaml | 87 +++++++++++++++++++++ devtools/conda-envs/deployment.yaml | 11 +++ devtools/conda-envs/deployment_openeye.yaml | 12 +++ 3 files changed, 110 insertions(+) create mode 100644 .github/workflows/deployment.yaml create mode 100644 devtools/conda-envs/deployment.yaml create mode 100644 devtools/conda-envs/deployment_openeye.yaml diff --git a/.github/workflows/deployment.yaml b/.github/workflows/deployment.yaml new file mode 100644 index 00000000..5018cea3 --- /dev/null +++ b/.github/workflows/deployment.yaml @@ -0,0 +1,87 @@ +name: Deployment tests + +on: + push: + branches: + - "main" + pull_request: + branches: + - "main" + release: + types: + - released + - prereleased + schedule: + - cron: "0 0 * * *" + workflow_dispatch: + +defaults: + run: + shell: bash -l {0} + +jobs: + test: + + name: ${{ matrix.os }}, 🐍=${{ matrix.python-version }}, 👁️=${{ matrix.openeye }} + runs-on: ${{ matrix.os }} + + strategy: + fail-fast: false + matrix: + os: [ubuntu-latest, macos-latest] + python-version: ["3.9"] + openeye: ["true", "false"] + + env: + OE_LICENSE: ${{ github.workspace }}/oe_license.txt + + steps: + - uses: actions/checkout@v3 + + - name: Install latest release from conda with OpenEye Toolkits + if: ${{ matrix.openeye == 'true' }} + uses: mamba-org/provision-with-micromamba@main + with: + environment-file: devtools/conda-envs/deployment_openeye.yaml + extra-specs: | + python=${{ matrix.python-version }} + + - name: Install latest release from conda without OpenEye Toolkits + if: ${{ matrix.openeye == 'false' }} + uses: mamba-org/provision-with-micromamba@main + with: + environment-file: devtools/conda-envs/deployment.yaml + extra-specs: | + python=${{ matrix.python-version }} + + - name: License OpenEye Toolkits + if: ${{ matrix.openeye == true }} + env: + OE_LICENSE_TEXT: ${{ secrets.OE_LICENSE }} + run: | + echo "${OE_LICENSE_TEXT}" > ${OE_LICENSE} + python -c "from openeye import oechem; assert oechem.OEChemIsLicensed()" + + - name: Verify that the latest version was installed + run: | + cd /tmp/ + + export LATEST_TAG=$(git ls-remote --tags https://github.com/openforcefield/openff-bespokefit.git | cut -f2 | grep -E "([0-9]+)\.([0-9]+)\.([0-9]+)$" | sort --version-sort | tail -1 | sed 's/refs\/tags\///') + export FOUND_VER=$(python -c "import openff.bespokefit; print(openff.bespokefit.__version__)") + + if [[ $LATEST_TAG != $FOUND_VER ]]; then + echo "Latest tag is" + echo $LATEST_TAG + echo "Found version is" + echo $FOUND_VER + echo "Version mismatch" + exit 1 + fi + + cd - + + - name: Run tests + run: | + python -c "from openeye import oechem; assert oechem.OEChemIsLicensed()" + python -m pytest -v openff/bespokefit/tests/executor/services/coordinator/test_app.py::test_get_molecule_image + diff --git a/devtools/conda-envs/deployment.yaml b/devtools/conda-envs/deployment.yaml new file mode 100644 index 00000000..db6b9b3c --- /dev/null +++ b/devtools/conda-envs/deployment.yaml @@ -0,0 +1,11 @@ +name: latest-deployment +channels: + - conda-forge +dependencies: + - openff-bespokefit + - ambertools + - pytest + - pytest-cov + - pytest-asyncio + - pytest-celery + - requests-mock diff --git a/devtools/conda-envs/deployment_openeye.yaml b/devtools/conda-envs/deployment_openeye.yaml new file mode 100644 index 00000000..a9545e9d --- /dev/null +++ b/devtools/conda-envs/deployment_openeye.yaml @@ -0,0 +1,12 @@ +name: latest-deployment-openeye +channels: + - conda-forge + - openeye +dependencies: + - openff-bespokefit + - openeye-toolkits + - pytest + - pytest-cov + - pytest-asyncio + - pytest-celery + - requests-mock From a9690efbe251710bbe3b7b9400d2ed091a7ebd51 Mon Sep 17 00:00:00 2001 From: "Matthew W. Thompson" Date: Tue, 17 Jan 2023 11:48:46 -0600 Subject: [PATCH 02/29] Add deployment tests Update Fix Trim down differences between environments Try to isolate crash Rename environment Further pare down environments Bump Python version Update environments Double check OpenEye license Skip crashing test --- .github/workflows/deployment.yaml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/workflows/deployment.yaml b/.github/workflows/deployment.yaml index 5018cea3..9bc44d63 100644 --- a/.github/workflows/deployment.yaml +++ b/.github/workflows/deployment.yaml @@ -82,6 +82,5 @@ jobs: - name: Run tests run: | - python -c "from openeye import oechem; assert oechem.OEChemIsLicensed()" - python -m pytest -v openff/bespokefit/tests/executor/services/coordinator/test_app.py::test_get_molecule_image + python -m pytest -v openff/bespokefit/tests From 96e6d0e5da944cb5fd80e78b446ba4b35db7e24a Mon Sep 17 00:00:00 2001 From: "Matthew W. Thompson" Date: Tue, 17 Jan 2023 11:50:06 -0600 Subject: [PATCH 03/29] parent a9690efbe251710bbe3b7b9400d2ed091a7ebd51 author Matthew W. Thompson 1673977806 -0600 committer Matthew W. Thompson 1673977819 -0600 Add deployment tests Update Fix Trim down differences between environments Try to isolate crash Rename environment Further pare down environments Bump Python version Update environments Double check OpenEye license Skip crashing test Skip another crashing test Tinker with OpenEye config Update Psi4 installation instructions Assume version 0.1.3 --- .github/workflows/deployment.yaml | 19 +++++++++++-------- docs/getting-started/installation.md | 6 +++--- 2 files changed, 14 insertions(+), 11 deletions(-) diff --git a/.github/workflows/deployment.yaml b/.github/workflows/deployment.yaml index 9bc44d63..3f2bbfda 100644 --- a/.github/workflows/deployment.yaml +++ b/.github/workflows/deployment.yaml @@ -30,7 +30,7 @@ jobs: matrix: os: [ubuntu-latest, macos-latest] python-version: ["3.9"] - openeye: ["true", "false"] + openeye: [true, false] env: OE_LICENSE: ${{ github.workspace }}/oe_license.txt @@ -39,7 +39,7 @@ jobs: - uses: actions/checkout@v3 - name: Install latest release from conda with OpenEye Toolkits - if: ${{ matrix.openeye == 'true' }} + if: ${{ matrix.openeye == true }} uses: mamba-org/provision-with-micromamba@main with: environment-file: devtools/conda-envs/deployment_openeye.yaml @@ -47,22 +47,25 @@ jobs: python=${{ matrix.python-version }} - name: Install latest release from conda without OpenEye Toolkits - if: ${{ matrix.openeye == 'false' }} + if: ${{ matrix.openeye == false }} uses: mamba-org/provision-with-micromamba@main with: environment-file: devtools/conda-envs/deployment.yaml extra-specs: | python=${{ matrix.python-version }} - - name: License OpenEye Toolkits + - name: License OpenEye + shell: bash -l {0} if: ${{ matrix.openeye == true }} - env: - OE_LICENSE_TEXT: ${{ secrets.OE_LICENSE }} run: | - echo "${OE_LICENSE_TEXT}" > ${OE_LICENSE} + echo "${SECRET_OE_LICENSE}" > ${OE_LICENSE} python -c "from openeye import oechem; assert oechem.OEChemIsLicensed()" + env: + SECRET_OE_LICENSE: ${{ secrets.OE_LICENSE }} - name: Verify that the latest version was installed + # TODO: Turn this back on when 0.2.0 is fixed + if: ${{ true == false }} run: | cd /tmp/ @@ -81,6 +84,6 @@ jobs: cd - - name: Run tests + if: ${{ matrix.openeye == true }} run: | python -m pytest -v openff/bespokefit/tests - diff --git a/docs/getting-started/installation.md b/docs/getting-started/installation.md index a4feda17..fb5cb295 100644 --- a/docs/getting-started/installation.md +++ b/docs/getting-started/installation.md @@ -58,18 +58,18 @@ create a working conda environment containing both. ::: :::{note} -On Linux, installing Psi4 into an existing environment sometimes fails because of subtle differences in +Installing Psi4 into an existing environment sometimes fails because of subtle differences in compiled dependencies found in multiple channels. An alternative is to install everything when initially creating the environment using, with AmberTools: ```shell -conda create -n bespokefit-env -c psi4 -c conda-forge -c defaults python=3.9 openff-bespokefit psi4 ambertools "h5py<3.2" +conda create -n bespokefit-env -c psi4 -c conda-forge -c defaults python=3.9 openff-bespokefit psi4 ambertools ``` or with OpenEye Toolkits: ```shell -conda create -n bespokefit-env -c psi4 -c conda-forge -c defaults -c openeye python=3.9 openff-bespokefit psi4 openeye-toolkits "h5py<3.2" +conda create -n bespokefit-env -c psi4 -c conda-forge -c defaults -c openeye python=3.9 openff-bespokefit psi4 openeye-toolkits ``` ::: From 27b62616f17953b2ab2cd616687430536915f026 Mon Sep 17 00:00:00 2001 From: "Matthew W. Thompson" Date: Tue, 17 Jan 2023 19:09:38 -0600 Subject: [PATCH 04/29] Checkout 0.1.3 --- .github/workflows/deployment.yaml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.github/workflows/deployment.yaml b/.github/workflows/deployment.yaml index 3f2bbfda..c3fe812e 100644 --- a/.github/workflows/deployment.yaml +++ b/.github/workflows/deployment.yaml @@ -83,6 +83,10 @@ jobs: cd - + - name: Checkout 0.1.3 + run: | + git checkout 0.1.3 + - name: Run tests if: ${{ matrix.openeye == true }} run: | From 3d193ff00d14daedfa1f3ae99bfe24ad86091947 Mon Sep 17 00:00:00 2001 From: "Matthew W. Thompson" Date: Wed, 18 Jan 2023 08:36:48 -0600 Subject: [PATCH 05/29] Fetch --- .github/workflows/deployment.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/deployment.yaml b/.github/workflows/deployment.yaml index c3fe812e..7f6f8219 100644 --- a/.github/workflows/deployment.yaml +++ b/.github/workflows/deployment.yaml @@ -85,6 +85,7 @@ jobs: - name: Checkout 0.1.3 run: | + git fetch --all git checkout 0.1.3 - name: Run tests From 3f3eec3831c1b3d6a495364f1ffa8a225fe61d68 Mon Sep 17 00:00:00 2001 From: "Matthew W. Thompson" Date: Wed, 18 Jan 2023 12:26:12 -0600 Subject: [PATCH 06/29] Tweak --- .github/workflows/deployment.yaml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/workflows/deployment.yaml b/.github/workflows/deployment.yaml index 7f6f8219..789280f5 100644 --- a/.github/workflows/deployment.yaml +++ b/.github/workflows/deployment.yaml @@ -89,6 +89,5 @@ jobs: git checkout 0.1.3 - name: Run tests - if: ${{ matrix.openeye == true }} run: | - python -m pytest -v openff/bespokefit/tests + python -m pytest --durations=0 openff/bespokefit/tests From ee5d5f9b5000038c3e61e19c7b87b6357e61f3d2 Mon Sep 17 00:00:00 2001 From: Josh Mitchell Date: Wed, 5 Apr 2023 11:51:13 +1000 Subject: [PATCH 07/29] Update deployment tests for 0.2.1 --- .github/workflows/deployment.yaml | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/.github/workflows/deployment.yaml b/.github/workflows/deployment.yaml index 789280f5..fdd72e37 100644 --- a/.github/workflows/deployment.yaml +++ b/.github/workflows/deployment.yaml @@ -64,8 +64,6 @@ jobs: SECRET_OE_LICENSE: ${{ secrets.OE_LICENSE }} - name: Verify that the latest version was installed - # TODO: Turn this back on when 0.2.0 is fixed - if: ${{ true == false }} run: | cd /tmp/ @@ -83,10 +81,10 @@ jobs: cd - - - name: Checkout 0.1.3 + - name: Checkout 0.2.1 run: | git fetch --all - git checkout 0.1.3 + git checkout 0.2.1 - name: Run tests run: | From 06a8523d6500f87a0591deff62dcc9bce93cce96 Mon Sep 17 00:00:00 2001 From: Josh Mitchell Date: Wed, 5 Apr 2023 11:51:39 +1000 Subject: [PATCH 08/29] Add integration test to deployment CI --- .github/workflows/deployment.yaml | 12 +++++++++++- devtools/conda-envs/deployment_openeye.yaml | 1 + 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/.github/workflows/deployment.yaml b/.github/workflows/deployment.yaml index fdd72e37..2435376a 100644 --- a/.github/workflows/deployment.yaml +++ b/.github/workflows/deployment.yaml @@ -22,7 +22,7 @@ defaults: jobs: test: - name: ${{ matrix.os }}, 🐍=${{ matrix.python-version }}, 👁️=${{ matrix.openeye }} + name: ${{ matrix.os }}, 🐍=${{ matrix.python-version }}, 👁️=${{ matrix.openeye }}, ∫=${{ matrix.integration }} runs-on: ${{ matrix.os }} strategy: @@ -31,6 +31,7 @@ jobs: os: [ubuntu-latest, macos-latest] python-version: ["3.9"] openeye: [true, false] + integration: [true] env: OE_LICENSE: ${{ github.workspace }}/oe_license.txt @@ -89,3 +90,12 @@ jobs: - name: Run tests run: | python -m pytest --durations=0 openff/bespokefit/tests + + - name: Run Integration Tests + if: ${{ matrix.integration == true }} + shell: bash -l {0} + run: | + openff-bespoke executor run --smiles 'CC' \ + --workflow 'default' \ + --default-qc-spec xtb gfn2xtb none \ + --target-torsion '[C:1]-[C:2]' diff --git a/devtools/conda-envs/deployment_openeye.yaml b/devtools/conda-envs/deployment_openeye.yaml index a9545e9d..a282e73b 100644 --- a/devtools/conda-envs/deployment_openeye.yaml +++ b/devtools/conda-envs/deployment_openeye.yaml @@ -5,6 +5,7 @@ channels: dependencies: - openff-bespokefit - openeye-toolkits + - xtb-python - pytest - pytest-cov - pytest-asyncio From 409a8e3fafbab10fc7ef04091fe1514e9a4bc66c Mon Sep 17 00:00:00 2001 From: Josh Mitchell Date: Wed, 5 Apr 2023 11:56:51 +1000 Subject: [PATCH 09/29] Save file, then commit --- devtools/conda-envs/deployment.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/devtools/conda-envs/deployment.yaml b/devtools/conda-envs/deployment.yaml index db6b9b3c..10ef4851 100644 --- a/devtools/conda-envs/deployment.yaml +++ b/devtools/conda-envs/deployment.yaml @@ -4,6 +4,7 @@ channels: dependencies: - openff-bespokefit - ambertools + - xtb-python - pytest - pytest-cov - pytest-asyncio From 05bff502393f060d8ac16aec3af96156db8914c0 Mon Sep 17 00:00:00 2001 From: "Matthew W. Thompson" Date: Thu, 14 Nov 2024 08:20:12 -0600 Subject: [PATCH 10/29] Update action --- .github/workflows/deployment.yaml | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/.github/workflows/deployment.yaml b/.github/workflows/deployment.yaml index 2435376a..26fdc8fe 100644 --- a/.github/workflows/deployment.yaml +++ b/.github/workflows/deployment.yaml @@ -12,7 +12,7 @@ on: - released - prereleased schedule: - - cron: "0 0 * * *" + - cron: "15 0 * * *" workflow_dispatch: defaults: @@ -26,10 +26,9 @@ jobs: runs-on: ${{ matrix.os }} strategy: - fail-fast: false matrix: os: [ubuntu-latest, macos-latest] - python-version: ["3.9"] + python-version: ["3.11"] openeye: [true, false] integration: [true] @@ -41,22 +40,21 @@ jobs: - name: Install latest release from conda with OpenEye Toolkits if: ${{ matrix.openeye == true }} - uses: mamba-org/provision-with-micromamba@main + uses: mamba-org/setup-micromamba@v2 with: environment-file: devtools/conda-envs/deployment_openeye.yaml - extra-specs: | + create-args: >- python=${{ matrix.python-version }} - name: Install latest release from conda without OpenEye Toolkits if: ${{ matrix.openeye == false }} - uses: mamba-org/provision-with-micromamba@main + uses: mamba-org/setup-micromamba@v2 with: environment-file: devtools/conda-envs/deployment.yaml - extra-specs: | + create-args: >- python=${{ matrix.python-version }} - name: License OpenEye - shell: bash -l {0} if: ${{ matrix.openeye == true }} run: | echo "${SECRET_OE_LICENSE}" > ${OE_LICENSE} @@ -82,10 +80,10 @@ jobs: cd - - - name: Checkout 0.2.1 + - name: Checkout most recent tag run: | git fetch --all - git checkout 0.2.1 + git checkout $(git describe --tags $(git rev-list --tags --max-count=1)) - name: Run tests run: | From 909f6f7b6582ecb894fac1bcded2dc95d377e3df Mon Sep 17 00:00:00 2001 From: "Matthew W. Thompson" Date: Thu, 14 Nov 2024 08:24:39 -0600 Subject: [PATCH 11/29] Fix path --- .github/workflows/deployment.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/deployment.yaml b/.github/workflows/deployment.yaml index 26fdc8fe..b927e940 100644 --- a/.github/workflows/deployment.yaml +++ b/.github/workflows/deployment.yaml @@ -87,7 +87,7 @@ jobs: - name: Run tests run: | - python -m pytest --durations=0 openff/bespokefit/tests + python -m pytest --durations=0 openff/bespokefit/_tests - name: Run Integration Tests if: ${{ matrix.integration == true }} From 4d3a821d836c12fad5de7e176bcae41b72e34181 Mon Sep 17 00:00:00 2001 From: "Matthew W. Thompson" Date: Thu, 14 Nov 2024 08:27:31 -0600 Subject: [PATCH 12/29] Shim --- devtools/conda-envs/deployment.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/devtools/conda-envs/deployment.yaml b/devtools/conda-envs/deployment.yaml index 10ef4851..1b977fbc 100644 --- a/devtools/conda-envs/deployment.yaml +++ b/devtools/conda-envs/deployment.yaml @@ -3,6 +3,7 @@ channels: - conda-forge dependencies: - openff-bespokefit + - openff-toolkit ~=0.16.6 - ambertools - xtb-python - pytest From c7f19fe744da704463e88d515b8fcbd786c9f0df Mon Sep 17 00:00:00 2001 From: "Matthew W. Thompson" Date: Thu, 14 Nov 2024 08:36:19 -0600 Subject: [PATCH 13/29] Debug --- .github/workflows/CI.yaml | 1 - .github/workflows/deployment.yaml | 6 +++--- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/.github/workflows/CI.yaml b/.github/workflows/CI.yaml index d914f876..f27afd62 100644 --- a/.github/workflows/CI.yaml +++ b/.github/workflows/CI.yaml @@ -21,7 +21,6 @@ jobs: runs-on: ${{ matrix.os }} strategy: - fail-fast: false matrix: os: [ubuntu-latest, macOS-latest] python-version: ["3.10", "3.11"] diff --git a/.github/workflows/deployment.yaml b/.github/workflows/deployment.yaml index b927e940..3f49447c 100644 --- a/.github/workflows/deployment.yaml +++ b/.github/workflows/deployment.yaml @@ -36,11 +36,11 @@ jobs: OE_LICENSE: ${{ github.workspace }}/oe_license.txt steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: Install latest release from conda with OpenEye Toolkits if: ${{ matrix.openeye == true }} - uses: mamba-org/setup-micromamba@v2 + uses: mamba-org/setup-micromamba@v1 with: environment-file: devtools/conda-envs/deployment_openeye.yaml create-args: >- @@ -48,7 +48,7 @@ jobs: - name: Install latest release from conda without OpenEye Toolkits if: ${{ matrix.openeye == false }} - uses: mamba-org/setup-micromamba@v2 + uses: mamba-org/setup-micromamba@v1 with: environment-file: devtools/conda-envs/deployment.yaml create-args: >- From c5b16fc6f02b3e38dd814ae4069dd92fbf565d28 Mon Sep 17 00:00:00 2001 From: "Matthew W. Thompson" Date: Thu, 14 Nov 2024 08:42:45 -0600 Subject: [PATCH 14/29] Fix --- devtools/conda-envs/deployment_openeye.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/devtools/conda-envs/deployment_openeye.yaml b/devtools/conda-envs/deployment_openeye.yaml index a282e73b..27676b91 100644 --- a/devtools/conda-envs/deployment_openeye.yaml +++ b/devtools/conda-envs/deployment_openeye.yaml @@ -4,6 +4,7 @@ channels: - openeye dependencies: - openff-bespokefit + - openff-toolkit ~=0.16.6 - openeye-toolkits - xtb-python - pytest From c246bfea4b0e160963980079f7837b465c5526d9 Mon Sep 17 00:00:00 2001 From: "Matthew W. Thompson" Date: Thu, 14 Nov 2024 08:48:44 -0600 Subject: [PATCH 15/29] Fix --- devtools/conda-envs/deployment.yaml | 2 +- devtools/conda-envs/deployment_openeye.yaml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/devtools/conda-envs/deployment.yaml b/devtools/conda-envs/deployment.yaml index 1b977fbc..de3b46cb 100644 --- a/devtools/conda-envs/deployment.yaml +++ b/devtools/conda-envs/deployment.yaml @@ -3,7 +3,7 @@ channels: - conda-forge dependencies: - openff-bespokefit - - openff-toolkit ~=0.16.6 + - openff-toolkit =0.16 - ambertools - xtb-python - pytest diff --git a/devtools/conda-envs/deployment_openeye.yaml b/devtools/conda-envs/deployment_openeye.yaml index 27676b91..1ca84dbb 100644 --- a/devtools/conda-envs/deployment_openeye.yaml +++ b/devtools/conda-envs/deployment_openeye.yaml @@ -4,7 +4,7 @@ channels: - openeye dependencies: - openff-bespokefit - - openff-toolkit ~=0.16.6 + - openff-toolkit =0.16 - openeye-toolkits - xtb-python - pytest From 39b0d2b53545de1fc3b2beb25f9639f29b9f9407 Mon Sep 17 00:00:00 2001 From: "Matthew W. Thompson" Date: Thu, 14 Nov 2024 08:54:05 -0600 Subject: [PATCH 16/29] Update test environments --- devtools/conda-envs/docs-env.yaml | 3 +-- devtools/conda-envs/no_openeye.yaml | 3 +-- devtools/conda-envs/test-env.yaml | 3 +-- 3 files changed, 3 insertions(+), 6 deletions(-) diff --git a/devtools/conda-envs/docs-env.yaml b/devtools/conda-envs/docs-env.yaml index c51b37e9..93b6591a 100644 --- a/devtools/conda-envs/docs-env.yaml +++ b/devtools/conda-envs/docs-env.yaml @@ -18,8 +18,7 @@ dependencies: - click-option-group - rdkit =2024.03.5 - openff-utilities - - openff-toolkit-base =0.15 - - openff-interchange # only needed because openff-toolkit-base + - openff-toolkit =0.15 - openff-forcefields >=2024.04.0 - openff-qcsubmit >=0.50 - openmm >=7.6.0 diff --git a/devtools/conda-envs/no_openeye.yaml b/devtools/conda-envs/no_openeye.yaml index 78574007..7369e46f 100644 --- a/devtools/conda-envs/no_openeye.yaml +++ b/devtools/conda-envs/no_openeye.yaml @@ -21,8 +21,7 @@ dependencies: - rdkit =2024.03.5 - ambertools >=22 - openff-utilities - - openff-toolkit-base >=0.15 - - openff-interchange # only needed because openff-toolkit-base + - openff-toolkit >=0.15 - openff-forcefields >=2024.04.0 - openff-qcsubmit >=0.50 - openmm >=7.6.0 diff --git a/devtools/conda-envs/test-env.yaml b/devtools/conda-envs/test-env.yaml index 8802941c..4ade6fd4 100644 --- a/devtools/conda-envs/test-env.yaml +++ b/devtools/conda-envs/test-env.yaml @@ -21,8 +21,7 @@ dependencies: - click-option-group - rdkit =2024.03.5 - openff-utilities - - openff-toolkit-base >=0.15 - - openff-interchange # only needed because openff-toolkit-base + - openff-toolkit >=0.15 - openff-forcefields >=2024.04.0 - openff-units - openff-qcsubmit >=0.50 From 69c25cdbd02754f8840f643f796f99f6acdcae0b Mon Sep 17 00:00:00 2001 From: "Matthew W. Thompson" Date: Thu, 14 Nov 2024 09:01:35 -0600 Subject: [PATCH 17/29] Debug --- .github/workflows/deployment.yaml | 21 ++------------------- 1 file changed, 2 insertions(+), 19 deletions(-) diff --git a/.github/workflows/deployment.yaml b/.github/workflows/deployment.yaml index 3f49447c..1abb5730 100644 --- a/.github/workflows/deployment.yaml +++ b/.github/workflows/deployment.yaml @@ -42,6 +42,7 @@ jobs: if: ${{ matrix.openeye == true }} uses: mamba-org/setup-micromamba@v1 with: + micromamba-binary-path: ~/.local/bin/micromamba environment-file: devtools/conda-envs/deployment_openeye.yaml create-args: >- python=${{ matrix.python-version }} @@ -50,6 +51,7 @@ jobs: if: ${{ matrix.openeye == false }} uses: mamba-org/setup-micromamba@v1 with: + micromamba-binary-path: ~/.local/bin/micromamba environment-file: devtools/conda-envs/deployment.yaml create-args: >- python=${{ matrix.python-version }} @@ -62,24 +64,6 @@ jobs: env: SECRET_OE_LICENSE: ${{ secrets.OE_LICENSE }} - - name: Verify that the latest version was installed - run: | - cd /tmp/ - - export LATEST_TAG=$(git ls-remote --tags https://github.com/openforcefield/openff-bespokefit.git | cut -f2 | grep -E "([0-9]+)\.([0-9]+)\.([0-9]+)$" | sort --version-sort | tail -1 | sed 's/refs\/tags\///') - export FOUND_VER=$(python -c "import openff.bespokefit; print(openff.bespokefit.__version__)") - - if [[ $LATEST_TAG != $FOUND_VER ]]; then - echo "Latest tag is" - echo $LATEST_TAG - echo "Found version is" - echo $FOUND_VER - echo "Version mismatch" - exit 1 - fi - - cd - - - name: Checkout most recent tag run: | git fetch --all @@ -91,7 +75,6 @@ jobs: - name: Run Integration Tests if: ${{ matrix.integration == true }} - shell: bash -l {0} run: | openff-bespoke executor run --smiles 'CC' \ --workflow 'default' \ From d30177fb4ff7c799dd5defb8b6a2d1bdcb49f7e3 Mon Sep 17 00:00:00 2001 From: "Matthew W. Thompson" Date: Thu, 14 Nov 2024 09:13:26 -0600 Subject: [PATCH 18/29] Debug --- .github/workflows/deployment.yaml | 51 +++++++++++++++---------------- 1 file changed, 25 insertions(+), 26 deletions(-) diff --git a/.github/workflows/deployment.yaml b/.github/workflows/deployment.yaml index 1abb5730..e2d837c2 100644 --- a/.github/workflows/deployment.yaml +++ b/.github/workflows/deployment.yaml @@ -26,6 +26,7 @@ jobs: runs-on: ${{ matrix.os }} strategy: + fail-fast: false matrix: os: [ubuntu-latest, macos-latest] python-version: ["3.11"] @@ -40,43 +41,41 @@ jobs: - name: Install latest release from conda with OpenEye Toolkits if: ${{ matrix.openeye == true }} - uses: mamba-org/setup-micromamba@v1 + uses: mamba-org/setup-micromamba@v2 with: - micromamba-binary-path: ~/.local/bin/micromamba environment-file: devtools/conda-envs/deployment_openeye.yaml create-args: >- python=${{ matrix.python-version }} - name: Install latest release from conda without OpenEye Toolkits if: ${{ matrix.openeye == false }} - uses: mamba-org/setup-micromamba@v1 + uses: mamba-org/setup-micromamba@v2 with: - micromamba-binary-path: ~/.local/bin/micromamba environment-file: devtools/conda-envs/deployment.yaml create-args: >- python=${{ matrix.python-version }} - - name: License OpenEye - if: ${{ matrix.openeye == true }} - run: | - echo "${SECRET_OE_LICENSE}" > ${OE_LICENSE} - python -c "from openeye import oechem; assert oechem.OEChemIsLicensed()" - env: - SECRET_OE_LICENSE: ${{ secrets.OE_LICENSE }} +# - name: License OpenEye +# if: ${{ matrix.openeye == true }} and never() +# run: | +# echo "${SECRET_OE_LICENSE}" > ${OE_LICENSE} +# python -c "from openeye import oechem; assert oechem.OEChemIsLicensed()" +# env: +# SECRET_OE_LICENSE: ${{ secrets.OE_LICENSE }} - - name: Checkout most recent tag - run: | - git fetch --all - git checkout $(git describe --tags $(git rev-list --tags --max-count=1)) +# - name: Checkout most recent tag +# run: | +# git fetch --all +# git checkout $(git describe --tags $(git rev-list --tags --max-count=1)) - - name: Run tests - run: | - python -m pytest --durations=0 openff/bespokefit/_tests - - - name: Run Integration Tests - if: ${{ matrix.integration == true }} - run: | - openff-bespoke executor run --smiles 'CC' \ - --workflow 'default' \ - --default-qc-spec xtb gfn2xtb none \ - --target-torsion '[C:1]-[C:2]' +# - name: Run tests +# run: | +# python -m pytest --durations=0 openff/bespokefit/_tests +# +# - name: Run Integration Tests +# if: ${{ matrix.integration == true }} +# run: | +# openff-bespoke executor run --smiles 'CC' \ +# --workflow 'default' \ +# --default-qc-spec xtb gfn2xtb none \ +# --target-torsion '[C:1]-[C:2]' From 5fe9f575a0019eb07bc377830204b54df68878e7 Mon Sep 17 00:00:00 2001 From: "Matthew W. Thompson" Date: Thu, 14 Nov 2024 09:15:09 -0600 Subject: [PATCH 19/29] Debug --- .github/workflows/deployment.yaml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/deployment.yaml b/.github/workflows/deployment.yaml index e2d837c2..7970a560 100644 --- a/.github/workflows/deployment.yaml +++ b/.github/workflows/deployment.yaml @@ -63,10 +63,10 @@ jobs: # env: # SECRET_OE_LICENSE: ${{ secrets.OE_LICENSE }} -# - name: Checkout most recent tag -# run: | -# git fetch --all -# git checkout $(git describe --tags $(git rev-list --tags --max-count=1)) + - name: Checkout most recent tag + run: | + git fetch --all + git checkout $(git describe --tags $(git rev-list --tags --max-count=1)) # - name: Run tests # run: | From 7fda1180fc0779e7dd79cd39c0fbe65428620dad Mon Sep 17 00:00:00 2001 From: "Matthew W. Thompson" Date: Thu, 14 Nov 2024 09:23:24 -0600 Subject: [PATCH 20/29] Debug --- .github/workflows/deployment.yaml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.github/workflows/deployment.yaml b/.github/workflows/deployment.yaml index 7970a560..efef1d07 100644 --- a/.github/workflows/deployment.yaml +++ b/.github/workflows/deployment.yaml @@ -79,3 +79,7 @@ jobs: # --workflow 'default' \ # --default-qc-spec xtb gfn2xtb none \ # --target-torsion '[C:1]-[C:2]' + + - name: Go back to pull request HEAD + # setup-micromamba needs the environment file to exist, which it might not on the most recent tag + run: git checkout HEAD^ From 8acb767a0f8361c8cdbcbb5593c528127ab0c028 Mon Sep 17 00:00:00 2001 From: "Matthew W. Thompson" Date: Thu, 14 Nov 2024 09:25:10 -0600 Subject: [PATCH 21/29] Debug --- .github/workflows/deployment.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/deployment.yaml b/.github/workflows/deployment.yaml index efef1d07..d543eba8 100644 --- a/.github/workflows/deployment.yaml +++ b/.github/workflows/deployment.yaml @@ -82,4 +82,4 @@ jobs: - name: Go back to pull request HEAD # setup-micromamba needs the environment file to exist, which it might not on the most recent tag - run: git checkout HEAD^ + run: git switch - From eef3c63e39aa983b835bb74fe0eaeb76e59bdf6f Mon Sep 17 00:00:00 2001 From: "Matthew W. Thompson" Date: Thu, 14 Nov 2024 09:31:49 -0600 Subject: [PATCH 22/29] Debug --- .github/workflows/deployment.yaml | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/.github/workflows/deployment.yaml b/.github/workflows/deployment.yaml index d543eba8..6a815769 100644 --- a/.github/workflows/deployment.yaml +++ b/.github/workflows/deployment.yaml @@ -64,7 +64,11 @@ jobs: # SECRET_OE_LICENSE: ${{ secrets.OE_LICENSE }} - name: Checkout most recent tag + id: vars + # run: echo "docker_tag=$(echo ${GITHUB_REF} | cut -d'/' -f3)-${GITHUB_SHA}" >> $GITHUB_OUTPUT run: | + echo "PULL_REQUEST_HEAD=$(git log -1 --format=%H)" >> $GITHUB_OUTPUT + git fetch --all git checkout $(git describe --tags $(git rev-list --tags --max-count=1)) @@ -82,4 +86,4 @@ jobs: - name: Go back to pull request HEAD # setup-micromamba needs the environment file to exist, which it might not on the most recent tag - run: git switch - + run: git checkout ${{ steps.vars.outputs.PULL_REQUEST_HEAD }} From 63e96bb8be2ace5489d56537f34def81b202a9fe Mon Sep 17 00:00:00 2001 From: "Matthew W. Thompson" Date: Thu, 14 Nov 2024 09:36:04 -0600 Subject: [PATCH 23/29] Debug --- .github/workflows/deployment.yaml | 37 +++++++++++++++---------------- 1 file changed, 18 insertions(+), 19 deletions(-) diff --git a/.github/workflows/deployment.yaml b/.github/workflows/deployment.yaml index 6a815769..ab831e62 100644 --- a/.github/workflows/deployment.yaml +++ b/.github/workflows/deployment.yaml @@ -55,34 +55,33 @@ jobs: create-args: >- python=${{ matrix.python-version }} -# - name: License OpenEye -# if: ${{ matrix.openeye == true }} and never() -# run: | -# echo "${SECRET_OE_LICENSE}" > ${OE_LICENSE} -# python -c "from openeye import oechem; assert oechem.OEChemIsLicensed()" -# env: -# SECRET_OE_LICENSE: ${{ secrets.OE_LICENSE }} + - name: License OpenEye + if: ${{ matrix.openeye == true }} and never() + run: | + echo "${SECRET_OE_LICENSE}" > ${OE_LICENSE} + python -c "from openeye import oechem; assert oechem.OEChemIsLicensed()" + env: + SECRET_OE_LICENSE: ${{ secrets.OE_LICENSE }} - name: Checkout most recent tag id: vars - # run: echo "docker_tag=$(echo ${GITHUB_REF} | cut -d'/' -f3)-${GITHUB_SHA}" >> $GITHUB_OUTPUT run: | echo "PULL_REQUEST_HEAD=$(git log -1 --format=%H)" >> $GITHUB_OUTPUT git fetch --all git checkout $(git describe --tags $(git rev-list --tags --max-count=1)) -# - name: Run tests -# run: | -# python -m pytest --durations=0 openff/bespokefit/_tests -# -# - name: Run Integration Tests -# if: ${{ matrix.integration == true }} -# run: | -# openff-bespoke executor run --smiles 'CC' \ -# --workflow 'default' \ -# --default-qc-spec xtb gfn2xtb none \ -# --target-torsion '[C:1]-[C:2]' + - name: Run tests + run: | + python -m pytest --durations=0 openff/bespokefit/_tests + + - name: Run Integration Tests + if: ${{ matrix.integration == true }} + run: | + openff-bespoke executor run --smiles 'CC' \ + --workflow 'default' \ + --default-qc-spec xtb gfn2xtb none \ + --target-torsion '[C:1]-[C:2]' - name: Go back to pull request HEAD # setup-micromamba needs the environment file to exist, which it might not on the most recent tag From e17588754cf76622e0c3203f4528acb250306a19 Mon Sep 17 00:00:00 2001 From: "Matthew W. Thompson" Date: Thu, 14 Nov 2024 09:36:43 -0600 Subject: [PATCH 24/29] Debug --- .github/workflows/CI.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/CI.yaml b/.github/workflows/CI.yaml index f27afd62..d914f876 100644 --- a/.github/workflows/CI.yaml +++ b/.github/workflows/CI.yaml @@ -21,6 +21,7 @@ jobs: runs-on: ${{ matrix.os }} strategy: + fail-fast: false matrix: os: [ubuntu-latest, macOS-latest] python-version: ["3.10", "3.11"] From cca6a1a7d92e0ca13a69591b8264ae182492a86a Mon Sep 17 00:00:00 2001 From: "Matthew W. Thompson" Date: Thu, 14 Nov 2024 09:40:15 -0600 Subject: [PATCH 25/29] Debug --- .github/workflows/deployment.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/deployment.yaml b/.github/workflows/deployment.yaml index ab831e62..eda98387 100644 --- a/.github/workflows/deployment.yaml +++ b/.github/workflows/deployment.yaml @@ -56,7 +56,7 @@ jobs: python=${{ matrix.python-version }} - name: License OpenEye - if: ${{ matrix.openeye == true }} and never() + if: ${{ matrix.openeye == true }} run: | echo "${SECRET_OE_LICENSE}" > ${OE_LICENSE} python -c "from openeye import oechem; assert oechem.OEChemIsLicensed()" From 0cddc8d276f2042ff2a9816e3e69832bd1e92074 Mon Sep 17 00:00:00 2001 From: "Matthew W. Thompson" Date: Thu, 14 Nov 2024 09:51:03 -0600 Subject: [PATCH 26/29] Cleanup --- .github/workflows/deployment.yaml | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/.github/workflows/deployment.yaml b/.github/workflows/deployment.yaml index eda98387..6f23d7e6 100644 --- a/.github/workflows/deployment.yaml +++ b/.github/workflows/deployment.yaml @@ -1,18 +1,12 @@ name: Deployment tests on: - push: - branches: - - "main" - pull_request: - branches: - - "main" release: types: - released - prereleased schedule: - - cron: "15 0 * * *" + - cron: "10 */12 * * *" workflow_dispatch: defaults: From 17c2b00bcbfac9588e0938a5fb27d1a5ad578c56 Mon Sep 17 00:00:00 2001 From: Jeff Wagner Date: Mon, 25 Nov 2024 10:45:26 -0800 Subject: [PATCH 27/29] Apply suggestions from code review --- .github/workflows/deployment.yaml | 4 ---- devtools/conda-envs/deployment.yaml | 1 - devtools/conda-envs/deployment_openeye.yaml | 1 - devtools/conda-envs/docs-env.yaml | 2 +- 4 files changed, 1 insertion(+), 7 deletions(-) diff --git a/.github/workflows/deployment.yaml b/.github/workflows/deployment.yaml index 6f23d7e6..b0ccecfe 100644 --- a/.github/workflows/deployment.yaml +++ b/.github/workflows/deployment.yaml @@ -1,10 +1,6 @@ name: Deployment tests on: - release: - types: - - released - - prereleased schedule: - cron: "10 */12 * * *" workflow_dispatch: diff --git a/devtools/conda-envs/deployment.yaml b/devtools/conda-envs/deployment.yaml index de3b46cb..10ef4851 100644 --- a/devtools/conda-envs/deployment.yaml +++ b/devtools/conda-envs/deployment.yaml @@ -3,7 +3,6 @@ channels: - conda-forge dependencies: - openff-bespokefit - - openff-toolkit =0.16 - ambertools - xtb-python - pytest diff --git a/devtools/conda-envs/deployment_openeye.yaml b/devtools/conda-envs/deployment_openeye.yaml index 1ca84dbb..a282e73b 100644 --- a/devtools/conda-envs/deployment_openeye.yaml +++ b/devtools/conda-envs/deployment_openeye.yaml @@ -4,7 +4,6 @@ channels: - openeye dependencies: - openff-bespokefit - - openff-toolkit =0.16 - openeye-toolkits - xtb-python - pytest diff --git a/devtools/conda-envs/docs-env.yaml b/devtools/conda-envs/docs-env.yaml index 93b6591a..49e43239 100644 --- a/devtools/conda-envs/docs-env.yaml +++ b/devtools/conda-envs/docs-env.yaml @@ -18,7 +18,7 @@ dependencies: - click-option-group - rdkit =2024.03.5 - openff-utilities - - openff-toolkit =0.15 + - openff-toolkit >=0.15 - openff-forcefields >=2024.04.0 - openff-qcsubmit >=0.50 - openmm >=7.6.0 From 1c4c69aa81d5001efc4348df6dac07e2413cfed9 Mon Sep 17 00:00:00 2001 From: Jeff Wagner Date: Mon, 25 Nov 2024 10:49:11 -0800 Subject: [PATCH 28/29] temporarily re-add run on push --- .github/workflows/deployment.yaml | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/.github/workflows/deployment.yaml b/.github/workflows/deployment.yaml index b0ccecfe..f4a497ca 100644 --- a/.github/workflows/deployment.yaml +++ b/.github/workflows/deployment.yaml @@ -4,7 +4,12 @@ on: schedule: - cron: "10 */12 * * *" workflow_dispatch: - + push: + branches: + - "main" + pull_request: + branches: + - "main" defaults: run: shell: bash -l {0} From ae7815679e61ce901b3774462b8692fae2e374f0 Mon Sep 17 00:00:00 2001 From: Jeff Wagner Date: Mon, 25 Nov 2024 11:09:25 -0800 Subject: [PATCH 29/29] get actions yamls to final form and update release histroy --- .github/workflows/deployment.yaml | 6 ------ docs/releasehistory.md | 7 ++++++- 2 files changed, 6 insertions(+), 7 deletions(-) diff --git a/.github/workflows/deployment.yaml b/.github/workflows/deployment.yaml index f4a497ca..74529b1b 100644 --- a/.github/workflows/deployment.yaml +++ b/.github/workflows/deployment.yaml @@ -4,12 +4,6 @@ on: schedule: - cron: "10 */12 * * *" workflow_dispatch: - push: - branches: - - "main" - pull_request: - branches: - - "main" defaults: run: shell: bash -l {0} diff --git a/docs/releasehistory.md b/docs/releasehistory.md index c6783249..e5090772 100644 --- a/docs/releasehistory.md +++ b/docs/releasehistory.md @@ -8,7 +8,12 @@ Releases follow the ``major.minor.micro`` scheme recommended by * `micro` increments represent bugfix releases or improvements in documentation -## Current Development +## Current development + +### Tests updated +* [#207] - Adds deployment tests [@mattwthompson @jthorton @Yoshanuikabundi] + +## 0.4.1 / 07-11-2024 ### Bug fixes * [#370] - Check that the `extras` field on QCArchive records is not `None` before accessing it to avoid crashes [@ntBre]