Skip to content

Continuous Integration #666

Continuous Integration

Continuous Integration #666

Workflow file for this run

name: Continuous Integration
on:
push:
branches:
- master
pull_request:
branches:
- master
schedule:
- cron: '0 0 * * *'
env:
BSE_API_URL: "http://basissetexchange.org"
jobs:
test:
name: "Core Tests"
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, macos-latest, windows-latest]
python-version: ["3.7", "3.8", "3.9", "3.10", "3.11", "3.12"]
steps:
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}
- name: Clone the repository
uses: actions/checkout@v4
- name: Install package
run: |
pip install .[docs,tests,curate]
mkdir deps # For QCSchema
mkdir test_wdir # Working directory to run tests from
# (testing installed BSE, not the source tree)
- name: Clone QCSchema HEAD
uses: actions/checkout@v4
with:
repository: molssi/QCSchema
path: deps/QCSchema
- name: Install QCSchema HEAD
run: |
pip install deps/QCSchema/
- name: Run tests
working-directory: ./test_wdir # Move to an unrelated dir and test the installed package
shell: bash -l {0}
run: |
pytest --pyargs basis_set_exchange
- name: Test CLI
working-directory: ./test_wdir # Move to an unrelated dir and test the installed package
shell: bash -l {0}
run: |
bse get-basis 6-31g nwchem
- name: Run documentation tests
if: matrix.os == 'ubuntu-latest'
working-directory: ./docs
run: |
ln -s ../basis_set_exchange/tests/fakedata ${HOME}/my_data_dir
make doctest && make html