From 1dc46257e1302576680dc8cf6922a0568b529baf Mon Sep 17 00:00:00 2001 From: Shaun <102768645+ShaunWeatherly@users.noreply.github.com> Date: Mon, 21 Oct 2024 12:55:48 -0400 Subject: [PATCH] Add python==3.11 to pytest, Upload junit-style results as artifacts (#46) * Update quemb_unittest.yml for continuous integration * Update pytest name * No artifact download, change pytest args. * Fixed missing bits in `quemb_unittest.yml` * Fixed extraneous `$` and versions. --- .github/workflows/quemb_unittest.yml | 30 ++++++++++++++++++++++++---- 1 file changed, 26 insertions(+), 4 deletions(-) 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()