Hiphive trial #8
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: testing | |
on: | |
push: | |
branches: [main] | |
tags: ["v*"] | |
pull_request: | |
workflow_dispatch: | |
jobs: | |
lint: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-python@v5 | |
with: | |
python-version: "3.9" | |
cache: pip | |
cache-dependency-path: pyproject.toml | |
- uses: pre-commit/[email protected] | |
test: | |
services: | |
local_mongodb: | |
image: mongo:4.0 | |
ports: | |
- 27017:27017 | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
python-version: ["3.9", "3.10", "3.11"] | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-python@v5 | |
with: | |
python-version: ${{ matrix.python-version }} | |
cache: pip | |
cache-dependency-path: pyproject.toml | |
- name: Install dependencies | |
# ERROR: Cannot install atomate2 and atomate2[strict,tests]==0.0.1 because these package versions have conflicting dependencies. | |
# The conflict is caused by: | |
# atomate2[strict,tests] 0.0.1 depends on pymatgen>=2023.10.4 | |
# atomate2[strict,tests] 0.0.1 depends on pymatgen==2023.10.4; extra == "strict" | |
# ERROR: ResolutionImpossible: for help visit https://pip.pypa.io/en/latest/topics/dependency-resolution/#dealing-with-dependency-conflicts | |
# chgnet 0.2.1 depends on pymatgen>=2023.5.31 | |
# emmet-core 0.70.0 depends on pymatgen>=2023.10.11 | |
run: | | |
python -m pip install --upgrade pip | |
# ase needed to get FrechetCellFilter used by ML force fields | |
pip install git+https://gitlab.com/ase/ase | |
pip install .[strict,tests] | |
- name: Test | |
env: | |
MP_API_KEY: ${{ secrets.MP_API_KEY }} | |
run: pytest --cov=atomate2 --cov-report=xml | |
- uses: codecov/codecov-action@v1 | |
if: matrix.python-version == '3.10' && github.repository == 'materialsproject/atomate2' | |
with: | |
token: ${{ secrets.CODECOV_TOKEN }} | |
file: ./coverage.xml | |
docs: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-python@v5 | |
with: | |
python-version: "3.10" | |
cache: pip | |
cache-dependency-path: pyproject.toml | |
- name: Install dependencies | |
run: | | |
python -m pip install --upgrade pip | |
# ase needed to get FrechetCellFilter used by ML force fields | |
pip install git+https://gitlab.com/ase/ase | |
pip install .[strict,docs] | |
- name: Build | |
run: sphinx-build docs docs_build | |
automerge: | |
needs: [lint, test, docs] | |
runs-on: ubuntu-latest | |
permissions: | |
pull-requests: write | |
contents: write | |
steps: | |
- uses: fastify/github-action-merge-dependabot@v3 |