diff --git a/.github/workflows/python-ci.yml b/.github/workflows/python-ci.yml index a43e901..8a4934a 100644 --- a/.github/workflows/python-ci.yml +++ b/.github/workflows/python-ci.yml @@ -1,3 +1,6 @@ +# This workflow will install Python dependencies, run tests and lint with a single version of Python +# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-python + name: Python CI on: @@ -16,31 +19,41 @@ jobs: runs-on: ubuntu-latest steps: - - name: Checkout code - uses: actions/checkout@v4 - + - uses: actions/checkout@v4 - name: Set up Python 3.11.9 uses: actions/setup-python@v3 + if: ${{ hashFiles('./test') != '' }} with: python-version: "3.11.9" - - name: Install dependencies + if: ${{ hashFiles('./test') != '' }} run: | python -m pip install --upgrade pip if [ -f system/requirements/requirements_unit_test.txt ]; then pip install -r system/requirements/requirements_unit_test.txt; fi - - name: Test with pytest + if: ${{ hashFiles('./test') != '' }} run: | pytest test --doctest-modules --junitxml=junit/test-results.xml --cov=com --cov-report=xml --cov-report=html - - name: Surface failing tests if: always() uses: pmeier/pytest-results-action@v0.6.0 with: + # A list of JUnit XML files, directories containing the former, and wildcard + # patterns to process. + # See @actions/glob for supported patterns. path: junit/test-results.xml + + # (Optional) Add a summary of the results at the top of the report summary: true + + # (Optional) Select which results should be included in the report. + # Follows the same syntax as `pytest -r` display-options: fEX + + # (Optional) Fail the workflow if no JUnit XML was found. fail-on-empty: false + + # (Optional) Title of the test results section in the workflow summary title: Test results