Continuous Integration #734
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: 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.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 |