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: 4 additions & 2 deletions .github/workflows/build-and-publish.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,14 +10,16 @@ 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/python-environment@0.20.0
uses: exasol/python-toolbox/.github/actions/python-environment@1.1.0
with:
poetry-version: '2.1.2'

- name: Build Artifacts
run: poetry build
Expand Down
6 changes: 4 additions & 2 deletions .github/workflows/check-release-tag.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,14 +7,16 @@ 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/python-environment@0.20.0
uses: exasol/python-toolbox/.github/actions/python-environment@1.1.0
with:
poetry-version: '2.1.2'

- name: Check Tag Version
# make sure the pushed/created tag matched the project version
Expand Down
86 changes: 55 additions & 31 deletions .github/workflows/checks.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,15 +2,12 @@ name: Checks

on:
workflow_call:
secrets:
ALTERNATIVE_GITHUB_TOKEN:
required: false

jobs:

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

steps:
- name: SCM Checkout
Expand All @@ -19,36 +16,57 @@ jobs:
fetch-depth: 0

- name: Setup Python & Poetry Environment
uses: exasol/python-toolbox/.github/actions/python-environment@0.20.0
uses: exasol/python-toolbox/.github/actions/python-environment@1.1.0
with:
poetry-version: '2.1.2'

- name: Check Version(s)
run: |
poetry run version-check exasol/error/version.py
poetry run -- version-check exasol/error/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/python-environment@0.20.0
uses: exasol/python-toolbox/.github/actions/python-environment@1.1.0
with:
poetry-version: '2.1.2'

- 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/python-environment@1.1.0
with:
poetry-version: '2.1.2'

- 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,24 +76,27 @@ jobs:
uses: actions/checkout@v4

- name: Setup Python & Poetry Environment
uses: exasol/python-toolbox/.github/actions/python-environment@0.20.0
uses: exasol/python-toolbox/.github/actions/python-environment@1.1.0
with:
python-version: ${{ matrix.python-version }}
poetry-version: '2.1.2'

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

- name: Upload Artifacts
uses: actions/upload-artifact@v4.4.0
uses: actions/upload-artifact@v4.6.2
with:
name: lint-python${{ matrix.python-version }}
path: .lint.txt
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-latest
runs-on: ubuntu-24.04
strategy:
fail-fast: false
matrix: ${{ fromJson(needs.build-matrix.outputs.matrix) }}
Expand All @@ -85,17 +106,18 @@ jobs:
uses: actions/checkout@v4

- name: Setup Python & Poetry Environment
uses: exasol/python-toolbox/.github/actions/python-environment@0.20.0
uses: exasol/python-toolbox/.github/actions/python-environment@1.1.0
with:
python-version: ${{ matrix.python-version }}
poetry-version: '2.1.2'

- 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 @@ -105,42 +127,43 @@ jobs:
uses: actions/checkout@v4

- name: Setup Python & Poetry Environment
uses: exasol/python-toolbox/.github/actions/python-environment@0.20.0
uses: exasol/python-toolbox/.github/actions/python-environment@1.1.0
with:
python-version: ${{ matrix.python-version }}
poetry-version: '2.1.2'

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

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

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/python-environment@0.20.0
uses: exasol/python-toolbox/.github/actions/python-environment@1.1.0
with:
python-version: "3.9"
poetry-version: '2.1.2'

- 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}})
name: Unit-Tests (Python-${{ matrix.python-version }})
needs: [ Documentation, Lint, Type-Check, Security, Format, build-matrix ]
runs-on: ubuntu-latest
runs-on: ubuntu-24.04
env:
GITHUB_TOKEN: ${{ secrets.ALTERNATIVE_GITHUB_TOKEN || secrets.GITHUB_TOKEN }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
strategy:
fail-fast: false
matrix: ${{ fromJson(needs.build-matrix.outputs.matrix) }}
Expand All @@ -150,15 +173,16 @@ jobs:
uses: actions/checkout@v4

- name: Setup Python & Poetry Environment
uses: exasol/python-toolbox/.github/actions/python-environment@0.20.0
uses: exasol/python-toolbox/.github/actions/python-environment@1.1.0
with:
python-version: ${{ matrix.python-version }}
poetry-version: '2.1.2'

- 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/upload-artifact@v4.4.0
uses: actions/upload-artifact@v4.6.2
with:
name: coverage-python${{ matrix.python-version }}-fast
path: .coverage
Expand Down
2 changes: 0 additions & 2 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,6 @@ on:
- "gh-pages/*"
- "main"
- "master"
pull_request:
types: [opened, reopened]
schedule:
# “At 00:00 on every 7th day-of-month from 1 through 31.” (https://crontab.guru)
- cron: "0 0 1/7 * *"
Expand Down
10 changes: 6 additions & 4 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,14 +16,16 @@ jobs:
fetch-depth: 0

- name: Setup Python & Poetry Environment
uses: exasol/python-toolbox/.github/actions/python-environment@0.20.0
uses: exasol/python-toolbox/.github/actions/python-environment@1.1.0
with:
poetry-version: '2.1.2'

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

- name: Deploy
uses: JamesIves/github-pages-deploy-action@v4.6.0
uses: JamesIves/github-pages-deploy-action@v4.7.3
with:
branch: gh-pages
folder: .html-documentation
Expand Down
10 changes: 6 additions & 4 deletions .github/workflows/matrix-all.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,21 +10,23 @@ 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/python-environment@0.20.0
uses: exasol/python-toolbox/.github/actions/python-environment@1.1.0
with:
poetry-version: '2.1.2'

- 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 }}
30 changes: 0 additions & 30 deletions .github/workflows/matrix-exasol.yml

This file was deleted.

10 changes: 6 additions & 4 deletions .github/workflows/matrix-python.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,21 +10,23 @@ 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/python-environment@0.20.0
uses: exasol/python-toolbox/.github/actions/python-environment@1.1.0
with:
poetry-version: '2.1.2'

- 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 }}
5 changes: 1 addition & 4 deletions .github/workflows/merge-gate.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,6 @@ name: Merge-Gate

on:
workflow_call:
secrets:
ALTERNATIVE_GITHUB_TOKEN:
required: false

jobs:

Expand All @@ -19,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
Loading