Full-stack tests #864
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: "Full-stack tests" | |
on: | |
push: | |
workflow_dispatch: | |
schedule: | |
- cron: "0 1 * * *" | |
defaults: | |
run: | |
shell: bash -leo pipefail {0} {0} | |
jobs: | |
test: | |
runs-on: ${{ matrix.os }} | |
strategy: | |
fail-fast: false | |
matrix: | |
os: [macOS-latest, ubuntu-latest] | |
python-version: ["3.9", "3.10", "3.11"] | |
env: | |
OE_LICENSE: ${{ github.workspace }}/oe_license.txt | |
steps: | |
- uses: actions/checkout@v4 | |
# Each of these checkouts can be done on a feature branch | |
# https://github.com/actions/checkout#checkout-a-different-branch | |
# Only check out the repos whose tests directly run; development | |
# installs of other packages are brought in via pip via micromamba | |
- name: Checkout Interchange | |
uses: actions/checkout@v4 | |
with: | |
repository: openforcefield/openff-interchange | |
path: openff-interchange | |
- name: Checkout OpenFF Fragmenter | |
uses: actions/checkout@v4 | |
with: | |
repository: openforcefield/openff-fragmenter | |
path: openff-fragmenter | |
- name: Checkout OpenFF Recharge | |
uses: actions/checkout@v4 | |
with: | |
repository: openforcefield/openff-recharge | |
path: openff-recharge | |
- name: Checkout SMIRNOFF plugins | |
uses: actions/checkout@v4 | |
with: | |
repository: openforcefield/smirnoff-plugins | |
path: smirnoff-plugins | |
- name: Set up conda environment | |
uses: mamba-org/setup-micromamba@v1 | |
with: | |
environment-file: devtools/conda-envs/full.yaml | |
create-args: python=${{ matrix.python-version }} | |
- 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} | |
- name: Install most recent development versions | |
run: | | |
micromamba remove --force \ | |
openff-recharge \ | |
openff-interchange \ | |
-y | |
python -m pip install -e \ | |
openff-recharge/ \ | |
openff-interchange/ \ | |
openff-interchange/plugins/ \ | |
smirnoff-plugins/ | |
- name: Run 'everything all at once' tests | |
run: | | |
python -m pytest -nauto --rootdir=. --durations=20 \ | |
smirnoff-plugins/smirnoff_plugins/_tests/ \ | |
openff-recharge/openff/recharge/_tests/ \ | |
openff-interchange/openff/interchange/_tests/ \ | |
--ignore=openff-interchange/openff/interchange/_tests/test_parameter_plugins.py::test_force_field_custom_handler \ | |
--ignore=openff-interchange/openff/interchange/_tests/test_forcefield.py::TestForceFieldPluginLoading \ | |
--ignore=openff-interchange/openff/interchange/_tests/test_parameter_plugins.py \ | |
--ignore=openff-interchange/openff/interchange/_tests/unit_tests/smirnoff/test_create.py::TestCreateWithPlugins \ | |
--ignore=openff-interchange/openff/interchange/_tests/test_parameter_plugins.py::test_load_handler_plugins | |
# --ignore=openff-toolkit/openff/toolkit/_tests/test_parameter_plugins.py \ | |
# --ignore=openff-toolkit/openff/toolkit/_tests/test_forcefield.py::TestForceFieldPluginLoading \ | |
# --ignore=openff-toolkit/openff/toolkit/_tests/test_nagl.py \ | |
# openff-evaluator/openff/evaluator/ |