Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 0 additions & 1 deletion .gitattributes
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
/*/poetry.lock linguist-generated
/*/doc/changes/changelog.md linguist-generated
/pytest-backend/exasol/pytest_backend/version.py linguist-generated
/pytest-extension/exasol/pytest_extension/version.py linguist-generated
/pytest-slc/exasol/pytest_slc/version.py linguist-generated

6 changes: 3 additions & 3 deletions .github/workflows/build-and-publish.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,18 +17,18 @@ jobs:

cd-job:
name: Continuous Delivery
runs-on: ubuntu-24.04
runs-on: "ubuntu-24.04"
permissions:
contents: write
defaults:
run:
working-directory: ${{ inputs.working-directory }}
steps:
- name: SCM Checkout
uses: actions/checkout@v5
uses: actions/checkout@v6

- name: Setup Python & Poetry Environment
uses: exasol/python-toolbox/.github/actions/python-environment@v3
uses: exasol/python-toolbox/.github/actions/python-environment@v5
with:
working-directory: ${{ inputs.working-directory }}

Expand Down
5 changes: 2 additions & 3 deletions .github/workflows/cd.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,6 @@ on:
type: choice
options:
- "pytest-backend"
- "pytest-extension"
- "pytest-slc"
version:
description: 'Version number for the release'
Expand All @@ -19,7 +18,7 @@ on:
jobs:
check-release-branch:
name: Check branch for release ${{ inputs.project }}
runs-on: ubuntu-24.04
runs-on: "ubuntu-24.04"
permissions:
contents: write
defaults:
Expand Down Expand Up @@ -52,4 +51,4 @@ jobs:
PYPI_TOKEN: ${{ secrets.PYPI_TOKEN }}
with:
working-directory: ${{ inputs.project }}
version: ${{ inputs.version }}
version: ${{ inputs.version }}
6 changes: 3 additions & 3 deletions .github/workflows/check-release-tag.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,15 +14,15 @@ jobs:

check-tag-version-job:
name: Check Tag Version
runs-on: ubuntu-24.04
runs-on: "ubuntu-24.04"
permissions:
contents: read
steps:
- name: SCM Checkout
uses: actions/checkout@v5
uses: actions/checkout@v6

- name: Setup Python & Poetry Environment
uses: exasol/python-toolbox/.github/actions/python-environment@v3
uses: exasol/python-toolbox/.github/actions/python-environment@v5
with:
working-directory: ${{ inputs.working-directory }}

Expand Down
80 changes: 46 additions & 34 deletions .github/workflows/checks.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,22 +10,24 @@ on:
jobs:
Version-Check:
name: Version (${{ inputs.working-directory }})
runs-on: ubuntu-24.04
runs-on: "ubuntu-24.04"
permissions:
contents: read
defaults:
run:
working-directory: ${{ inputs.working-directory }}
steps:
- name: SCM Checkout
uses: actions/checkout@v5
uses: actions/checkout@v6
with:
fetch-depth: 0

- name: Setup Python & Poetry Environment
uses: exasol/python-toolbox/.github/actions/python-environment@v3
uses: exasol/python-toolbox/.github/actions/python-environment@v5
with:
working-directory: ${{ inputs.working-directory }}
python-version: "3.10"
poetry-version: "2.3.0"

- name: Check Version(s)
run: poetry run -- nox -s version:check
Expand All @@ -40,7 +42,7 @@ jobs:

Changelog:
name: Changelog Update Check (${{ inputs.working-directory }})
runs-on: ubuntu-24.04
runs-on: "ubuntu-24.04"
permissions:
contents: read
if: ${{ github.ref != 'refs/heads/main' && github.ref != 'refs/heads/master' }}
Expand All @@ -49,20 +51,22 @@ jobs:
working-directory: ${{ inputs.working-directory }}
steps:
- name: SCM Checkout
uses: actions/checkout@v5
uses: actions/checkout@v6

- name: Setup Python & Poetry Environment
uses: exasol/python-toolbox/.github/actions/python-environment@v3
uses: exasol/python-toolbox/.github/actions/python-environment@v5
with:
working-directory: ${{ inputs.working-directory }}
python-version: "3.10"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why do we need to specify the versions of Python and Poetry here?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I forwarded your question to our channel as I don't have an answer.
I just accepted the workflows generated by the PTB.

poetry-version: "2.3.0"

- name: Run changelog update check
run: poetry run -- nox -s changelog:updated

Lint:
name: Linting (${{ inputs.working-directory }}, Python-${{ matrix.python-version }})
needs: [ Version-Check, build-matrix ]
runs-on: ubuntu-24.04
needs: [ build-matrix ]
runs-on: "ubuntu-24.04"
permissions:
contents: read
strategy:
Expand All @@ -74,19 +78,20 @@ jobs:

steps:
- name: SCM Checkout
uses: actions/checkout@v5
uses: actions/checkout@v6

- name: Setup Python & Poetry Environment
uses: exasol/python-toolbox/.github/actions/python-environment@v3
uses: exasol/python-toolbox/.github/actions/python-environment@v5
with:
python-version: ${{ matrix.python-version }}
working-directory: ${{ inputs.working-directory }}
poetry-version: "2.3.0"

- name: Run lint
run: poetry run -- nox -s lint:code

- name: Upload Artifacts
uses: actions/upload-artifact@v5
uses: actions/upload-artifact@v6
with:
name: lint-${{ inputs.working-directory }}-python${{ matrix.python-version }}
path: |
Expand All @@ -96,8 +101,8 @@ jobs:

Type-Check:
name: Type Checking (${{ inputs.working-directory }}, Python-${{ matrix.python-version }})
needs: [ Version-Check, build-matrix ]
runs-on: ubuntu-24.04
needs: [ build-matrix ]
runs-on: "ubuntu-24.04"
permissions:
contents: read
strategy:
Expand All @@ -109,21 +114,22 @@ jobs:

steps:
- name: SCM Checkout
uses: actions/checkout@v5
uses: actions/checkout@v6

- name: Setup Python & Poetry Environment
uses: exasol/python-toolbox/.github/actions/python-environment@v3
uses: exasol/python-toolbox/.github/actions/python-environment@v5
with:
python-version: ${{ matrix.python-version }}
working-directory: ${{ inputs.working-directory }}
poetry-version: "2.3.0"

- name: Run type-check
run: poetry run -- nox -s lint:typing

Security:
name: Security Checks (${{ inputs.working-directory }}, Python-${{ matrix.python-version }})
needs: [ Version-Check, build-matrix ]
runs-on: ubuntu-24.04
needs: [ build-matrix ]
runs-on: "ubuntu-24.04"
permissions:
contents: read
strategy:
Expand All @@ -135,69 +141,74 @@ jobs:

steps:
- name: SCM Checkout
uses: actions/checkout@v5
uses: actions/checkout@v6

- name: Setup Python & Poetry Environment
uses: exasol/python-toolbox/.github/actions/python-environment@v3
uses: exasol/python-toolbox/.github/actions/python-environment@v5
with:
python-version: ${{ matrix.python-version }}
working-directory: ${{ inputs.working-directory }}
poetry-version: "2.3.0"

- name: Run security linter
run: poetry run -- nox -s lint:security

- name: Upload Artifacts
uses: actions/upload-artifact@v5
uses: actions/upload-artifact@v6
with:
name: security-${{ inputs.working-directory }}-python${{ matrix.python-version }}
path: ${{ inputs.working-directory }}/.security.json
include-hidden-files: true

Format:
name: Format Check (${{ inputs.working-directory }})
runs-on: ubuntu-24.04
runs-on: "ubuntu-24.04"
permissions:
contents: read
defaults:
run:
working-directory: ${{ inputs.working-directory }}
steps:
- name: SCM Checkout
uses: actions/checkout@v5
uses: actions/checkout@v6

- name: Setup Python & Poetry Environment
uses: exasol/python-toolbox/.github/actions/python-environment@v3
uses: exasol/python-toolbox/.github/actions/python-environment@v5
with:
working-directory: ${{ inputs.working-directory }}
python-version: "3.10"
poetry-version: "2.3.0"

- name: Run format check
run: poetry run -- nox -s project:format
run: poetry run -- nox -s format:check


Build-Packages:
name: Build Package Check (${{ inputs.working-directory }})
needs: [ Lint, Type-Check, Security, Format ]
runs-on: ubuntu-24.04
name: Build Package Check (${{ inputs.working-directory }})
runs-on: "ubuntu-24.04"
permissions:
contents: read
defaults:
run:
working-directory: ${{ inputs.working-directory }}
steps:
- name: SCM Checkout
uses: actions/checkout@v5
uses: actions/checkout@v6

- name: Setup Python & Poetry Environment
uses: exasol/python-toolbox/.github/actions/python-environment@v3
uses: exasol/python-toolbox/.github/actions/python-environment@v5
with:
working-directory: ${{ inputs.working-directory }}
python-version: "3.10"
poetry-version: "2.3.0"

- name: Run Distribution Check
run: poetry run -- nox -s package:check

Tests:
name: Unit-Tests (${{ inputs.working-directory }}, Python-${{ matrix.python-version }})
needs: [ Build-Packages, build-matrix ]
runs-on: ubuntu-24.04
needs: [ build-matrix ]
runs-on: "ubuntu-24.04"
permissions:
contents: read
strategy:
Expand All @@ -206,20 +217,21 @@ jobs:

steps:
- name: SCM Checkout
uses: actions/checkout@v5
uses: actions/checkout@v6

- name: Setup Python & Poetry Environment
uses: exasol/python-toolbox/.github/actions/python-environment@v3
uses: exasol/python-toolbox/.github/actions/python-environment@v5
with:
python-version: ${{ matrix.python-version }}
working-directory: ${{ inputs.working-directory }}
poetry-version: "2.3.0"

- name: Run Tests and Collect Coverage
working-directory: ${{ inputs.working-directory }}
run: poetry run -- nox -s test:unit -- --coverage

- name: Upload Artifacts
uses: actions/upload-artifact@v5
uses: actions/upload-artifact@v6
with:
name: coverage-${{ inputs.working-directory }}-python${{ matrix.python-version }}-fast
path: ${{ inputs.working-directory }}/.coverage
Expand Down
18 changes: 9 additions & 9 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,13 +14,13 @@ on:
jobs:
set-project-matrix:
name: Set Project Matrix
runs-on: ubuntu-24.04
runs-on: "ubuntu-24.04"
permissions:
contents: read
steps:
- id: set-matrix
run: |
echo "matrix={\"working-directory\": [\"pytest-backend\", \"pytest-extension\", \"pytest-slc\"]}" >> "$GITHUB_OUTPUT"
echo "matrix={\"working-directory\": [\"pytest-backend\", \"pytest-slc\"]}" >> "$GITHUB_OUTPUT"
outputs:
matrix: ${{ steps.set-matrix.outputs.matrix }}

Expand All @@ -37,7 +37,7 @@ jobs:

slow-test-detection:
name: Run Slow or Expensive Tests?
runs-on: ubuntu-24.04
runs-on: "ubuntu-24.04"
needs: [ fast-checks ]
permissions:
contents: read
Expand All @@ -49,7 +49,7 @@ jobs:

slow-tests:
name: Slow Tests (${{ matrix.working-directory }})
runs-on: ubuntu-24.04
runs-on: "ubuntu-24.04"
needs: [ set-project-matrix, slow-test-detection ]
strategy:
matrix: ${{ fromJson(needs.set-project-matrix.outputs.matrix) }}
Expand All @@ -66,12 +66,12 @@ jobs:
run: echo slow-tests='-m "not slow"' >> "$GITHUB_OUTPUT"

- name: SCM Checkout
uses: actions/checkout@v5
uses: actions/checkout@v6
with:
fetch-depth: 0

- name: Setup Python & Poetry Environment
uses: exasol/python-toolbox/.github/actions/python-environment@v3
uses: exasol/python-toolbox/.github/actions/python-environment@v5
with:
working-directory: ${{ matrix.working-directory }}

Expand All @@ -88,7 +88,7 @@ jobs:
PYTEST_ADDOPTS: '${{ steps.pytest-markers.outputs.slow-tests }}'

- name: Upload Artifacts
uses: actions/upload-artifact@v5
uses: actions/upload-artifact@v6
with:
name: coverage-${{ matrix.working-directory }}-python${{ matrix.python-version }}-slow
path: ${{ matrix.working-directory }}/.coverage
Expand All @@ -97,7 +97,7 @@ jobs:
merge-gate:
name: Merge Gate
needs: [ fast-checks, slow-tests ]
runs-on: ubuntu-24.04
runs-on: "ubuntu-24.04"
steps:
- name: Approve
run: echo "Merge Approved"
Expand All @@ -111,4 +111,4 @@ jobs:
permissions:
contents: read
with:
working-directory: ${{ matrix.working-directory }}
working-directory: ${{ matrix.working-directory }}
Loading