From c9a324b0510275062cbac8f29170af5d9cf203e0 Mon Sep 17 00:00:00 2001 From: Ariel Schulz Date: Thu, 29 Jan 2026 09:42:18 +0100 Subject: [PATCH 1/9] Remove not required needs --- exasol/toolbox/templates/github/workflows/checks.yml | 6 ------ 1 file changed, 6 deletions(-) diff --git a/exasol/toolbox/templates/github/workflows/checks.yml b/exasol/toolbox/templates/github/workflows/checks.yml index 231ada753..d7df87840 100644 --- a/exasol/toolbox/templates/github/workflows/checks.yml +++ b/exasol/toolbox/templates/github/workflows/checks.yml @@ -26,7 +26,6 @@ jobs: Documentation: name: Docs - needs: [ Version-Check ] runs-on: "(( os_version ))" permissions: contents: read @@ -69,7 +68,6 @@ jobs: Lint: name: Linting (Python-${{ matrix.python-versions }}) - needs: [ Version-Check ] runs-on: "(( os_version ))" permissions: contents: read @@ -101,7 +99,6 @@ jobs: Type-Check: name: Type Checking (Python-${{ matrix.python-versions }}) - needs: [ Version-Check ] runs-on: "(( os_version ))" permissions: contents: read @@ -125,7 +122,6 @@ jobs: Security: name: Security Checks (Python-${{ matrix.python-versions }}) - needs: [ Version-Check ] runs-on: "(( os_version ))" permissions: contents: read @@ -175,7 +171,6 @@ jobs: Build-Packages: name: Build Package Check - needs: [ Documentation, Lint, Type-Check, Security, Format ] runs-on: "(( os_version ))" permissions: contents: read @@ -194,7 +189,6 @@ jobs: Tests: name: Unit-Tests (Python-${{ matrix.python-versions }}) - needs: [ Build-Packages ] runs-on: "(( os_version ))" permissions: contents: read From cf1e57b85bb6ec89caa57ea0a88a43019d304006 Mon Sep 17 00:00:00 2001 From: Ariel Schulz Date: Thu, 29 Jan 2026 09:43:16 +0100 Subject: [PATCH 2/9] Move single liners to be single lines in yaml --- exasol/toolbox/templates/github/workflows/checks.yml | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/exasol/toolbox/templates/github/workflows/checks.yml b/exasol/toolbox/templates/github/workflows/checks.yml index d7df87840..c6e451782 100644 --- a/exasol/toolbox/templates/github/workflows/checks.yml +++ b/exasol/toolbox/templates/github/workflows/checks.yml @@ -40,12 +40,10 @@ jobs: poetry-version: "(( dependency_manager_version ))" - 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 + run: poetry run -- nox -s links:check Changelog: name: Changelog Update Check From c7b676ab1de2d200b0ae5d02918f7057fbd4b320 Mon Sep 17 00:00:00 2001 From: Ariel Schulz Date: Thu, 29 Jan 2026 09:44:23 +0100 Subject: [PATCH 3/9] Add changelog entry --- doc/changes/unreleased.md | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/doc/changes/unreleased.md b/doc/changes/unreleased.md index 11163776b..0cb17d20b 100644 --- a/doc/changes/unreleased.md +++ b/doc/changes/unreleased.md @@ -8,4 +8,8 @@ ## Documentation -* #676: Move GitHub Workflows to be inside features & updated +* #676: Moved GitHub Workflows to be inside features & updated + +## Refactoring + +* #680: Removed `needs` from `checks.yml` From 383edf171fb15cdfc5bc0966d3ffd20c070bfe1c Mon Sep 17 00:00:00 2001 From: Ariel Schulz Date: Thu, 29 Jan 2026 09:45:43 +0100 Subject: [PATCH 4/9] Update PTB workflow with template --- .github/workflows/checks.yml | 12 ++---------- 1 file changed, 2 insertions(+), 10 deletions(-) diff --git a/.github/workflows/checks.yml b/.github/workflows/checks.yml index 37a7c4983..3e9036e7c 100644 --- a/.github/workflows/checks.yml +++ b/.github/workflows/checks.yml @@ -26,7 +26,6 @@ jobs: Documentation: name: Docs - needs: [ Version-Check ] runs-on: "ubuntu-24.04" permissions: contents: read @@ -41,12 +40,10 @@ jobs: 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 + run: poetry run -- nox -s links:check Changelog: name: Changelog Update Check @@ -69,7 +66,6 @@ jobs: Lint: name: Linting (Python-${{ matrix.python-versions }}) - needs: [ Version-Check ] runs-on: "ubuntu-24.04" permissions: contents: read @@ -101,7 +97,6 @@ jobs: Type-Check: name: Type Checking (Python-${{ matrix.python-versions }}) - needs: [ Version-Check ] runs-on: "ubuntu-24.04" permissions: contents: read @@ -125,7 +120,6 @@ jobs: Security: name: Security Checks (Python-${{ matrix.python-versions }}) - needs: [ Version-Check ] runs-on: "ubuntu-24.04" permissions: contents: read @@ -175,7 +169,6 @@ jobs: Build-Packages: name: Build Package Check - needs: [ Documentation, Lint, Type-Check, Security, Format ] runs-on: "ubuntu-24.04" permissions: contents: read @@ -212,7 +205,6 @@ jobs: Tests: name: Unit-Tests (Python-${{ matrix.python-versions }}) - needs: [ Build-Packages, Lint-Imports ] runs-on: "ubuntu-24.04" permissions: contents: read From b4985b34f9fb352e7f267d7e7693a7825ef0f156 Mon Sep 17 00:00:00 2001 From: Ariel Schulz Date: Thu, 29 Jan 2026 09:53:27 +0100 Subject: [PATCH 5/9] Add question mark to step requiring manual approval (when activated) --- exasol/toolbox/templates/github/workflows/merge-gate.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/exasol/toolbox/templates/github/workflows/merge-gate.yml b/exasol/toolbox/templates/github/workflows/merge-gate.yml index bb54e2b94..e1c2174a3 100644 --- a/exasol/toolbox/templates/github/workflows/merge-gate.yml +++ b/exasol/toolbox/templates/github/workflows/merge-gate.yml @@ -12,7 +12,7 @@ jobs: contents: read run-slow-tests: - name: Run Slow Tests + name: Run Slow Tests? runs-on: "(( os_version ))" permissions: contents: read From fcf4f72c01645e42d01382e1daaa401d452da7a4 Mon Sep 17 00:00:00 2001 From: Ariel Schulz Date: Thu, 29 Jan 2026 09:53:52 +0100 Subject: [PATCH 6/9] Update PTB workflow with template --- .github/workflows/merge-gate.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/merge-gate.yml b/.github/workflows/merge-gate.yml index c8caddfd5..dc57b3599 100644 --- a/.github/workflows/merge-gate.yml +++ b/.github/workflows/merge-gate.yml @@ -12,7 +12,7 @@ jobs: contents: read run-slow-tests: - name: Run Slow Tests + name: Run Slow Tests? runs-on: "ubuntu-24.04" permissions: contents: read From c0b398dcf8c2f0dda438ea0bbb89ea1204b4e52a Mon Sep 17 00:00:00 2001 From: Ariel Schulz Date: Thu, 29 Jan 2026 11:19:33 +0100 Subject: [PATCH 7/9] Remove private repo information --- doc/changes/unreleased.md | 1 + doc/user_guide/features/metrics/sonar.rst | 43 ++--------------------- 2 files changed, 3 insertions(+), 41 deletions(-) diff --git a/doc/changes/unreleased.md b/doc/changes/unreleased.md index 0cb17d20b..97f5a67c5 100644 --- a/doc/changes/unreleased.md +++ b/doc/changes/unreleased.md @@ -9,6 +9,7 @@ ## Documentation * #676: Moved GitHub Workflows to be inside features & updated +* #658: Removed configuration of Sonar for private repos ## Refactoring diff --git a/doc/user_guide/features/metrics/sonar.rst b/doc/user_guide/features/metrics/sonar.rst index 91db1cfe5..1843ae08f 100644 --- a/doc/user_guide/features/metrics/sonar.rst +++ b/doc/user_guide/features/metrics/sonar.rst @@ -62,49 +62,10 @@ In the code **Private** GitHub repository ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -.. note:: - As of 2025-07-29, these instructions have not been used. Thus, they should be - scrutinized and refined when they are used to configure a private repository. - -In GitHub -""""""""" -A GitHub Admin will need to: - -#. Add the individual 'PRIVATE_SONAR_TOKEN' to the 'Organization secrets' -#. Activate the `exasonarqubeprchecks App `__ -#. **Post-merge**: update the branch protections to include SonarQube analysis. - - * This should only be done when tests exist for the project, & that the project is - at a state in which enforced code coverage would not be a burden. If you do - not enact branch protections, it is recommended to create an issue to do so later. - -In Sonar -"""""""" -An IT Admin will need to: - -#. Create a project on https://sonar.exasol.com - - * Project key should follow this pattern, e.g. ``com.exasol:python-toolbox`` - - -In the code -""""""""""" -#. Specify in the ``noxconfig.py`` the relative path to the project's source code in ``Config.source`` - .. code-block:: python - - source: Path = Path("exasol/") - -#. Add the following to the project's file ``pyproject.toml`` - .. code-block:: toml - - [tool.sonar] - projectKey = "com.exasol:" - host.url = "https://sonar.exasol.com" - organization = "exasol" - exclusions = "/version.py,//*" +For general configuration, please refer to the team's internal documentation. .. note:: - For more information, see the :ref:`General remarks ` section. + For more general information, see the :ref:`General remarks ` section. .. _Exasol Way: https://sonarcloud.io/organizations/exasol/quality_gates/show/AXxvLH-3BdtLlpiYmZhh .. _Sonar Matching Patterns: https://docs.sonarsource.com/sonarqube-server/project-administration/adjusting-analysis/setting-analysis-scope/defining-matching-patterns From a9f0d5820e0a40d7ca5896a51363eadc8ed40a05 Mon Sep 17 00:00:00 2001 From: Ariel Schulz Date: Thu, 29 Jan 2026 11:45:09 +0100 Subject: [PATCH 8/9] Update based on reviewer comment --- doc/user_guide/features/metrics/sonar.rst | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/doc/user_guide/features/metrics/sonar.rst b/doc/user_guide/features/metrics/sonar.rst index 1843ae08f..78281f0df 100644 --- a/doc/user_guide/features/metrics/sonar.rst +++ b/doc/user_guide/features/metrics/sonar.rst @@ -62,7 +62,8 @@ In the code **Private** GitHub repository ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -For general configuration, please refer to the team's internal documentation. +See the company wiki for details on how to use Exasol's on-prem SonarQube cluster +and the needed steps to configure for a private GitHub repository. .. note:: For more general information, see the :ref:`General remarks ` section. From c45ed2fae1240004dedbeedbc9d1849ac456b0e3 Mon Sep 17 00:00:00 2001 From: Ariel Schulz Date: Thu, 29 Jan 2026 11:46:59 +0100 Subject: [PATCH 9/9] Prepare release 5.1.0 --- .github/actions/security-issues/action.yml | 2 +- doc/changes/changelog.md | 2 ++ doc/changes/changes_5.1.0.md | 21 +++++++++++++++++++++ doc/changes/unreleased.md | 13 ------------- exasol/toolbox/version.py | 2 +- project-template/cookiecutter.json | 2 +- pyproject.toml | 2 +- 7 files changed, 27 insertions(+), 17 deletions(-) create mode 100644 doc/changes/changes_5.1.0.md diff --git a/.github/actions/security-issues/action.yml b/.github/actions/security-issues/action.yml index 42af5f295..bf1778c1b 100644 --- a/.github/actions/security-issues/action.yml +++ b/.github/actions/security-issues/action.yml @@ -39,7 +39,7 @@ runs: - name: Install Python Toolbox / Security tool shell: bash run: | - pip install exasol-toolbox==5.0.0 + pip install exasol-toolbox==5.1.0 - name: Create Security Issue Report shell: bash diff --git a/doc/changes/changelog.md b/doc/changes/changelog.md index 8586564d0..5dae0f868 100644 --- a/doc/changes/changelog.md +++ b/doc/changes/changelog.md @@ -1,6 +1,7 @@ # Changelog * [unreleased](unreleased.md) +* [5.1.0](changes_5.1.0.md) * [5.0.0](changes_5.0.0.md) * [4.0.1](changes_4.0.1.md) * [4.0.0](changes_4.0.0.md) @@ -55,6 +56,7 @@ hidden: --- unreleased +changes_5.1.0 changes_5.0.0 changes_4.0.1 changes_4.0.0 diff --git a/doc/changes/changes_5.1.0.md b/doc/changes/changes_5.1.0.md new file mode 100644 index 000000000..4b1bff16b --- /dev/null +++ b/doc/changes/changes_5.1.0.md @@ -0,0 +1,21 @@ +# 5.1.0 - 2026-01-29 + +## Summary + +## Feature + +* #673: Switched `checks.yml` to get Python versions for matrix from `BaseConfig` + +## Documentation + +* #676: Moved GitHub Workflows to be inside features & updated +* #658: Removed configuration of Sonar for private repos + +## Refactoring + +* #680: Removed `needs` from `checks.yml` + +## Dependency Updates + +### `main` +* Added dependency `sphinxcontrib-mermaid:2.0.0` diff --git a/doc/changes/unreleased.md b/doc/changes/unreleased.md index 97f5a67c5..fb4737052 100644 --- a/doc/changes/unreleased.md +++ b/doc/changes/unreleased.md @@ -1,16 +1,3 @@ # Unreleased ## Summary - -## Feature - -* #673: Switched `checks.yml` to get Python versions for matrix from `BaseConfig` - -## Documentation - -* #676: Moved GitHub Workflows to be inside features & updated -* #658: Removed configuration of Sonar for private repos - -## Refactoring - -* #680: Removed `needs` from `checks.yml` diff --git a/exasol/toolbox/version.py b/exasol/toolbox/version.py index a1392f5a6..5452203e7 100644 --- a/exasol/toolbox/version.py +++ b/exasol/toolbox/version.py @@ -9,7 +9,7 @@ """ MAJOR = 5 -MINOR = 0 +MINOR = 1 PATCH = 0 VERSION = f"{MAJOR}.{MINOR}.{PATCH}" __version__ = VERSION diff --git a/project-template/cookiecutter.json b/project-template/cookiecutter.json index 79925b560..a5f9fdada 100644 --- a/project-template/cookiecutter.json +++ b/project-template/cookiecutter.json @@ -9,7 +9,7 @@ "author_email": "opensource@exasol.com", "project_short_tag": "", "python_version_min": "3.10", - "exasol_toolbox_version_range": ">=5.0.0,<6", + "exasol_toolbox_version_range": ">=5.1.0,<6", "license_year": "{% now 'utc', '%Y' %}", "__repo_name_slug": "{{cookiecutter.package_name}}", "__package_name_slug": "{{cookiecutter.package_name}}", diff --git a/pyproject.toml b/pyproject.toml index dd37f49d3..65d080cc3 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "exasol-toolbox" -version = "5.0.0" +version = "5.1.0" description = "Your one-stop solution for managing all standard tasks and core workflows of your Python project." authors = [ { name = "Nicola Coretti", email = "nicola.coretti@exasol.com" },