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
6 changes: 2 additions & 4 deletions .github/workflows/build-and-publish.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,16 +10,14 @@ jobs:

cd-job:
name: Continuous Delivery
runs-on: ubuntu-latest
runs-on: ubuntu-24.04
steps:

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

- name: Setup Python & Poetry Environment
uses: exasol/python-toolbox/.github/actions/[email protected]
with:
poetry-version: 2.0.1
uses: exasol/python-toolbox/.github/actions/[email protected]

- name: Build Artifacts
run: poetry build
Expand Down
6 changes: 2 additions & 4 deletions .github/workflows/check-release-tag.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,16 +7,14 @@ jobs:
check-tag-version-job:

name: Check Tag Version
runs-on: ubuntu-latest
runs-on: ubuntu-24.04

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

- name: Setup Python & Poetry Environment
uses: exasol/python-toolbox/.github/actions/[email protected]
with:
poetry-version: 2.0.1
uses: exasol/python-toolbox/.github/actions/[email protected]

- name: Check Tag Version
# make sure the pushed/created tag matched the project version
Expand Down
66 changes: 35 additions & 31 deletions .github/workflows/checks.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ jobs:

Version-Check:
name: Version
runs-on: ubuntu-latest
runs-on: ubuntu-24.04

steps:
- name: SCM Checkout
Expand All @@ -16,39 +16,50 @@ jobs:
fetch-depth: 0

- name: Setup Python & Poetry Environment
uses: exasol/python-toolbox/.github/actions/[email protected]
with:
poetry-version: 2.0.1
uses: exasol/python-toolbox/.github/actions/[email protected]

- name: Check Version(s)
run: poetry run version-check exasol/developer_documentation/version.py

Documentation:
name: Docs
needs: [ Version-Check ]
runs-on: ubuntu-latest
runs-on: ubuntu-24.04

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

- name: Setup Python & Poetry Environment
uses: exasol/python-toolbox/.github/actions/[email protected]
with:
poetry-version: 2.0.1
uses: exasol/python-toolbox/.github/actions/[email protected]

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

build-matrix:
name: Generate Build Matrix
uses: ./.github/workflows/matrix-python.yml

Changelog:
name: Changelog Update Check
runs-on: ubuntu-24.04
if: ${{ github.ref != 'refs/heads/main' && github.ref != 'refs/heads/master' }}

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

- name: Setup Python & Poetry Environment
uses: exasol/python-toolbox/.github/actions/[email protected]

- 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-latest
runs-on: ubuntu-24.04
strategy:
fail-fast: false
matrix: ${{ fromJson(needs.build-matrix.outputs.matrix) }}
Expand All @@ -58,13 +69,12 @@ jobs:
uses: actions/checkout@v4

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

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

- name: Upload Artifacts
uses: actions/[email protected]
Expand All @@ -78,7 +88,7 @@ jobs:
Type-Check:
name: Type Checking (Python-${{ matrix.python-version }})
needs: [ Version-Check, build-matrix ]
runs-on: ubuntu-latest
runs-on: ubuntu-24.04
strategy:
fail-fast: false
matrix: ${{ fromJson(needs.build-matrix.outputs.matrix) }}
Expand All @@ -88,18 +98,17 @@ jobs:
uses: actions/checkout@v4

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

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

Security:
name: Security Checks (Python-${{ matrix.python-version }})
needs: [ Version-Check, build-matrix ]
runs-on: ubuntu-latest
runs-on: ubuntu-24.04
strategy:
fail-fast: false
matrix: ${{ fromJson(needs.build-matrix.outputs.matrix) }}
Expand All @@ -109,13 +118,12 @@ jobs:
uses: actions/checkout@v4

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

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

- name: Upload Artifacts
uses: actions/[email protected]
Expand All @@ -126,25 +134,22 @@ jobs:

Format:
name: Format Check
runs-on: ubuntu-latest
runs-on: ubuntu-24.04

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

- name: Setup Python & Poetry Environment
uses: exasol/python-toolbox/.github/actions/[email protected]
with:
python-version: "3.9"
poetry-version: 2.0.1
uses: exasol/python-toolbox/.github/actions/[email protected]

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

Tests:
name: Unit-Tests (Python-${{ matrix.python-version }}, Exasol-${{ matrix.exasol-version}})
needs: [ Documentation, Lint, Type-Check, Security, Format, build-matrix ]
runs-on: ubuntu-latest
runs-on: ubuntu-24.04
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
strategy:
Expand All @@ -156,13 +161,12 @@ jobs:
uses: actions/checkout@v4

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

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

- name: Upload Artifacts
uses: actions/[email protected]
Expand Down
8 changes: 3 additions & 5 deletions .github/workflows/gh-pages.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ on:
jobs:

documentation-job:
runs-on: ubuntu-latest
runs-on: ubuntu-24.04

steps:
- name: SCM Checkout
Expand All @@ -16,13 +16,11 @@ jobs:
fetch-depth: 0

- name: Setup Python & Poetry Environment
uses: exasol/python-toolbox/.github/actions/[email protected]
with:
poetry-version: 2.0.1
uses: exasol/python-toolbox/.github/actions/[email protected]

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

- name: Deploy
uses: JamesIves/[email protected]
Expand Down
10 changes: 4 additions & 6 deletions .github/workflows/matrix-all.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,23 +10,21 @@ on:
jobs:
all_versions:

runs-on: ubuntu-latest
runs-on: ubuntu-24.04

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

- name: Setup Python & Poetry Environment
uses: exasol/python-toolbox/.github/actions/[email protected]
with:
poetry-version: 2.0.1
uses: exasol/python-toolbox/.github/actions/[email protected]

- name: Generate matrix
run: poetry run nox -s matrix:all
run: poetry run -- nox -s matrix:all

- id: set-matrix
run: |
echo "matrix=$(poetry run nox -s matrix:all)" >> $GITHUB_OUTPUT
echo "matrix=$(poetry run -- nox -s matrix:all)" >> $GITHUB_OUTPUT

outputs:
matrix: ${{ steps.set-matrix.outputs.matrix }}
10 changes: 4 additions & 6 deletions .github/workflows/matrix-exasol.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,23 +10,21 @@ on:
jobs:
exasol_versions:

runs-on: ubuntu-latest
runs-on: ubuntu-24.04

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

- name: Setup Python & Poetry Environment
uses: exasol/python-toolbox/.github/actions/[email protected]
with:
poetry-version: 2.0.1
uses: exasol/python-toolbox/.github/actions/[email protected]

- name: Generate matrix
run: poetry run nox -s matrix:exasol
run: poetry run -- nox -s matrix:exasol

- id: set-matrix
run: |
echo "matrix=$(poetry run nox -s matrix:exasol)" >> $GITHUB_OUTPUT
echo "matrix=$(poetry run -- nox -s matrix:exasol)" >> $GITHUB_OUTPUT

outputs:
matrix: ${{ steps.set-matrix.outputs.matrix }}
10 changes: 4 additions & 6 deletions .github/workflows/matrix-python.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,23 +10,21 @@ on:
jobs:
python_versions:

runs-on: ubuntu-latest
runs-on: ubuntu-24.04

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

- name: Setup Python & Poetry Environment
uses: exasol/python-toolbox/.github/actions/[email protected]
with:
poetry-version: 2.0.1
uses: exasol/python-toolbox/.github/actions/[email protected]

- name: Generate matrix
run: poetry run nox -s matrix:python
run: poetry run -- nox -s matrix:python

- id: set-matrix
run: |
echo "matrix=$(poetry run nox -s matrix:python)" >> $GITHUB_OUTPUT
echo "matrix=$(poetry run -- nox -s matrix:python)" >> $GITHUB_OUTPUT

outputs:
matrix: ${{ steps.set-matrix.outputs.matrix }}
2 changes: 1 addition & 1 deletion .github/workflows/merge-gate.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ jobs:
# This job ensures inputs have been executed successfully.
approve-merge:
name: Allow Merge
runs-on: ubuntu-latest
runs-on: ubuntu-24.04
# If you need additional jobs to be part of the merge gate, add them below
needs: [ fast-checks, slow-checks ]

Expand Down
32 changes: 15 additions & 17 deletions .github/workflows/report.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ on:
jobs:

report:
runs-on: ubuntu-latest
runs-on: ubuntu-24.04
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

Expand All @@ -17,9 +17,7 @@ jobs:
fetch-depth: 0

- name: Setup Python & Poetry Environment
uses: exasol/python-toolbox/.github/actions/[email protected]
with:
poetry-version: 2.0.1
uses: exasol/python-toolbox/.github/actions/[email protected]

- name: Download Artifacts
uses: actions/[email protected]
Expand All @@ -29,31 +27,31 @@ jobs:
- name: Copy Artifacts into Root Folder
working-directory: ./artifacts
run: |
poetry run coverage combine --keep coverage-python3.9*/.coverage
poetry run -- coverage combine --keep coverage-python3.9*/.coverage
# Errors during copying are ignored because they are checked in the next step
cp .coverage ../ || true
cp lint-python3.9/.lint.txt ../ || true
cp lint-python3.9/.lint.txt ../ || true
cp lint-python3.9/.lint.json ../ || true
cp security-python3.9/.security.json ../ || true

- name: Validate Artifacts
run: poetry run nox -s artifacts:validate
run: poetry run -- nox -s artifacts:validate

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

- name: Upload Artifacts
uses: actions/[email protected]
with:
name: metrics.json
path: metrics.json

# - name: Generate GitHub Summary
# run: |
# echo -e "# Summary\n" >> $GITHUB_STEP_SUMMARY
# poetry run nox -s project:report -- -- --format markdown >> $GITHUB_STEP_SUMMARY
# poetry run nox -s dependency:licenses >> $GITHUB_STEP_SUMMARY
# echo -e "\n\n# Coverage\n" >> $GITHUB_STEP_SUMMARY
# poetry run coverage report -- --format markdown >> $GITHUB_STEP_SUMMARY
# poetry run tbx security pretty-print >> $GITHUB_STEP_SUMMARY
# poetry run tbx security pretty-print .security.json >> $GITHUB_STEP_SUMMARY
- name: Generate GitHub Summary
run: |
echo -e "# Summary\n" >> $GITHUB_STEP_SUMMARY
poetry run -- nox -s project:report -- --format markdown >> $GITHUB_STEP_SUMMARY
poetry run -- nox -s dependency:licenses >> $GITHUB_STEP_SUMMARY
echo -e "\n\n# Coverage\n" >> $GITHUB_STEP_SUMMARY
poetry run -- coverage report --format markdown >> $GITHUB_STEP_SUMMARY || true
poetry run -- tbx lint pretty-print >> $GITHUB_STEP_SUMMARY
poetry run -- tbx security pretty-print .security.json >> $GITHUB_STEP_SUMMARY
Loading