Skip to content

Full-stack tests

Full-stack tests #798

Workflow file for this run

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: 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-fragmenter -y
micromamba remove --force openff-interchange -y
python -m pip install -e \
openff-fragmenter \
openff-interchange/ \
openff-interchange/plugins/
- name: Run 'everything all at once' tests
run: |
python -m pytest -nauto --rootdir=. --durations=20 \
openff-fragmenter/openff/fragmenter/_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/