Skip to content

Fix dev CI (#576) #1851

Fix dev CI (#576)

Fix dev CI (#576) #1851

Workflow file for this run

name: ci
on: [push, pull_request]
jobs:
tests:
runs-on: ubuntu-latest
timeout-minutes: 60
strategy:
matrix:
python-version: ["3.10","3.11","3.12"]
steps:
- uses: actions/checkout@v4
- name: Install uv
uses: astral-sh/setup-uv@v6
with:
version: "0.6.2"
python-version: ${{ matrix.python-version }}
- name: Install "all" dependencies
run: uv sync --extra all
- name: Install PLUMED
uses: Iximiel/install-plumed@v1
id: plumed
continue-on-error: true
- name: Set environment variable based on plumed success
run: |
if [ "${{ steps.plumed.outcome }}" = "success" ]; then
echo "PLUMED_KERNEL=${{ steps.plumed.outputs.plumed_prefix }}/lib/libplumedKernel.so" >> $GITHUB_ENV
fi
- name: Run test suite
env:
# show timings of tests
PYTEST_ADDOPTS: "--durations=0"
run: uv run --no-sync pytest --cov janus_core --cov-append .
- name: Install updated e3nn dependencies
run: |
uv sync --extra mattersim --extra fairchem
uv pip install --reinstall pynvml
uv pip install fairchem-core[torch-extras] --no-build-isolation
- name: Run test suite for updated e3nn dependencies
env:
# show timings of tests
PYTEST_ADDOPTS: "--durations=0"
HF_TOKEN: ${{ secrets.HF_TOKEN }}
run: uv run --no-sync pytest tests/test_{mlip_calculators,single_point}.py
- name: Install dgl dependencies
run: |
uv sync --extra mace --extra m3gnet --extra alignn
uv pip install --reinstall pynvml
- name: Run test suite for dgl dependencies
env:
# show timings of tests
PYTEST_ADDOPTS: "--durations=0"
run: uv run --no-sync pytest tests/test_{mlip_calculators,single_point,eos}.py
- name: Create space in cache
run: |
rm -rf ~/.cache/*
uv cache clean
- name: Install UMA
run: |
uv sync --extra uma
uv pip install --reinstall pynvml
uv pip install fairchem-core[torch-extras] --no-build-isolation
- name: Run test suite for UMA
env:
# show timings of tests
PYTEST_ADDOPTS: "--durations=0"
HF_TOKEN: ${{ secrets.HF_TOKEN }}
run: uv run --no-sync pytest tests/test_{mlip_calculators,single_point}.py
- name: Report coverage to Coveralls
uses: coverallsapp/github-action@v2
with:
parallel: true
flag-name: run-${{ matrix.python-version }}
file: coverage.xml
base-path: janus_core
coverage:
needs: tests
runs-on: ubuntu-latest
steps:
- name: Close parallel build
uses: coverallsapp/github-action@v2
with:
parallel-finished: true
docs:
runs-on: ubuntu-latest
timeout-minutes: 15
steps:
- uses: actions/checkout@v4
- name: Check all sources documented
run: |
diff -y --suppress-common-lines \
<(git ls-files janus_core/** | sed '/.py$/!d; s/\/__init__.py//; s#/#.#g; s/.py$//' | sort) \
<(sed -nr '/automodule/{s/.*::\s*//;p}' docs/source/apidoc/* | sort)
- name: Install uv
uses: astral-sh/setup-uv@v6
with:
python-version: "3.12"
- name: Install pandoc
uses: pandoc/actions/setup@v1
- name: Install dependencies
run: |
uv sync --extra mace
uv pip install --reinstall pynvml
- name: Build docs
run: cd docs && uv run make html
pre-commit:
runs-on: ubuntu-latest
timeout-minutes: 15
steps:
- uses: actions/checkout@v4
- name: Install uv
uses: astral-sh/setup-uv@v6
with:
python-version: "3.12"
- name: Install dependencies
run: uv sync
- name: Run pre-commit
run: |
uv run pre-commit install
uv run pre-commit run --all-files || ( git status --short ; git diff ; exit 1 )