Skip to content

previous qcel and qcng pydantic v2 work translated to v1 (#2) #8

previous qcel and qcng pydantic v2 work translated to v1 (#2)

previous qcel and qcng pydantic v2 work translated to v1 (#2) #8

Workflow file for this run

name: CI
on:
push:
branches:
- main
pull_request:
branches:
- main
schedule:
- cron: "9 16 * * 1"
jobs:
build:
defaults:
run:
shell: bash -l {0}
strategy:
fail-fast: false
matrix:
cfg:
- label: Py-min
python-version: "3.8"
runs-on: ubuntu-latest
pytest: ""
- label: Py-max
python-version: "3.12"
runs-on: ubuntu-latest
pytest: ""
#pytest: "-k 'not (hes2 or qchem)'"
name: "🐍 ${{ matrix.cfg.python-version }} • ${{ matrix.cfg.label }} • ${{ matrix.cfg.runs-on }}"
runs-on: ${{ matrix.cfg.runs-on }}
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Write a Conda Env File
run: |
cat > export.yaml <<EOF
name: test
channels:
- conda-forge
- nodefaults
dependencies:
# Build
- setuptools
- setuptools-scm
# Core
- python
- qcengine
- pydantic
# Testing
- pytest
- zstandard
- pytest-cov
- codecov
EOF
if [[ "${{ runner.os }}" == "Linux" ]]; then
:
if [[ "${{ matrix.cfg.label }}" == "Py-min" ]]; then
sed -i "s;pydantic;pydantic=1;g" export.yaml
fi
fi
# model sed for L/W
# sed -i "s;;;g" export.yaml
# model sed for M
# sed -E -i.bak "s;;;g" export.yaml
cat export.yaml
- name: Create Environment
uses: conda-incubator/setup-miniconda@v3
with:
activate-environment: test
environment-file: export.yaml
python-version: ${{ matrix.cfg.python-version }}
auto-activate-base: false
show-channel-urls: true
add-pip-as-python-dependency: true
channels: conda-forge,nodefaults
- name: Special Config - QCElemental Dep
if: false
run: |
conda remove qcelemental --force
python -m pip install 'git+https://github.com/MolSSI/QCElemental.git@loriab-patch-2' --no-deps
- name: Special Config - QCEngine Dep
if: false
#if: "(startsWith(matrix.cfg.label, 'Psi4')) || (matrix.cfg.label == 'ADCC') || (matrix.cfg.label == 'optimization-dispersion')"
run: |
conda remove qcengine --force
- name: Environment Information
run: |
conda info
conda list
- name: Install QCManyBody
run: |
python -m pip install . --no-deps
- name: PyTest
run: |
pytest -rws -v ${{ matrix.cfg.pytest }} --cov=qcmanybody --color=yes --cov-report=xml qcmanybody/ tests/
- name: CodeCov
uses: codecov/codecov-action@v3
release_sphinx:
if: false
needs: [build]
defaults:
run:
shell: bash -l {0}
strategy:
fail-fast: false
matrix:
cfg:
- conda-env: docs-cf
python-version: 3.8
label: Sphinx
runs-on: ubuntu-latest
name: "🐍 ${{ matrix.cfg.python-version }} • ${{ matrix.cfg.label }}"
runs-on: ${{ matrix.cfg.runs-on }}
steps:
- uses: actions/checkout@v3
- name: Create Environment
uses: conda-incubator/setup-miniconda@v2
with:
activate-environment: test
environment-file: devtools/conda-envs/${{ matrix.cfg.conda-env }}.yaml
python-version: ${{ matrix.cfg.python-version }}
auto-activate-base: false
miniforge-variant: Mambaforge
use-mamba: true
add-pip-as-python-dependency: true
channels: conda-forge
- name: Environment Information
run: |
mamba info
mamba list --show-channel-urls
- name: Build Documentation
run: |
python -m pip install . --no-deps
cd docs
make html
- name: GitHub Pages Deploy
uses: JamesIves/[email protected]
if: github.event_name == 'push' && github.repository == 'MolSSI/QCEngine' && ( startsWith( github.ref, 'refs/tags/' ) || github.ref == 'refs/heads/master' )
with:
branch: gh-pages
folder: docs/build/html