Skip to content

feat: Ease MPNN command line usage #159

feat: Ease MPNN command line usage

feat: Ease MPNN command line usage #159

Workflow file for this run

name: test
on:
push:
branches: [main, production, wip/for-release, wip/remove-chemdata]
# Run on every pull request regardless of base branch, so stacked task-branch PRs
# are gated too (not just PRs targeting the mainline branches above).
pull_request:
workflow_dispatch:
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
mypy:
name: mypy (type check)
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: "3.12"
cache: 'pip'
cache-dependency-path: |
pyproject.toml
ci-constraints.txt
- name: Install package + dev extras
# `[dev]` pulls in mypy and the dev tooling. The package itself is needed
# so mypy can resolve `import foundry.*` against the installed source.
# `-c ci-constraints.txt` pins the type-stub-sensitive packages to the
# validated versions so the gate is reproducible (see that file).
run: pip install -e ".[dev]" -c ci-constraints.txt
- name: mypy
run: mypy
pytest:
name: pytest (shared + CPU model tests)
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: "3.12"
cache: 'pip'
cache-dependency-path: |
pyproject.toml
ci-constraints.txt
- name: Install package + dev extras
# `-c ci-constraints.txt` pins the type-stub-sensitive packages to the
# validated versions so the gate is reproducible (see that file).
run: pip install -e ".[dev]" -c ci-constraints.txt
- name: pytest
# Runs the shared-layer tests/ plus the CPU-portable per-model tests under
# models/*/tests/ (collected via `testpaths`; the model packages are importable
# because `pip install -e .` exposes them). Each model's tests/conftest.py uses
# `collect_ignore` to hold its cluster-coupled suite (GPU / downloaded checkpoints
# / IPD data) out of CI — those run locally on the cluster.
run: pytest