From c811b19b7e440faed7a1abb0d4bc940a0a8c371b Mon Sep 17 00:00:00 2001 From: mmwinther Date: Tue, 5 Dec 2023 15:45:15 +0100 Subject: [PATCH] Add workflow to run python tests --- .github/workflows/test-python.yml | 49 +++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 .github/workflows/test-python.yml diff --git a/.github/workflows/test-python.yml b/.github/workflows/test-python.yml new file mode 100644 index 00000000..c2379b7e --- /dev/null +++ b/.github/workflows/test-python.yml @@ -0,0 +1,49 @@ +# This workflow will install Python dependencies, run tests and lint with a single version of Python +# For more information see: https://help.github.com/actions/language-and-framework-guides/using-python-with-github-actions + +name: Python tests + +on: + push: + paths: + - "generated/python/datadoc_model" + - ".github/workflows/test-python.yml" + +permissions: + contents: read + issues: write + pull-requests: write + +jobs: + run-unit-tests: + runs-on: ubuntu-latest + defaults: + run: + working-directory: ./generated/python/datadoc_model + steps: + - uses: actions/checkout@v2 + - uses: actions/setup-python@v1 + with: + python-version: "3.11" + - uses: Gr1N/setup-poetry@v8 + - uses: actions/cache@v2 + with: + path: ~/.cache/pypoetry/virtualenvs + key: ${{ runner.os }}-poetry-${{ hashFiles('poetry.lock') }} + - name: Print Poetry version + run: poetry --version + - name: Install dependencies + run: | + poetry install --all-extras + - name: Run unit tests + run: | + set -o pipefail; poetry run pytest -v --cache-clear --junitxml=pytest.xml --cov-report=term-missing --cov=datadoc | tee pytest-coverage.txt + - name: Pytest coverage comment + id: coverageComment + # Always run + if: ${{ success() || failure() }} + uses: MishaKav/pytest-coverage-comment@main + with: + github-token: ${{github.token}} + pytest-coverage-path: ./pytest-coverage.txt + junitxml-path: ./pytest.xml