Skip to content

An update to the unittest workflow. #47

An update to the unittest workflow.

An update to the unittest workflow. #47

# Author(s): Minsik Cho, Shaun Weatherly
# Based on: https://docs.github.com/en/actions/use-cases-and-examples/building-and-testing/building-and-testing-python
name: Run Unit Tests for quemb
on:
push:
branches: [ "main" ]
pull_request:
branches: [ "main" ]
permissions:
contents: read
jobs:
build:
runs-on: ubuntu-latest
strategy:
matrix:
python-version: ["3.9", "3.12"]
steps:
- uses: actions/checkout@v4
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
- uses: actions/cache@v4
with:
path: ${{ env.pythonLocation }}
key: ${{ env.pythonLocation }}-${{ hashFiles('setup.py') }}-${{ hashFiles('dev-requirements.txt') }}
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install --upgrade --upgrade-strategy eager pytest
if [ -f requirements.txt ]; then pip install --upgrade --upgrade-strategy eager -r requirements.txt; fi
echo ${{ github.workspace }} > $(python -c "from distutils.sysconfig import get_python_lib; print(get_python_lib())")/quemb.pth
- name: Test with pytest
run: |
cd tests
pytest --doctest-modules --junitxml=junit/quemb-test-results_${{ matrix.python-version }}.xml
if: always()
- name: Upload pytest junit results
uses: actions/upload-artifact@v4
with:
name: quemb-test-results_${{ matrix.python-version }}
path: tests/junit/quemb-test-results_${{ matrix.python-version }}.xml
#- name: Upload pytest html results
# uses: actions/upload-artifact@v4
# with:
# name: quemb-tests-coverage_${{ matrix.python-version }}
# path: tests/htmlcov
# if: always()