From 1ac28928cc2e64a95a271abd187d1ff7fe507daf Mon Sep 17 00:00:00 2001 From: Ariel Schulz Date: Fri, 31 Oct 2025 11:10:27 +0100 Subject: [PATCH 1/5] Fix `python-environment` to use working-directory for setup of cache variables --- .github/actions/python-environment/action.yml | 3 ++- doc/changes/unreleased.md | 1 + 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/actions/python-environment/action.yml b/.github/actions/python-environment/action.yml index b8a5db9ed..621c2c50d 100644 --- a/.github/actions/python-environment/action.yml +++ b/.github/actions/python-environment/action.yml @@ -52,6 +52,7 @@ runs: - name: Setup cache variables id: setup-cache-variables + working-directory: ${{ inputs.working-directory }} shell: bash run: | echo "ImageOS=$ImageOS" @@ -62,7 +63,7 @@ runs: echo "IMAGE_OS=$ImageOS" >> $GITHUB_OUTPUT echo "IMAGE_VERSION=$ImageVersion" >> $GITHUB_OUTPUT echo "POETRY_SHA=$POETRY_SHA" >> $GITHUB_OUTPUT - + - name: Cache Poetry environment if: inputs.use-cache == 'true' diff --git a/doc/changes/unreleased.md b/doc/changes/unreleased.md index 154da4af5..d7b5b564e 100644 --- a/doc/changes/unreleased.md +++ b/doc/changes/unreleased.md @@ -7,6 +7,7 @@ This releases fixes Nox session `release:prepare` for multi-project repositories ## Bugfixes * #580: Fixed Nox session `release:prepare` for multi-project repositories +* #586: Fixed `python-environment` GitHub action to use working-directory for setup of cache variables ## Features From 562cc955ede8a2e07f469f00459a3b881fecb864 Mon Sep 17 00:00:00 2001 From: Ariel Schulz Date: Fri, 31 Oct 2025 11:16:35 +0100 Subject: [PATCH 2/5] Add SHA of `pyproject.toml` to determine cache key in `python-environment` GitHub action --- .github/actions/python-environment/action.yml | 12 +++++++----- doc/changes/unreleased.md | 1 + 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/.github/actions/python-environment/action.yml b/.github/actions/python-environment/action.yml index 621c2c50d..99173b7d5 100644 --- a/.github/actions/python-environment/action.yml +++ b/.github/actions/python-environment/action.yml @@ -58,12 +58,14 @@ runs: echo "ImageOS=$ImageOS" echo "ImageVersion=$ImageVersion" POETRY_ENV_PATH=$(poetry config virtualenvs.path) - POETRY_SHA=$(sha256sum poetry.lock | awk '{print $1}') #Remove trailing filename - echo "POETRY_ENV_PATH=$POETRY_ENV_PATH" >> $GITHUB_OUTPUT + POETRY_LOCK_SHA=$(sha256sum poetry.lock | awk '{print $1}') #Remove trailing filename + PYPROJECT_SHA=$(sha256sum pyproject.toml | awk '{print $1}') #Remove trailing filename + # output to GITHUB_OUTPUT echo "IMAGE_OS=$ImageOS" >> $GITHUB_OUTPUT echo "IMAGE_VERSION=$ImageVersion" >> $GITHUB_OUTPUT - echo "POETRY_SHA=$POETRY_SHA" >> $GITHUB_OUTPUT - + echo "POETRY_ENV_PATH=$POETRY_ENV_PATH" >> $GITHUB_OUTPUT + echo "POETRY_LOCK_SHA=$POETRY_LOCK_SHA" >> $GITHUB_OUTPUT + echo "PYPROJECT_SHA=$PYPROJECT_SHA" >> $GITHUB_OUTPUT - name: Cache Poetry environment if: inputs.use-cache == 'true' @@ -71,7 +73,7 @@ runs: uses: actions/cache@v4 with: path: ${{ steps.setup-cache-variables.outputs.POETRY_ENV_PATH }} - key: poetry-env-${{ steps.setup-cache-variables.outputs.POETRY_SHA }}-${{ steps.setup-cache-variables.outputs.IMAGE_OS }}-${{ steps.setup-cache-variables.outputs.IMAGE_VERSION }}-${{ runner.arch }}-${{ inputs.poetry-version }}-${{ inputs.python-version }}-${{ inputs.extras }} + key: poetry-env-${{ steps.setup-cache-variables.outputs.POETRY_LOCK_SHA }}-${{ steps.setup-cache-variables.outputs.PYPROJECT_SHA }}-${{ steps.setup-cache-variables.outputs.IMAGE_OS }}-${{ steps.setup-cache-variables.outputs.IMAGE_VERSION }}-${{ runner.arch }}-${{ inputs.poetry-version }}-${{ inputs.python-version }}-${{ inputs.extras }} - name: Poetry install with extras working-directory: ${{ inputs.working-directory }} diff --git a/doc/changes/unreleased.md b/doc/changes/unreleased.md index d7b5b564e..3531bb9a1 100644 --- a/doc/changes/unreleased.md +++ b/doc/changes/unreleased.md @@ -8,6 +8,7 @@ This releases fixes Nox session `release:prepare` for multi-project repositories * #580: Fixed Nox session `release:prepare` for multi-project repositories * #586: Fixed `python-environment` GitHub action to use working-directory for setup of cache variables +* #559: Added SHA of `pyproject.toml` to determine cache key in `python-environment` GitHub action ## Features From 28bcb21a071248812a700affc31fd3b2f4aa5ccb Mon Sep 17 00:00:00 2001 From: Ariel Schulz Date: Fri, 31 Oct 2025 11:33:30 +0100 Subject: [PATCH 3/5] Prepare release 1.13.0 --- .github/actions/security-issues/action.yml | 2 +- doc/changes/changelog.md | 2 ++ doc/changes/changes_1.13.0.md | 17 +++++++++++++++++ doc/changes/unreleased.md | 15 --------------- exasol/toolbox/version.py | 2 +- pyproject.toml | 2 +- 6 files changed, 22 insertions(+), 18 deletions(-) create mode 100644 doc/changes/changes_1.13.0.md diff --git a/.github/actions/security-issues/action.yml b/.github/actions/security-issues/action.yml index a4388bd07..10a591e59 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==1.12.0 + pip install exasol-toolbox==1.13.0 - name: Create Security Issue Report shell: bash diff --git a/doc/changes/changelog.md b/doc/changes/changelog.md index b4332a83a..eeeda92ee 100644 --- a/doc/changes/changelog.md +++ b/doc/changes/changelog.md @@ -1,6 +1,7 @@ # Changelog * [unreleased](unreleased.md) +* [1.13.0](changes_1.13.0.md) * [1.12.0](changes_1.12.0.md) * [1.11.0](changes_1.11.0.md) * [1.10.0](changes_1.10.0.md) @@ -49,6 +50,7 @@ hidden: --- unreleased +changes_1.13.0 changes_1.12.0 changes_1.11.0 changes_1.10.0 diff --git a/doc/changes/changes_1.13.0.md b/doc/changes/changes_1.13.0.md new file mode 100644 index 000000000..b09ac9d4a --- /dev/null +++ b/doc/changes/changes_1.13.0.md @@ -0,0 +1,17 @@ +# 1.13.0 - 2025-10-31 + +## Summary + +This releases fixes Nox session `release:prepare` for multi-project repositories and +fixes the `python-environment` GitHub action to also use the `working-directory` +and `pyproject.toml` setting the cache variables. + +## Bugfixes + +* #580: Fixed Nox session `release:prepare` for multi-project repositories +* #586: Fixed `python-environment` GitHub action to use `working-directory` for setup of cache variables +* #559: Added SHA of `pyproject.toml` to determine cache key in `python-environment` GitHub action + +## Features + +* #485: Improved nox task `release:trigger` diff --git a/doc/changes/unreleased.md b/doc/changes/unreleased.md index 3531bb9a1..e69de29bb 100644 --- a/doc/changes/unreleased.md +++ b/doc/changes/unreleased.md @@ -1,15 +0,0 @@ -# Unreleased - -## Summary - -This releases fixes Nox session `release:prepare` for multi-project repositories. - -## Bugfixes - -* #580: Fixed Nox session `release:prepare` for multi-project repositories -* #586: Fixed `python-environment` GitHub action to use working-directory for setup of cache variables -* #559: Added SHA of `pyproject.toml` to determine cache key in `python-environment` GitHub action - -## Features - -* #485: Improved nox task `release:trigger` diff --git a/exasol/toolbox/version.py b/exasol/toolbox/version.py index 8842ebe86..fa812ffd3 100644 --- a/exasol/toolbox/version.py +++ b/exasol/toolbox/version.py @@ -9,7 +9,7 @@ """ MAJOR = 1 -MINOR = 12 +MINOR = 13 PATCH = 0 VERSION = f"{MAJOR}.{MINOR}.{PATCH}" __version__ = VERSION diff --git a/pyproject.toml b/pyproject.toml index c8ef4cad8..de4c6a1ca 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "exasol-toolbox" -version = "1.12.0" +version = "1.13.0" requires-python = ">=3.9.2,<4.0" description = "Your one-stop solution for managing all standard tasks and core workflows of your Python project." authors = [ From 778a89d0d249b152bb56dfa7ec2805bc8eb62d65 Mon Sep 17 00:00:00 2001 From: Ariel Schulz Date: Fri, 31 Oct 2025 12:52:07 +0100 Subject: [PATCH 4/5] Combine SHA for lock and pyproject.toml to simplify logic --- .github/actions/python-environment/action.yml | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/.github/actions/python-environment/action.yml b/.github/actions/python-environment/action.yml index 99173b7d5..934ee1976 100644 --- a/.github/actions/python-environment/action.yml +++ b/.github/actions/python-environment/action.yml @@ -58,14 +58,12 @@ runs: echo "ImageOS=$ImageOS" echo "ImageVersion=$ImageVersion" POETRY_ENV_PATH=$(poetry config virtualenvs.path) - POETRY_LOCK_SHA=$(sha256sum poetry.lock | awk '{print $1}') #Remove trailing filename - PYPROJECT_SHA=$(sha256sum pyproject.toml | awk '{print $1}') #Remove trailing filename + POETRY_SHA=$(cat pyproject.toml poetry.lock | sha256sum | cut -f 1 -d " ") #Remove trailing dash # output to GITHUB_OUTPUT echo "IMAGE_OS=$ImageOS" >> $GITHUB_OUTPUT echo "IMAGE_VERSION=$ImageVersion" >> $GITHUB_OUTPUT echo "POETRY_ENV_PATH=$POETRY_ENV_PATH" >> $GITHUB_OUTPUT - echo "POETRY_LOCK_SHA=$POETRY_LOCK_SHA" >> $GITHUB_OUTPUT - echo "PYPROJECT_SHA=$PYPROJECT_SHA" >> $GITHUB_OUTPUT + echo "POETRY_SHA=$POETRY_SHA" >> $GITHUB_OUTPUT - name: Cache Poetry environment if: inputs.use-cache == 'true' @@ -73,7 +71,7 @@ runs: uses: actions/cache@v4 with: path: ${{ steps.setup-cache-variables.outputs.POETRY_ENV_PATH }} - key: poetry-env-${{ steps.setup-cache-variables.outputs.POETRY_LOCK_SHA }}-${{ steps.setup-cache-variables.outputs.PYPROJECT_SHA }}-${{ steps.setup-cache-variables.outputs.IMAGE_OS }}-${{ steps.setup-cache-variables.outputs.IMAGE_VERSION }}-${{ runner.arch }}-${{ inputs.poetry-version }}-${{ inputs.python-version }}-${{ inputs.extras }} + key: poetry-env-${{ steps.setup-cache-variables.outputs.POETRY_SHA }}-${{ steps.setup-cache-variables.outputs.IMAGE_OS }}-${{ steps.setup-cache-variables.outputs.IMAGE_VERSION }}-${{ runner.arch }}-${{ inputs.poetry-version }}-${{ inputs.python-version }}-${{ inputs.extras }} - name: Poetry install with extras working-directory: ${{ inputs.working-directory }} From 2c19bf15b59dd33cd0066e658aeaca478a9c782f Mon Sep 17 00:00:00 2001 From: Ariel Schulz Date: Fri, 31 Oct 2025 13:08:55 +0100 Subject: [PATCH 5/5] Fix unreleased.md as had incorrectly fixed --- doc/changes/unreleased.md | 1 + 1 file changed, 1 insertion(+) diff --git a/doc/changes/unreleased.md b/doc/changes/unreleased.md index e69de29bb..79e701b84 100644 --- a/doc/changes/unreleased.md +++ b/doc/changes/unreleased.md @@ -0,0 +1 @@ +# Unreleased