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
4 changes: 2 additions & 2 deletions .github/workflows/build-and-publish.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,10 +15,10 @@ jobs:
contents: write
steps:
- name: SCM Checkout
uses: actions/checkout@v4
uses: actions/checkout@v5

- name: Setup Python & Poetry Environment
uses: exasol/python-toolbox/.github/actions/python-environment@1.5.0
uses: exasol/python-toolbox/.github/actions/python-environment@v4

- name: Build Artifacts
run: poetry build
Expand Down
3 changes: 2 additions & 1 deletion .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,7 @@ jobs:
contents: read

cd-job:
needs: [ check-tag-version-job ]
name: Continuous Delivery
uses: ./.github/workflows/build-and-publish.yml
permissions:
Expand All @@ -29,4 +31,3 @@ jobs:
contents: read
pages: write
id-token: write

4 changes: 2 additions & 2 deletions .github/workflows/check-release-tag.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,10 +12,10 @@ jobs:
contents: read
steps:
- name: SCM Checkout
uses: actions/checkout@v4
uses: actions/checkout@v5

- name: Setup Python & Poetry Environment
uses: exasol/python-toolbox/.github/actions/python-environment@1.5.0
uses: exasol/python-toolbox/.github/actions/python-environment@v4

- name: Check Tag Version
# make sure the pushed/created tag matched the project version
Expand Down
64 changes: 41 additions & 23 deletions .github/workflows/checks.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,12 +11,12 @@ jobs:
contents: read
steps:
- name: SCM Checkout
uses: actions/checkout@v4
uses: actions/checkout@v5
with:
fetch-depth: 0

- name: Setup Python & Poetry Environment
uses: exasol/python-toolbox/.github/actions/python-environment@1.5.0
uses: exasol/python-toolbox/.github/actions/python-environment@v4

- name: Check Version(s)
run: poetry run -- nox -s version:check
Expand All @@ -29,15 +29,19 @@ jobs:
contents: read
steps:
- name: SCM Checkout
uses: actions/checkout@v4
uses: actions/checkout@v5

- name: Setup Python & Poetry Environment
uses: exasol/python-toolbox/.github/actions/python-environment@1.5.0
uses: exasol/python-toolbox/.github/actions/python-environment@v4

- name: Build Documentation
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
Expand All @@ -52,10 +56,10 @@ jobs:
if: ${{ github.ref != 'refs/heads/main' && github.ref != 'refs/heads/master' }}
steps:
- name: SCM Checkout
uses: actions/checkout@v4
uses: actions/checkout@v5

- name: Setup Python & Poetry Environment
uses: exasol/python-toolbox/.github/actions/python-environment@1.5.0
uses: exasol/python-toolbox/.github/actions/python-environment@v4

- name: Run changelog update check
run: poetry run -- nox -s changelog:updated
Expand All @@ -71,18 +75,18 @@ jobs:
matrix: ${{ fromJson(needs.build-matrix.outputs.matrix) }}
steps:
- name: SCM Checkout
uses: actions/checkout@v4
uses: actions/checkout@v5

- name: Setup Python & Poetry Environment
uses: exasol/python-toolbox/.github/actions/python-environment@1.5.0
uses: exasol/python-toolbox/.github/actions/python-environment@v4
with:
python-version: ${{ matrix.python-version }}

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

- name: Upload Artifacts
uses: actions/upload-artifact@v4.6.2
uses: actions/upload-artifact@v5
with:
name: lint-python${{ matrix.python-version }}
path: |
Expand All @@ -102,10 +106,10 @@ jobs:

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

- name: Setup Python & Poetry Environment
uses: exasol/python-toolbox/.github/actions/python-environment@1.5.0
uses: exasol/python-toolbox/.github/actions/python-environment@v4
with:
python-version: ${{ matrix.python-version }}

Expand All @@ -124,18 +128,18 @@ jobs:

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

- name: Setup Python & Poetry Environment
uses: exasol/python-toolbox/.github/actions/python-environment@1.5.0
uses: exasol/python-toolbox/.github/actions/python-environment@v4
with:
python-version: ${{ matrix.python-version }}

- 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@v5
with:
name: security-python${{ matrix.python-version }}
path: .security.json
Expand All @@ -148,40 +152,54 @@ jobs:
contents: read
steps:
- name: SCM Checkout
uses: actions/checkout@v4
uses: actions/checkout@v5

- name: Setup Python & Poetry Environment
uses: exasol/python-toolbox/.github/actions/python-environment@1.5.0
uses: exasol/python-toolbox/.github/actions/python-environment@v4

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

Build-Packages:
name: Build Package Check
needs: [ Documentation, Lint, Type-Check, Security, Format ]
runs-on: ubuntu-24.04
permissions:
contents: read
steps:
- name: SCM Checkout
uses: actions/checkout@v5

- name: Setup Python & Poetry Environment
uses: exasol/python-toolbox/.github/actions/python-environment@v4

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

Tests:
name: Unit-Tests (Python-${{ matrix.python-version }})
needs: [ Documentation, Lint, Type-Check, Security, Format, build-matrix ]
needs: [ Build-Packages, build-matrix ]
runs-on: ubuntu-24.04
permissions:
contents: read
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
strategy:
fail-fast: false
matrix: ${{ fromJson(needs.build-matrix.outputs.matrix) }}

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

- name: Setup Python & Poetry Environment
uses: exasol/python-toolbox/.github/actions/python-environment@1.5.0
uses: exasol/python-toolbox/.github/actions/python-environment@v4
with:
python-version: ${{ matrix.python-version }}

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

- name: Upload Artifacts
uses: actions/upload-artifact@v4.6.2
uses: actions/upload-artifact@v5
with:
name: coverage-python${{ matrix.python-version }}-fast
path: .coverage
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/gh-pages.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,12 +12,12 @@ jobs:
contents: read
steps:
- name: SCM Checkout
uses: actions/checkout@v4
uses: actions/checkout@v5
with:
fetch-depth: 0

- name: Setup Python & Poetry Environment
uses: exasol/python-toolbox/.github/actions/python-environment@1.5.0
uses: exasol/python-toolbox/.github/actions/python-environment@v4

- name: Build Documentation
run: |
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/matrix-all.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,10 +14,10 @@ jobs:
contents: read
steps:
- name: SCM Checkout
uses: actions/checkout@v4
uses: actions/checkout@v5

- name: Setup Python & Poetry Environment
uses: exasol/python-toolbox/.github/actions/python-environment@1.5.0
uses: exasol/python-toolbox/.github/actions/python-environment@v4

- name: Generate matrix
run: poetry run -- nox -s matrix:all
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/matrix-python.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,10 +14,10 @@ jobs:
contents: read
steps:
- name: SCM Checkout
uses: actions/checkout@v4
uses: actions/checkout@v5

- name: Setup Python & Poetry Environment
uses: exasol/python-toolbox/.github/actions/python-environment@1.5.0
uses: exasol/python-toolbox/.github/actions/python-environment@v4

- name: Generate matrix
run: poetry run -- nox -s matrix:python
Expand Down
16 changes: 16 additions & 0 deletions .github/workflows/merge-gate.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,9 +11,25 @@ jobs:
permissions:
contents: read

run-slow-tests:
name: Run Slow Tests
runs-on: ubuntu-24.04
permissions:
contents: read

# Even though the environment "manual-approval" will be created automatically,
# it still needs to be configured to require interactive review.
# See project settings on GitHub (Settings / Environments / manual-approval).
environment: manual-approval
steps:
- name: Tests
run: echo "Slow tests approved"

slow-checks:
name: Slow
needs: [ run-slow-tests ]
uses: ./.github/workflows/slow-checks.yml
secrets: inherit
permissions:
contents: read

Expand Down
12 changes: 7 additions & 5 deletions .github/workflows/report.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,15 +14,15 @@ jobs:

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

- name: Setup Python & Poetry Environment
uses: exasol/python-toolbox/.github/actions/python-environment@1.5.0
uses: exasol/python-toolbox/.github/actions/python-environment@v4

- name: Download Artifacts
uses: actions/download-artifact@v4.2.1
uses: actions/download-artifact@v6
with:
path: ./artifacts

Expand All @@ -33,13 +33,15 @@ jobs:
run: poetry run -- nox -s artifacts:validate

- name: Upload to sonar
run: poetry run -- nox -s sonar:check -- ${{ secrets.SONAR_TOKEN }}
env:
SONAR_TOKEN: "${{ secrets.SONAR_TOKEN }}"
run: poetry run -- nox -s sonar:check

- name: Generate Report
run: poetry run -- nox -s project:report -- --format json | tee metrics.json

- name: Upload Artifacts
uses: actions/upload-artifact@v4.6.2
uses: actions/upload-artifact@v5
with:
name: metrics.json
path: metrics.json
Expand Down
15 changes: 5 additions & 10 deletions .github/workflows/slow-checks.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,23 +4,18 @@ on:
workflow_call:

jobs:

build-matrix:
name: Generate Build Matrix
uses: ./.github/workflows/matrix-all.yml
permissions:
contents: read

Tests:
tests:
name: Integration-Tests (Python-${{ matrix.python-version }}, Exasol-${{ matrix.exasol-version}})
needs: [ build-matrix ]
runs-on: ubuntu-24.04
permissions:
contents: read
# Even though the environment "manual-approval" will be created automatically,
# it still needs to be configured to require interactive review.
# See project settings on GitHub (Settings / Environments / manual-approval).
environment: manual-approval
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
strategy:
Expand All @@ -29,19 +24,19 @@ jobs:

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

- name: Setup Python & Poetry Environment
uses: exasol/python-toolbox/.github/actions/python-environment@1.5.0
uses: exasol/python-toolbox/.github/actions/python-environment@v4
with:
python-version: ${{ matrix.python-version }}

- name: Run Tests and Collect Coverage
run: poetry run -- nox -s test:integration -- --coverage --db-version ${{ matrix.exasol-version }}

- name: Upload Artifacts
uses: actions/upload-artifact@v4.6.2
uses: actions/upload-artifact@v5
with:
name: coverage-python${{ matrix.python-version }}-slow
name: coverage-python${{ matrix.python-version }}-exasol${{ matrix.exasol-version }}-slow
path: .coverage
include-hidden-files: true
11 changes: 8 additions & 3 deletions doc/changes/unreleased.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,12 @@
# Unreleased

## Refactoring

* #72: Dropped support for Python 3.9 as EOL was 2025-10, which newer dependencies no longer support

## Internal

* #68 Update to poetry 2.1.2 and exasol-toolbox 1.1.0
* Update transitive dependencies
* #67 Extend unit test to contain test scenarios with different values for the parameter description
* #68: Updated to poetry 2.1.2 and exasol-toolbox 1.1.0
* Updated transitive dependencies
* #67: Extended unit test to contain test scenarios with different values for the parameter description
* #72: Relocked transitive dependencies pip, urllib3, and filelock and updated exasol-toolbox to 4.0.0
2 changes: 1 addition & 1 deletion doc/dependencies.rst
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,6 @@ Dependency Purpose License
`Prysk`_ Testing framework GPL
===================== ========================== ========

.. _Python 3: https://docs.python.org
.. _Python 3: https://docs.python.org/3
.. _Pytest: https://docs.pytest.org/en/stable/
.. _Prysk: https://www.prysk.net
Loading