Add testing using nbmake. Note: A lot of the notebooks are BROKEN. #1
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
# Runs the complete test suite incl. many external command line dependencies (like Openbabel) | |
# as well as the pymatgen.ext package. Coverage used to be computed based on this workflow. | |
name: Tests | |
on: | |
push: | |
branches: [master] | |
pull_request: | |
branches: [master] | |
permissions: | |
contents: read | |
jobs: | |
test: | |
strategy: | |
fail-fast: false | |
matrix: | |
# pytest-split automatically distributes work load so parallel jobs finish in similar time | |
os: [ubuntu-latest] | |
python-version: ["3.11"] | |
runs-on: ${{ matrix.os }} | |
env: | |
PMG_MAPI_KEY: ${{ secrets.PMG_MAPI_KEY }} | |
steps: | |
- name: Check out repo | |
uses: actions/checkout@v4 | |
- name: Set up micromamba | |
uses: mamba-org/setup-micromamba@main | |
- name: Create mamba environment | |
run: | | |
micromamba create -n venv python=${{ matrix.python-version }} --yes | |
- name: Install uv | |
run: micromamba run -n venv pip install uv | |
- name: Install dependencies | |
run: | | |
micromamba activate venv | |
uv pip install --upgrade -r requirements-ci.txt | |
- name: pytest | |
run: | | |
micromamba activate venv | |
cd notebooks | |
pytest --nbmake . |