Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
49 commits
Select commit Hold shift + click to select a range
3561b84
updated dependencies, adapted to PTB version 5
ckunki Feb 15, 2026
74a9a45
Updated changelog
ckunki Feb 15, 2026
0302f93
Re-generated workflows and fixed typing errors
ckunki Feb 15, 2026
d00b507
updated changelog
ckunki Feb 16, 2026
7a9560f
Moved file version.py
ckunki Feb 16, 2026
cb72387
re-generated API using updated openapi-python-client
ckunki Feb 16, 2026
fa69368
Wrapped calls to inner API to raise OpenApiError
ckunki Feb 16, 2026
ceea86c
reformatted generated code
ckunki Feb 16, 2026
06cfb73
Added missing import
ckunki Feb 16, 2026
26e881d
updated changelog
ckunki Feb 16, 2026
3b29d66
increased timeout in tests
ckunki Feb 16, 2026
fbd8087
poetry lock
ckunki Feb 16, 2026
4b7f579
Modified API
ckunki Feb 16, 2026
6ec206d
Added instrumentation for failing test
ckunki Feb 16, 2026
9eb4ff8
nox -s format:fix
ckunki Feb 16, 2026
a9ac03a
More logs
ckunki Feb 16, 2026
e99393f
Fixed workflow file
ckunki Feb 16, 2026
1bf55a2
Hopefullly finally fixed delete implementation
ckunki Feb 16, 2026
589556c
format:fix
ckunki Feb 16, 2026
95ae0e6
Cleanup
ckunki Feb 16, 2026
4291d07
fixed lint errors
ckunki Feb 16, 2026
ebd682f
Fixed unit tests
ckunki Feb 16, 2026
7bd6c0c
nox -s format:fix
ckunki Feb 16, 2026
5ce143a
Removed local test case
ckunki Feb 16, 2026
163838b
Removed unused import
ckunki Feb 16, 2026
1eaa7ff
Cleaned up log messages and unit test
ckunki Feb 16, 2026
514a882
nox -s format:fix
ckunki Feb 17, 2026
9a391f6
Refactored error messages and unit tests
ckunki Feb 17, 2026
a663b62
nox -s format:fix
ckunki Feb 17, 2026
8ff9f55
Removed output
ckunki Feb 17, 2026
66c4ed3
Renamed integration test files
ckunki Feb 18, 2026
8881bff
replaced json parsing by access to response.parsed
ckunki Feb 18, 2026
ae8b220
nox -s format:fix
ckunki Feb 18, 2026
2b72eb9
fixed type errors
ckunki Feb 18, 2026
13e3e43
Fixed unit tests
ckunki Feb 18, 2026
ec64947
nox -s format:fix
ckunki Feb 18, 2026
5406aae
Replace ApiRunner by separate mocks
ckunki Feb 19, 2026
45f536d
Used common function for reporting ApiErrors
ckunki Feb 19, 2026
12ab69a
Merge branch 'main' into refactoring/120-Update_openapi-python-client
ckunki Feb 20, 2026
3c3bc06
Fixed TypeError
ckunki Feb 23, 2026
5ee8180
Fixed type error
ckunki Feb 23, 2026
baa5530
Merge branch 'main' into refactoring/120-Update_openapi-python-client
ckunki Feb 23, 2026
70109cb
Added unit tests for ensure_type()
ckunki Feb 23, 2026
ed7320d
nox -s format:fix
ckunki Feb 23, 2026
ec5cfca
Fixed unit test
ckunki Feb 23, 2026
81e5ae5
Refactored type handling in ensure_type
ckunki Feb 23, 2026
2020a8d
Fixed type errors
ckunki Feb 23, 2026
47d5aa6
Re-Added type[T]
ckunki Feb 23, 2026
1314bad
Updated pyexasol
ckunki Feb 23, 2026
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
13 changes: 8 additions & 5 deletions .github/workflows/build-and-publish.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,21 +4,24 @@ on:
workflow_call:
Copy link
Collaborator Author

@ckunki ckunki Feb 16, 2026

Choose a reason for hiding this comment

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

The workflows are mainly generated by PTB, but updated in a few places, which are commented.

Manual updated were required mainly for

  • Add secrets for accessing SaaS instances
  • Re- integrate the slow tests, which were marked with pytest.mark.slow before

secrets:
PYPI_TOKEN:
required: true
required: true

jobs:

cd-job:
name: Continuous Delivery
runs-on: ubuntu-24.04
runs-on: "ubuntu-24.04"
permissions:
contents: write
steps:
- name: SCM Checkout
uses: actions/checkout@v4
uses: actions/checkout@v6

- name: Setup Python & Poetry Environment
uses: exasol/python-toolbox/.github/actions/python-environment@1.6.0
uses: exasol/python-toolbox/.github/actions/python-environment@v5
with:
python-version: "3.10"
poetry-version: "2.3.0"

- name: Build Artifacts
run: poetry build
Expand All @@ -32,7 +35,7 @@ jobs:
- name: GitHub Release
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: >
run: >-
gh release create ${GITHUB_REF_NAME}
--title ${GITHUB_REF_NAME}
--notes-file ./doc/changes/changes_${GITHUB_REF_NAME}.md
Expand Down
7 changes: 5 additions & 2 deletions .github/workflows/cd.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ on:
push:
tags:
- '**'
- '!v*'

jobs:

Expand All @@ -14,6 +15,8 @@ jobs:
contents: read

cd-job:
needs:
- check-tag-version-job
name: Continuous Delivery
uses: ./.github/workflows/build-and-publish.yml
permissions:
Expand All @@ -22,11 +25,11 @@ jobs:
PYPI_TOKEN: ${{ secrets.PYPI_TOKEN }}

publish-docs:
needs: [ cd-job ]
needs:
- cd-job
name: Publish Documentation
uses: ./.github/workflows/gh-pages.yml
permissions:
contents: read
pages: write
id-token: write

7 changes: 4 additions & 3 deletions .github/workflows/check-api-outdated.yml
Original file line number Diff line number Diff line change
Expand Up @@ -26,12 +26,13 @@ jobs:

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

- name: Setup Python & Poetry Environment
uses: exasol/python-toolbox/.github/actions/python-environment@1.5.0
uses: exasol/python-toolbox/.github/actions/python-environment@v5
with:
python-version: "3.10"
poetry-version: "2.3.0"

- name: Run Nox Task api:check-outdated
run: poetry run -- nox -s api:check-outdated
Expand All @@ -50,7 +51,7 @@ jobs:

- name: Upload openapi.json
if: ${{ failure() }}
uses: actions/upload-artifact@v4
uses: actions/upload-artifact@v6
with:
name: openapi.json
path: openapi.json
9 changes: 6 additions & 3 deletions .github/workflows/check-release-tag.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,15 +7,18 @@ 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@v4
uses: actions/checkout@v6

- name: Setup Python & Poetry Environment
uses: exasol/python-toolbox/.github/actions/python-environment@1.6.0
uses: exasol/python-toolbox/.github/actions/python-environment@v5
with:
python-version: "3.10"
poetry-version: "2.3.0"

- name: Check Tag Version
# make sure the pushed/created tag matched the project version
Expand Down
158 changes: 100 additions & 58 deletions .github/workflows/checks.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,169 +6,211 @@ on:
jobs:
Version-Check:
name: Version
runs-on: ubuntu-24.04
runs-on: "ubuntu-24.04"
permissions:
contents: read
steps:
- name: SCM Checkout
uses: actions/checkout@v4
uses: actions/checkout@v6
with:
fetch-depth: 0

- name: Setup Python & Poetry Environment
uses: exasol/python-toolbox/.github/actions/python-environment@1.6.0
uses: exasol/python-toolbox/.github/actions/python-environment@v5
with:
python-version: "3.10"
poetry-version: "2.3.0"

- name: Check Version(s)
run: poetry run -- nox -s version:check

Documentation:
name: Docs
needs: [ Version-Check ]
runs-on: ubuntu-24.04
runs-on: "ubuntu-24.04"
permissions:
contents: read
steps:
- name: SCM Checkout
uses: actions/checkout@v4
uses: actions/checkout@v6

- name: Setup Python & Poetry Environment
uses: exasol/python-toolbox/.github/actions/python-environment@1.6.0
uses: exasol/python-toolbox/.github/actions/python-environment@v5
with:
python-version: "3.10"
poetry-version: "2.3.0"

- name: Build Documentation
run: |
poetry run -- nox -s docs:build
run: poetry run -- nox -s docs:build

- name: Link Check
run: |
poetry run -- nox -s links:check

build-matrix:
name: Generate Build Matrix
uses: ./.github/workflows/matrix-python.yml
permissions:
contents: read
run: poetry run -- nox -s links:check

Changelog:
name: Changelog Update Check
runs-on: ubuntu-24.04
runs-on: "ubuntu-24.04"
permissions:
contents: read
if: ${{ github.ref != 'refs/heads/main' && github.ref != 'refs/heads/master' }}
steps:
- name: SCM Checkout
uses: actions/checkout@v4
uses: actions/checkout@v6

- name: Setup Python & Poetry Environment
uses: exasol/python-toolbox/.github/actions/python-environment@1.6.0
uses: exasol/python-toolbox/.github/actions/python-environment@v5
with:
python-version: "3.10"
poetry-version: "2.3.0"

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

Lint:
name: Linting (Python-${{ matrix.python-version }})
needs: [ Version-Check, build-matrix ]
runs-on: ubuntu-24.04
name: Linting (Python-${{ matrix.python-versions }})
runs-on: "ubuntu-24.04"
permissions:
contents: read
strategy:
fail-fast: false
matrix: ${{ fromJson(needs.build-matrix.outputs.matrix) }}
matrix:
python-versions: ["3.10", "3.11", "3.12", "3.13"]
steps:
- name: SCM Checkout
uses: actions/checkout@v4
uses: actions/checkout@v6

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

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

- name: Upload Artifacts
uses: actions/upload-artifact@v4.6.2
uses: actions/upload-artifact@v6
with:
name: lint-python${{ matrix.python-version }}
name: lint-python${{ matrix.python-versions }}
path: |
.lint.txt
.lint.json
include-hidden-files: true

Type-Check:
name: Type Checking (Python-${{ matrix.python-version }})
needs: [ Version-Check, build-matrix ]
runs-on: ubuntu-24.04
name: Type Checking (Python-${{ matrix.python-versions }})
runs-on: "ubuntu-24.04"
permissions:
contents: read
strategy:
fail-fast: false
matrix: ${{ fromJson(needs.build-matrix.outputs.matrix) }}
matrix:
python-versions: ["3.10", "3.11", "3.12", "3.13"]

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

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

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

Security:
name: Security Checks (Python-${{ matrix.python-version }})
needs: [ Version-Check, build-matrix ]
runs-on: ubuntu-24.04
name: Security Checks (Python-${{ matrix.python-versions }})
runs-on: "ubuntu-24.04"
permissions:
contents: read
strategy:
fail-fast: false
matrix: ${{ fromJson(needs.build-matrix.outputs.matrix) }}
matrix:
python-versions: ["3.10", "3.11", "3.12", "3.13"]

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

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

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

- name: Upload Artifacts
uses: actions/upload-artifact@v4.6.2
uses: actions/upload-artifact@v6
with:
name: security-python${{ matrix.python-version }}
name: security-python${{ matrix.python-versions }}
path: .security.json
include-hidden-files: true

Format:
name: Format Check
runs-on: ubuntu-24.04
runs-on: "ubuntu-24.04"
permissions:
contents: read
steps:
- name: SCM Checkout
uses: actions/checkout@v4
uses: actions/checkout@v6

- name: Setup Python & Poetry Environment
uses: exasol/python-toolbox/.github/actions/python-environment@1.6.0
uses: exasol/python-toolbox/.github/actions/python-environment@v5
with:
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
runs-on: "ubuntu-24.04"
permissions:
contents: read
steps:
- name: SCM Checkout
uses: actions/checkout@v6

- name: Setup Python & Poetry Environment
uses: exasol/python-toolbox/.github/actions/python-environment@v5
with:
python-version: "3.10"
poetry-version: "2.3.0"

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

Tests:
name: Tests (Python-${{ matrix.python-version }})
needs: [ Documentation, Lint, Type-Check, Security, Format, build-matrix ]
strategy:
fail-fast: false
matrix: ${{ fromJson(needs.build-matrix.outputs.matrix) }}
uses: ./.github/workflows/run-tests.yml
secrets: inherit
name: Unit-Tests (Python-${{ matrix.python-versions }})
runs-on: "ubuntu-24.04"
permissions:
contents: read
with:
python-version: ${{ matrix.python-version }}
strategy:
fail-fast: false
matrix:
python-versions: ["3.10", "3.11", "3.12", "3.13"]

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

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

- name: Run Tests and Collect Coverage
run: poetry run -- nox -s test:unit -- --coverage

- name: Upload Artifacts
uses: actions/upload-artifact@v6
with:
name: coverage-python${{ matrix.python-versions }}-fast
path: .coverage
include-hidden-files: true
Loading