diff --git a/.github/workflows/quemb_unittest.yml b/.github/workflows/quemb_unittest.yml index 7925143..fcc0f83 100644 --- a/.github/workflows/quemb_unittest.yml +++ b/.github/workflows/quemb_unittest.yml @@ -1,4 +1,4 @@ -# Author(s): Minsik Cho +# 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 @@ -15,23 +15,45 @@ permissions: jobs: build: runs-on: ubuntu-latest + strategy: + matrix: + python-version: ["3.9", "3.12"] steps: - uses: actions/checkout@v4 - - name: Set up Python 3.9 + + - name: Set up Python ${{ matrix.python-version }} uses: actions/setup-python@v5 with: - python-version: "3.9" + 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: | - pytest + 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()