From 064ac8843341f407c34c6d202bd98f6939711ee9 Mon Sep 17 00:00:00 2001
From: Nick Larsen <nick.larsen@stackable.tech>
Date: Thu, 5 Dec 2024 15:02:53 +0100
Subject: [PATCH 01/20] ci(pr_test_build_images): Test that the changed product
 sharding works

---
 .github/workflows/pr_test_build_images.yaml | 49 ++++++++++++++++++++-
 airflow/Dockerfile                          |  2 +
 airflow/versions.toml                       |  8 ++++
 zookeeper/stackable/jmx/server.yaml         |  1 +
 zookeeper/versions.toml                     |  4 ++
 5 files changed, 62 insertions(+), 2 deletions(-)
 create mode 100644 airflow/versions.toml
 create mode 100644 zookeeper/versions.toml

diff --git a/.github/workflows/pr_test_build_images.yaml b/.github/workflows/pr_test_build_images.yaml
index 367de3cb5..1c16c9f92 100644
--- a/.github/workflows/pr_test_build_images.yaml
+++ b/.github/workflows/pr_test_build_images.yaml
@@ -9,7 +9,52 @@ on:
     # paths: []
 
 jobs:
-  dummy:
+  # The set of paths for changed files (eg: airflow/Dockerfile, zookeeper/stackable/jmx/server.yaml)
+  # ... limited to the product-paths (eg: airflow, zookeeper) that have a versions.py
+  # Then for each _product_, shard based on product versions that have the "test" indicator
+  generate_matrix:
+    name: Generate Products and Versions Matrix
     runs-on: ubuntu-latest
     steps:
-      - run: echo TODO
+      - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
+      - id: shard
+        shell: bash
+        run: |
+          set -euo pipefail
+          [ -n "$GITHUB_DEBUG" ] && set -x
+
+          PRODUCT_VERSION_PAIRS=$(
+            # shellcheck disable=SC2016
+            git diff --name-only \
+            | cut --delimiter=/ --fields=1 | xargs -I {} find {} -type f -maxdepth 1 -name versions.toml \
+            | xargs -r dirname \
+            | xargs -I {} tomlq --raw-output --arg product "{}" '{$product: .versions | map_values(select(.build_on_pr)) | keys[]}' {}/versions.toml \
+            | jq --slurp --compact-output '.'
+          )
+          echo "product_version_pairs=$PRODUCT_VERSION_PAIRS" | tee -a "$GITHUB_OUTPUT"
+
+    outputs:
+      product_version_pairs: ${{ steps.shard.outputs.product_version_pairs }}
+
+  build:
+    name: Build/Publish ${{ matrix.product_version_pairs.name }}-${{ matrix.product_version_pairs.version }}-${{ matrix.runner.arch }} Image
+    needs: [generate_matrix]
+    permissions:
+      id-token: write
+    runs-on: ${{ matrix.runner.name }}
+    strategy:
+      matrix:
+        runner:
+          - {name: "ubuntu-latest", arch: "amd64"}
+          - {name: "ubicloud-standard-8-arm", arch: "arm64"}
+        # Eg: [{"name":"airflow","version":"2.10.2"},{"name":"airflow","version":"2.9.3"},{"name":"zookeeper","version":"3.9.2"}]
+        product_version_pairs: ${{ fromJson(needs.generate_matrix.outputs.product_version_pairs) }}
+    steps:
+      - name: Checkout Repository
+        uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
+      - env:
+          PRODUCT_NAME: ${{ matrix.product_version_pairs.name }}
+          PRODUCT_VERSION: ${{ matrix.product_version_pairs.version }}
+        run: |
+          echo "PRODUCT_NAME=$PRODUCT_NAME"
+          echo "PRODUCT_VERSION=$PRODUCT_VERSION"
diff --git a/airflow/Dockerfile b/airflow/Dockerfile
index 033d4aa71..2bc5f90bf 100644
--- a/airflow/Dockerfile
+++ b/airflow/Dockerfile
@@ -82,6 +82,8 @@ ARG TINI
 ARG TARGETARCH
 ARG STACKABLE_USER_UID
 
+# Example change
+
 LABEL name="Apache Airflow" \
       maintainer="info@stackable.tech" \
       vendor="Stackable GmbH" \
diff --git a/airflow/versions.toml b/airflow/versions.toml
new file mode 100644
index 000000000..f6554c04a
--- /dev/null
+++ b/airflow/versions.toml
@@ -0,0 +1,8 @@
+[versions."2.9.2"]
+
+[versions."2.9.3"]
+
+[versions."2.10.2"]
+build_on_pr = true
+# This will come later. See: https://github.com/stackabletech/docker-images/issues/770
+# dependencies = { ... }
diff --git a/zookeeper/stackable/jmx/server.yaml b/zookeeper/stackable/jmx/server.yaml
index 7b079bc5d..fdd965e86 100644
--- a/zookeeper/stackable/jmx/server.yaml
+++ b/zookeeper/stackable/jmx/server.yaml
@@ -1,5 +1,6 @@
 ---
 rules:
+  # Example change
   # replicated Zookeeper
   - pattern: "org.apache.ZooKeeperService<name0=ReplicatedServer_id(\\d+)><>(\\w+)"
     name: "zookeeper_$2"
diff --git a/zookeeper/versions.toml b/zookeeper/versions.toml
new file mode 100644
index 000000000..aec98b324
--- /dev/null
+++ b/zookeeper/versions.toml
@@ -0,0 +1,4 @@
+[versions."3.9.2"]
+build_on_pr = true
+# This will come later. See: https://github.com/stackabletech/docker-images/issues/770
+# dependencies = { ... }

From d69c6a2ce87baaa3fc587275600fcde16fe19e09 Mon Sep 17 00:00:00 2001
From: Nick Larsen <nick.larsen@stackable.tech>
Date: Thu, 5 Dec 2024 15:08:32 +0100
Subject: [PATCH 02/20] ci(pr_test_build_images): Bind the step varable

---
 .github/workflows/pr_test_build_images.yaml | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/.github/workflows/pr_test_build_images.yaml b/.github/workflows/pr_test_build_images.yaml
index 1c16c9f92..3a88e9bf8 100644
--- a/.github/workflows/pr_test_build_images.yaml
+++ b/.github/workflows/pr_test_build_images.yaml
@@ -19,6 +19,8 @@ jobs:
       - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
       - id: shard
         shell: bash
+        env:
+          GITHUB_DEBUG: ${{ runner.debug }}
         run: |
           set -euo pipefail
           [ -n "$GITHUB_DEBUG" ] && set -x

From 95f81fe090f632f2ff33eaa14e44d538a9d3c1c6 Mon Sep 17 00:00:00 2001
From: Nick Larsen <nick.larsen@stackable.tech>
Date: Thu, 5 Dec 2024 15:24:38 +0100
Subject: [PATCH 03/20] ci(pr_test_build_images): git diff against base ref

---
 .github/workflows/pr_test_build_images.yaml | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/.github/workflows/pr_test_build_images.yaml b/.github/workflows/pr_test_build_images.yaml
index 3a88e9bf8..34fb94502 100644
--- a/.github/workflows/pr_test_build_images.yaml
+++ b/.github/workflows/pr_test_build_images.yaml
@@ -8,6 +8,10 @@ on:
     # For now, we run on all paths, but if the products could be moved into a subdirectory, we could match on that
     # paths: []
 
+env:
+  GIT_BASE_REF: ${{ github.event.pull_request.base.sha }}
+  GIT_HEAD_REF: ${{ github.event.pull_request.head.sha }}
+
 jobs:
   # The set of paths for changed files (eg: airflow/Dockerfile, zookeeper/stackable/jmx/server.yaml)
   # ... limited to the product-paths (eg: airflow, zookeeper) that have a versions.py
@@ -17,6 +21,8 @@ jobs:
     runs-on: ubuntu-latest
     steps:
       - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
+        with:
+          fetch-depth: 0
       - id: shard
         shell: bash
         env:
@@ -27,7 +33,7 @@ jobs:
 
           PRODUCT_VERSION_PAIRS=$(
             # shellcheck disable=SC2016
-            git diff --name-only \
+            git diff --name-only "${GIT_BASE_REF}..${GIT_HEAD_REF}" \
             | cut --delimiter=/ --fields=1 | xargs -I {} find {} -type f -maxdepth 1 -name versions.toml \
             | xargs -r dirname \
             | xargs -I {} tomlq --raw-output --arg product "{}" '{$product: .versions | map_values(select(.build_on_pr)) | keys[]}' {}/versions.toml \

From 8659ce4d1520cca42a763b881a09b8e7c0617fab Mon Sep 17 00:00:00 2001
From: Nick Larsen <nick.larsen@stackable.tech>
Date: Thu, 5 Dec 2024 15:28:36 +0100
Subject: [PATCH 04/20] ci(pr_test_build_images): Install tomlq

---
 .github/workflows/pr_test_build_images.yaml | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/.github/workflows/pr_test_build_images.yaml b/.github/workflows/pr_test_build_images.yaml
index 34fb94502..e1a729486 100644
--- a/.github/workflows/pr_test_build_images.yaml
+++ b/.github/workflows/pr_test_build_images.yaml
@@ -31,6 +31,9 @@ jobs:
           set -euo pipefail
           [ -n "$GITHUB_DEBUG" ] && set -x
 
+          # Needed for tomlq
+          pip install yq==3.4.3
+
           PRODUCT_VERSION_PAIRS=$(
             # shellcheck disable=SC2016
             git diff --name-only "${GIT_BASE_REF}..${GIT_HEAD_REF}" \

From 9cde3c9e91d053d096dd01bf8f98ac438860907d Mon Sep 17 00:00:00 2001
From: Nick Larsen <nick.larsen@stackable.tech>
Date: Thu, 5 Dec 2024 15:35:18 +0100
Subject: [PATCH 05/20] ci(pr_test_build_images): Fix the tomlq output
 structure

---
 .github/workflows/pr_test_build_images.yaml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/.github/workflows/pr_test_build_images.yaml b/.github/workflows/pr_test_build_images.yaml
index e1a729486..9bf57f681 100644
--- a/.github/workflows/pr_test_build_images.yaml
+++ b/.github/workflows/pr_test_build_images.yaml
@@ -39,7 +39,7 @@ jobs:
             git diff --name-only "${GIT_BASE_REF}..${GIT_HEAD_REF}" \
             | cut --delimiter=/ --fields=1 | xargs -I {} find {} -type f -maxdepth 1 -name versions.toml \
             | xargs -r dirname \
-            | xargs -I {} tomlq --raw-output --arg product "{}" '{$product: .versions | map_values(select(.build_on_pr)) | keys[]}' {}/versions.toml \
+            | xargs -I {} tomlq --raw-output --arg product "{}" '{"name": $product, "version": .versions | map_values(select(.build_on_pr)) | keys[]}' {}/versions.toml \
             | jq --slurp --compact-output '.'
           )
           echo "product_version_pairs=$PRODUCT_VERSION_PAIRS" | tee -a "$GITHUB_OUTPUT"

From c803c25c4356857a7ac8545007819ec1b86a5562 Mon Sep 17 00:00:00 2001
From: Nick Larsen <nick.larsen@stackable.tech>
Date: Thu, 5 Dec 2024 15:41:03 +0100
Subject: [PATCH 06/20] ci(pr_test_build_images): Sort and uniq the products

---
 .github/workflows/pr_test_build_images.yaml | 1 +
 airflow/versions.toml                       | 1 +
 2 files changed, 2 insertions(+)

diff --git a/.github/workflows/pr_test_build_images.yaml b/.github/workflows/pr_test_build_images.yaml
index 9bf57f681..46bd40e79 100644
--- a/.github/workflows/pr_test_build_images.yaml
+++ b/.github/workflows/pr_test_build_images.yaml
@@ -39,6 +39,7 @@ jobs:
             git diff --name-only "${GIT_BASE_REF}..${GIT_HEAD_REF}" \
             | cut --delimiter=/ --fields=1 | xargs -I {} find {} -type f -maxdepth 1 -name versions.toml \
             | xargs -r dirname \
+            | sort | uniq \
             | xargs -I {} tomlq --raw-output --arg product "{}" '{"name": $product, "version": .versions | map_values(select(.build_on_pr)) | keys[]}' {}/versions.toml \
             | jq --slurp --compact-output '.'
           )
diff --git a/airflow/versions.toml b/airflow/versions.toml
index f6554c04a..312e92612 100644
--- a/airflow/versions.toml
+++ b/airflow/versions.toml
@@ -1,6 +1,7 @@
 [versions."2.9.2"]
 
 [versions."2.9.3"]
+build_on_pr = true
 
 [versions."2.10.2"]
 build_on_pr = true

From 6331438c538b53e000f914c775714b8bb019f9ca Mon Sep 17 00:00:00 2001
From: Nick Larsen <nick.larsen@stackable.tech>
Date: Thu, 5 Dec 2024 17:00:23 +0100
Subject: [PATCH 07/20] ci(pr_test_build_images): Fix the trigger pattern for
 release branches

---
 .github/workflows/pr_test_build_images.yaml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/.github/workflows/pr_test_build_images.yaml b/.github/workflows/pr_test_build_images.yaml
index 46bd40e79..e504964de 100644
--- a/.github/workflows/pr_test_build_images.yaml
+++ b/.github/workflows/pr_test_build_images.yaml
@@ -4,7 +4,7 @@ name: Test Build Images
 on:
   workflow_dispatch:
   pull_request:
-    branches: [main, 'release/*']
+    branches: [main, 'release-*']
     # For now, we run on all paths, but if the products could be moved into a subdirectory, we could match on that
     # paths: []
 

From 3f91c2b8b30d1cbfbf7a704e7b84ec646d5701ee Mon Sep 17 00:00:00 2001
From: Nick Larsen <nick.larsen@stackable.tech>
Date: Thu, 5 Dec 2024 17:01:09 +0100
Subject: [PATCH 08/20] ci(pr_test_build_images): Remove workflow_dispatch
 trigger

It makes no sense, since this workflow is optimised for Pull Requests
---
 .github/workflows/pr_test_build_images.yaml | 1 -
 1 file changed, 1 deletion(-)

diff --git a/.github/workflows/pr_test_build_images.yaml b/.github/workflows/pr_test_build_images.yaml
index e504964de..97eccea1b 100644
--- a/.github/workflows/pr_test_build_images.yaml
+++ b/.github/workflows/pr_test_build_images.yaml
@@ -2,7 +2,6 @@
 name: Test Build Images
 
 on:
-  workflow_dispatch:
   pull_request:
     branches: [main, 'release-*']
     # For now, we run on all paths, but if the products could be moved into a subdirectory, we could match on that

From 4a0bd558d39514852b88e47723b19098fdb721f9 Mon Sep 17 00:00:00 2001
From: Nick Larsen <nick.larsen@stackable.tech>
Date: Thu, 5 Dec 2024 22:39:45 +0100
Subject: [PATCH 09/20] ci(pr_test_build_images): Build images and check it is
 tagged correctly

---
 .github/workflows/pr_test_build_images.yaml | 115 ++++++++++++++++++--
 1 file changed, 108 insertions(+), 7 deletions(-)

diff --git a/.github/workflows/pr_test_build_images.yaml b/.github/workflows/pr_test_build_images.yaml
index 97eccea1b..104914934 100644
--- a/.github/workflows/pr_test_build_images.yaml
+++ b/.github/workflows/pr_test_build_images.yaml
@@ -8,10 +8,42 @@ on:
     # paths: []
 
 env:
+  BASE_BRANCH: ${{ github.base_ref }}
   GIT_BASE_REF: ${{ github.event.pull_request.base.sha }}
   GIT_HEAD_REF: ${{ github.event.pull_request.head.sha }}
 
 jobs:
+  # look at the branch that we are merging into:
+  # main               -> 0.0.0-dev
+  # release-XX.X       -> XX.X
+  # release-XX.X.X     -> XX.X.X
+  # release-XX.X-rcY   -> XX.X-rcY
+  # release-XX.X.X-rcY -> XX.X-rcY
+  determine_sdp_version:
+    name: Determine SDP Version
+    runs-on: ubuntu-latest
+    steps:
+      - id: extract_sdp_version
+        shell: bash
+        name: sdp_version
+        run: |
+          set -euo pipefail
+
+          case "$BASE_BRANCH" in
+            main)
+              echo "sdp_version=0.0.0-dev" | tee -a "$GITHUB_OUTPUT"
+              ;;
+            release-*)
+              echo "sdp_version=${BASE_BRANCH#release-}" | tee -a "$GITHUB_OUTPUT"
+              ;;
+            *)
+              >&2 echo "Unexpected branch. Update the workflow branch filter and add a case above"
+              exit 1
+              ;;
+          esac
+    outputs:
+      sdp_version: ${{ steps.extract_sdp_version.outputs.sdp_version }}
+
   # The set of paths for changed files (eg: airflow/Dockerfile, zookeeper/stackable/jmx/server.yaml)
   # ... limited to the product-paths (eg: airflow, zookeeper) that have a versions.py
   # Then for each _product_, shard based on product versions that have the "test" indicator
@@ -22,6 +54,7 @@ jobs:
       - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
         with:
           fetch-depth: 0
+      # todo, move this to stackabletech/actions
       - id: shard
         shell: bash
         env:
@@ -49,7 +82,7 @@ jobs:
 
   build:
     name: Build/Publish ${{ matrix.product_version_pairs.name }}-${{ matrix.product_version_pairs.version }}-${{ matrix.runner.arch }} Image
-    needs: [generate_matrix]
+    needs: [determine_sdp_version, generate_matrix]
     permissions:
       id-token: write
     runs-on: ${{ matrix.runner.name }}
@@ -60,12 +93,80 @@ jobs:
           - {name: "ubicloud-standard-8-arm", arch: "arm64"}
         # Eg: [{"name":"airflow","version":"2.10.2"},{"name":"airflow","version":"2.9.3"},{"name":"zookeeper","version":"3.9.2"}]
         product_version_pairs: ${{ fromJson(needs.generate_matrix.outputs.product_version_pairs) }}
+    env:
+      SDP_VERSION: ${{ needs.determine_sdp_version.outputs.sdp_version }}
+      PRODUCT_NAME: ${{ matrix.product_version_pairs.name }}
+      PRODUCT_VERSION: ${{ matrix.product_version_pairs.version }}
     steps:
       - name: Checkout Repository
         uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
-      - env:
-          PRODUCT_NAME: ${{ matrix.product_version_pairs.name }}
-          PRODUCT_VERSION: ${{ matrix.product_version_pairs.version }}
-        run: |
-          echo "PRODUCT_NAME=$PRODUCT_NAME"
-          echo "PRODUCT_VERSION=$PRODUCT_VERSION"
+
+      - name: Free Disk Space
+        uses: stackabletech/actions/free-disk-space@a3f7587879e9f12e04a29fd26435949aaa4fd59c # 0.2.0
+
+      - name: Build Product Image
+        id: build
+        uses: stackabletech/actions/build-product-image@a3f7587879e9f12e04a29fd26435949aaa4fd59c # 0.2.0
+        with:
+          product-name: ${{ env.PRODUCT_NAME }}
+          product-version: ${{ env.PRODUCT_VERSION }}
+          build-cache-password: ${{ secrets.BUILD_CACHE_NEXUS_PASSWORD }}
+          sdp-version: ${{ env.SDP_VERSION }}+pr${{ github.event.pull_request.number }}
+
+      - run: |
+          docker images
+
+  #     - name: Publish Container Image on docker.stackable.tech
+  #       uses: stackabletech/actions/publish-image@a3f7587879e9f12e04a29fd26435949aaa4fd59c # 0.2.0
+  #       with:
+  #         image-registry-uri: docker.stackable.tech
+  #         image-registry-username: github
+  #         image-registry-password: ${{ secrets.NEXUS_PASSWORD }}
+  #         image-repository: stackable/${{ env.PRODUCT_NAME }}
+  #         image-manifest-tag: ${{ steps.build.outputs.image-manifest-tag }}
+  #         source-image-uri: localhost/${{ env.PRODUCT_NAME }}:${{ steps.build.outputs.image-manifest-tag }}
+
+  #     - name: Publish Container Image on oci.stackable.tech
+  #       uses: stackabletech/actions/publish-image@a3f7587879e9f12e04a29fd26435949aaa4fd59c # 0.2.0
+  #       with:
+  #         image-registry-uri: oci.stackable.tech
+  #         image-registry-username: robot$sdp+github-action-build
+  #         image-registry-password: ${{ secrets.HARBOR_ROBOT_SDP_GITHUB_ACTION_BUILD_SECRET }}
+  #         image-repository: sdp/${{ env.PRODUCT_NAME }}
+  #         image-manifest-tag: ${{ steps.build.outputs.image-manifest-tag }}
+  #         source-image-uri: localhost/${{ env.PRODUCT_NAME }}:${{ steps.build.outputs.image-manifest-tag }}
+
+  # publish_manifests:
+  #   name: Build/Publish ${{ matrix.product_version_pairs.name }}-${{ matrix.product_version_pairs.version }}-${{ matrix.runner.arch }} Manifests
+  #   needs: [determine_sdp_version, generate_matrix, build]
+  #   permissions:
+  #     id-token: write
+  #   runs-on: ubuntu-latest
+  #   strategy:
+  #     matrix:
+  #       product_version_pairs: ${{ fromJson(needs.generate_matrix.outputs.product_version_pairs) }}
+  #   env:
+  #     SDP_VERSION: ${{ needs.determine_sdp_version.outputs.sdp_version }}
+  #     PRODUCT_NAME: ${{ matrix.product_version_pairs.name }}
+  #     PRODUCT_VERSION: ${{ matrix.product_version_pairs.version }}
+  #   steps:
+  #     - name: Checkout Repository
+  #       uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
+
+  #     - name: Publish and Sign Image Index Manifest to docker.stackable.tech
+  #       uses: stackabletech/actions/publish-index-manifest@a3f7587879e9f12e04a29fd26435949aaa4fd59c # 0.2.0
+  #       with:
+  #         image-registry-uri: docker.stackable.tech
+  #         image-registry-username: github
+  #         image-registry-password: ${{ secrets.NEXUS_PASSWORD }}
+  #         image-repository: stackable/${{ env.PRODUCT_NAME }}
+  #         image-index-manifest-tag: ${{ env.PRODUCT_VERSION }}-stackable${{ env.SDP_VERSION }}+pr${{ github.event.pull_request.number }}
+
+  #     - name: Publish and Sign Image Index Manifest to oci.stackable.tech
+  #       uses: stackabletech/actions/publish-index-manifest@a3f7587879e9f12e04a29fd26435949aaa4fd59c # 0.2.0
+  #       with:
+  #         image-registry-uri: oci.stackable.tech
+  #         image-registry-username: robot$sdp+github-action-build
+  #         image-registry-password: ${{ secrets.HARBOR_ROBOT_SDP_GITHUB_ACTION_BUILD_SECRET }}
+  #         image-repository: sdp/${{ env.PRODUCT_NAME }}
+  #         image-index-manifest-tag: ${{ matrix.versions }}-stackable${{ env.SDP_VERSION }}+pr${{ github.event.pull_request.number }}

From 98dce57f25608b91e008f252dfae5a2340057c6b Mon Sep 17 00:00:00 2001
From: Nick Larsen <nick.larsen@stackable.tech>
Date: Thu, 5 Dec 2024 22:43:41 +0100
Subject: [PATCH 10/20] ci(pr_test_build_images): See the image names produced

---
 .github/workflows/pr_test_build_images.yaml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/.github/workflows/pr_test_build_images.yaml b/.github/workflows/pr_test_build_images.yaml
index 104914934..91aa43180 100644
--- a/.github/workflows/pr_test_build_images.yaml
+++ b/.github/workflows/pr_test_build_images.yaml
@@ -111,7 +111,7 @@ jobs:
           product-name: ${{ env.PRODUCT_NAME }}
           product-version: ${{ env.PRODUCT_VERSION }}
           build-cache-password: ${{ secrets.BUILD_CACHE_NEXUS_PASSWORD }}
-          sdp-version: ${{ env.SDP_VERSION }}+pr${{ github.event.pull_request.number }}
+          sdp-version: ${{ env.SDP_VERSION }}
 
       - run: |
           docker images

From 62a9548556cd1e85c77a2db8f8a0846c2fac5f2a Mon Sep 17 00:00:00 2001
From: Nick Larsen <nick.larsen@stackable.tech>
Date: Thu, 5 Dec 2024 23:05:12 +0100
Subject: [PATCH 11/20] ci(pr_test_build_images): Publish images with PR
 biuldinfo in the tag

---
 .github/workflows/pr_test_build_images.yaml | 108 ++++++++++----------
 1 file changed, 54 insertions(+), 54 deletions(-)

diff --git a/.github/workflows/pr_test_build_images.yaml b/.github/workflows/pr_test_build_images.yaml
index 91aa43180..a07b3bdea 100644
--- a/.github/workflows/pr_test_build_images.yaml
+++ b/.github/workflows/pr_test_build_images.yaml
@@ -116,57 +116,57 @@ jobs:
       - run: |
           docker images
 
-  #     - name: Publish Container Image on docker.stackable.tech
-  #       uses: stackabletech/actions/publish-image@a3f7587879e9f12e04a29fd26435949aaa4fd59c # 0.2.0
-  #       with:
-  #         image-registry-uri: docker.stackable.tech
-  #         image-registry-username: github
-  #         image-registry-password: ${{ secrets.NEXUS_PASSWORD }}
-  #         image-repository: stackable/${{ env.PRODUCT_NAME }}
-  #         image-manifest-tag: ${{ steps.build.outputs.image-manifest-tag }}
-  #         source-image-uri: localhost/${{ env.PRODUCT_NAME }}:${{ steps.build.outputs.image-manifest-tag }}
-
-  #     - name: Publish Container Image on oci.stackable.tech
-  #       uses: stackabletech/actions/publish-image@a3f7587879e9f12e04a29fd26435949aaa4fd59c # 0.2.0
-  #       with:
-  #         image-registry-uri: oci.stackable.tech
-  #         image-registry-username: robot$sdp+github-action-build
-  #         image-registry-password: ${{ secrets.HARBOR_ROBOT_SDP_GITHUB_ACTION_BUILD_SECRET }}
-  #         image-repository: sdp/${{ env.PRODUCT_NAME }}
-  #         image-manifest-tag: ${{ steps.build.outputs.image-manifest-tag }}
-  #         source-image-uri: localhost/${{ env.PRODUCT_NAME }}:${{ steps.build.outputs.image-manifest-tag }}
-
-  # publish_manifests:
-  #   name: Build/Publish ${{ matrix.product_version_pairs.name }}-${{ matrix.product_version_pairs.version }}-${{ matrix.runner.arch }} Manifests
-  #   needs: [determine_sdp_version, generate_matrix, build]
-  #   permissions:
-  #     id-token: write
-  #   runs-on: ubuntu-latest
-  #   strategy:
-  #     matrix:
-  #       product_version_pairs: ${{ fromJson(needs.generate_matrix.outputs.product_version_pairs) }}
-  #   env:
-  #     SDP_VERSION: ${{ needs.determine_sdp_version.outputs.sdp_version }}
-  #     PRODUCT_NAME: ${{ matrix.product_version_pairs.name }}
-  #     PRODUCT_VERSION: ${{ matrix.product_version_pairs.version }}
-  #   steps:
-  #     - name: Checkout Repository
-  #       uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
-
-  #     - name: Publish and Sign Image Index Manifest to docker.stackable.tech
-  #       uses: stackabletech/actions/publish-index-manifest@a3f7587879e9f12e04a29fd26435949aaa4fd59c # 0.2.0
-  #       with:
-  #         image-registry-uri: docker.stackable.tech
-  #         image-registry-username: github
-  #         image-registry-password: ${{ secrets.NEXUS_PASSWORD }}
-  #         image-repository: stackable/${{ env.PRODUCT_NAME }}
-  #         image-index-manifest-tag: ${{ env.PRODUCT_VERSION }}-stackable${{ env.SDP_VERSION }}+pr${{ github.event.pull_request.number }}
-
-  #     - name: Publish and Sign Image Index Manifest to oci.stackable.tech
-  #       uses: stackabletech/actions/publish-index-manifest@a3f7587879e9f12e04a29fd26435949aaa4fd59c # 0.2.0
-  #       with:
-  #         image-registry-uri: oci.stackable.tech
-  #         image-registry-username: robot$sdp+github-action-build
-  #         image-registry-password: ${{ secrets.HARBOR_ROBOT_SDP_GITHUB_ACTION_BUILD_SECRET }}
-  #         image-repository: sdp/${{ env.PRODUCT_NAME }}
-  #         image-index-manifest-tag: ${{ matrix.versions }}-stackable${{ env.SDP_VERSION }}+pr${{ github.event.pull_request.number }}
+      - name: Publish Container Image on docker.stackable.tech
+        uses: stackabletech/actions/publish-image@a3f7587879e9f12e04a29fd26435949aaa4fd59c # 0.2.0
+        with:
+          image-registry-uri: docker.stackable.tech
+          image-registry-username: github
+          image-registry-password: ${{ secrets.NEXUS_PASSWORD }}
+          image-repository: stackable/${{ env.PRODUCT_NAME }}
+          image-manifest-tag: ${{ steps.build.outputs.image-manifest-tag }}+pr${{ github.event.pull_request.number }}
+          source-image-uri: localhost/${{ env.PRODUCT_NAME }}:${{ steps.build.outputs.image-manifest-tag }}
+
+      - name: Publish Container Image on oci.stackable.tech
+        uses: stackabletech/actions/publish-image@a3f7587879e9f12e04a29fd26435949aaa4fd59c # 0.2.0
+        with:
+          image-registry-uri: oci.stackable.tech
+          image-registry-username: robot$sdp+github-action-build
+          image-registry-password: ${{ secrets.HARBOR_ROBOT_SDP_GITHUB_ACTION_BUILD_SECRET }}
+          image-repository: sdp/${{ env.PRODUCT_NAME }}
+          image-manifest-tag: ${{ steps.build.outputs.image-manifest-tag }}+pr${{ github.event.pull_request.number }}
+          source-image-uri: localhost/${{ env.PRODUCT_NAME }}:${{ steps.build.outputs.image-manifest-tag }}
+
+  publish_manifests:
+    name: Build/Publish ${{ matrix.product_version_pairs.name }}-${{ matrix.product_version_pairs.version }} Manifests
+    needs: [determine_sdp_version, generate_matrix, build]
+    permissions:
+      id-token: write
+    runs-on: ubuntu-latest
+    strategy:
+      matrix:
+        product_version_pairs: ${{ fromJson(needs.generate_matrix.outputs.product_version_pairs) }}
+    env:
+      SDP_VERSION: ${{ needs.determine_sdp_version.outputs.sdp_version }}
+      PRODUCT_NAME: ${{ matrix.product_version_pairs.name }}
+      PRODUCT_VERSION: ${{ matrix.product_version_pairs.version }}
+    steps:
+      - name: Checkout Repository
+        uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
+
+      - name: Publish and Sign Image Index Manifest to docker.stackable.tech
+        uses: stackabletech/actions/publish-index-manifest@a3f7587879e9f12e04a29fd26435949aaa4fd59c # 0.2.0
+        with:
+          image-registry-uri: docker.stackable.tech
+          image-registry-username: github
+          image-registry-password: ${{ secrets.NEXUS_PASSWORD }}
+          image-repository: stackable/${{ env.PRODUCT_NAME }}
+          image-index-manifest-tag: ${{ env.PRODUCT_VERSION }}-stackable${{ env.SDP_VERSION }}+pr${{ github.event.pull_request.number }}
+
+      - name: Publish and Sign Image Index Manifest to oci.stackable.tech
+        uses: stackabletech/actions/publish-index-manifest@a3f7587879e9f12e04a29fd26435949aaa4fd59c # 0.2.0
+        with:
+          image-registry-uri: oci.stackable.tech
+          image-registry-username: robot$sdp+github-action-build
+          image-registry-password: ${{ secrets.HARBOR_ROBOT_SDP_GITHUB_ACTION_BUILD_SECRET }}
+          image-repository: sdp/${{ env.PRODUCT_NAME }}
+          image-index-manifest-tag: ${{ env.PRODUCT_VERSION }}-stackable${{ env.SDP_VERSION }}+pr${{ github.event.pull_request.number }}

From 05d49bb666d21d89d89916b051299b111e7e5f98 Mon Sep 17 00:00:00 2001
From: Techassi <git@techassi.dev>
Date: Fri, 6 Dec 2024 09:57:12 +0100
Subject: [PATCH 12/20] fix(pr_test_build_images): Use - instead of + for PR
 number

---
 .github/workflows/pr_test_build_images.yaml | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/.github/workflows/pr_test_build_images.yaml b/.github/workflows/pr_test_build_images.yaml
index a07b3bdea..8a70b6c0e 100644
--- a/.github/workflows/pr_test_build_images.yaml
+++ b/.github/workflows/pr_test_build_images.yaml
@@ -123,7 +123,7 @@ jobs:
           image-registry-username: github
           image-registry-password: ${{ secrets.NEXUS_PASSWORD }}
           image-repository: stackable/${{ env.PRODUCT_NAME }}
-          image-manifest-tag: ${{ steps.build.outputs.image-manifest-tag }}+pr${{ github.event.pull_request.number }}
+          image-manifest-tag: ${{ steps.build.outputs.image-manifest-tag }}-pr${{ github.event.pull_request.number }}
           source-image-uri: localhost/${{ env.PRODUCT_NAME }}:${{ steps.build.outputs.image-manifest-tag }}
 
       - name: Publish Container Image on oci.stackable.tech
@@ -133,7 +133,7 @@ jobs:
           image-registry-username: robot$sdp+github-action-build
           image-registry-password: ${{ secrets.HARBOR_ROBOT_SDP_GITHUB_ACTION_BUILD_SECRET }}
           image-repository: sdp/${{ env.PRODUCT_NAME }}
-          image-manifest-tag: ${{ steps.build.outputs.image-manifest-tag }}+pr${{ github.event.pull_request.number }}
+          image-manifest-tag: ${{ steps.build.outputs.image-manifest-tag }}-pr${{ github.event.pull_request.number }}
           source-image-uri: localhost/${{ env.PRODUCT_NAME }}:${{ steps.build.outputs.image-manifest-tag }}
 
   publish_manifests:
@@ -160,7 +160,7 @@ jobs:
           image-registry-username: github
           image-registry-password: ${{ secrets.NEXUS_PASSWORD }}
           image-repository: stackable/${{ env.PRODUCT_NAME }}
-          image-index-manifest-tag: ${{ env.PRODUCT_VERSION }}-stackable${{ env.SDP_VERSION }}+pr${{ github.event.pull_request.number }}
+          image-index-manifest-tag: ${{ env.PRODUCT_VERSION }}-stackable${{ env.SDP_VERSION }}-pr${{ github.event.pull_request.number }}
 
       - name: Publish and Sign Image Index Manifest to oci.stackable.tech
         uses: stackabletech/actions/publish-index-manifest@a3f7587879e9f12e04a29fd26435949aaa4fd59c # 0.2.0
@@ -169,4 +169,4 @@ jobs:
           image-registry-username: robot$sdp+github-action-build
           image-registry-password: ${{ secrets.HARBOR_ROBOT_SDP_GITHUB_ACTION_BUILD_SECRET }}
           image-repository: sdp/${{ env.PRODUCT_NAME }}
-          image-index-manifest-tag: ${{ env.PRODUCT_VERSION }}-stackable${{ env.SDP_VERSION }}+pr${{ github.event.pull_request.number }}
+          image-index-manifest-tag: ${{ env.PRODUCT_VERSION }}-stackable${{ env.SDP_VERSION }}-pr${{ github.event.pull_request.number }}

From 17ca6bfc8514a38c483a8dfce6de90cc1029157f Mon Sep 17 00:00:00 2001
From: Techassi <git@techassi.dev>
Date: Fri, 6 Dec 2024 11:45:22 +0100
Subject: [PATCH 13/20] ci(pr_test_build_images): Add extra tag data to include
 PR number

---
 .github/workflows/pr_test_build_images.yaml | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/.github/workflows/pr_test_build_images.yaml b/.github/workflows/pr_test_build_images.yaml
index 8a70b6c0e..e10d4d901 100644
--- a/.github/workflows/pr_test_build_images.yaml
+++ b/.github/workflows/pr_test_build_images.yaml
@@ -106,12 +106,13 @@ jobs:
 
       - name: Build Product Image
         id: build
-        uses: stackabletech/actions/build-product-image@a3f7587879e9f12e04a29fd26435949aaa4fd59c # 0.2.0
+        uses: stackabletech/actions/build-product-image@af2f00208b2a6175751dd5b4ca704db566e2d4fa # 0.2.0 TODO: Use released version
         with:
           product-name: ${{ env.PRODUCT_NAME }}
           product-version: ${{ env.PRODUCT_VERSION }}
           build-cache-password: ${{ secrets.BUILD_CACHE_NEXUS_PASSWORD }}
           sdp-version: ${{ env.SDP_VERSION }}
+          extra-tag-data: pr${{ github.event.pull_request.number }}
 
       - run: |
           docker images
@@ -123,7 +124,7 @@ jobs:
           image-registry-username: github
           image-registry-password: ${{ secrets.NEXUS_PASSWORD }}
           image-repository: stackable/${{ env.PRODUCT_NAME }}
-          image-manifest-tag: ${{ steps.build.outputs.image-manifest-tag }}-pr${{ github.event.pull_request.number }}
+          image-manifest-tag: ${{ steps.build.outputs.image-manifest-tag }}
           source-image-uri: localhost/${{ env.PRODUCT_NAME }}:${{ steps.build.outputs.image-manifest-tag }}
 
       - name: Publish Container Image on oci.stackable.tech
@@ -133,7 +134,7 @@ jobs:
           image-registry-username: robot$sdp+github-action-build
           image-registry-password: ${{ secrets.HARBOR_ROBOT_SDP_GITHUB_ACTION_BUILD_SECRET }}
           image-repository: sdp/${{ env.PRODUCT_NAME }}
-          image-manifest-tag: ${{ steps.build.outputs.image-manifest-tag }}-pr${{ github.event.pull_request.number }}
+          image-manifest-tag: ${{ steps.build.outputs.image-manifest-tag }}
           source-image-uri: localhost/${{ env.PRODUCT_NAME }}:${{ steps.build.outputs.image-manifest-tag }}
 
   publish_manifests:

From 2ea40b15ed319a6c310bcb2ffdf614a6900a6275 Mon Sep 17 00:00:00 2001
From: Nick Larsen <nick.larsen@stackable.tech>
Date: Fri, 6 Dec 2024 12:20:37 +0100
Subject: [PATCH 14/20] ci(pr_test_build_images): Construct the
 IMAGE_INDEX_MANIFEST_TAG as a variable, and explain why we can't use the
 build output

---
 .github/workflows/pr_test_build_images.yaml | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/.github/workflows/pr_test_build_images.yaml b/.github/workflows/pr_test_build_images.yaml
index e10d4d901..ceda11154 100644
--- a/.github/workflows/pr_test_build_images.yaml
+++ b/.github/workflows/pr_test_build_images.yaml
@@ -147,9 +147,11 @@ jobs:
       matrix:
         product_version_pairs: ${{ fromJson(needs.generate_matrix.outputs.product_version_pairs) }}
     env:
-      SDP_VERSION: ${{ needs.determine_sdp_version.outputs.sdp_version }}
       PRODUCT_NAME: ${{ matrix.product_version_pairs.name }}
-      PRODUCT_VERSION: ${{ matrix.product_version_pairs.version }}
+      # Ideally we would want to use the suggested-image-index-manifest-tag output of stackablestackabletech/actions/build-product-image,
+      # however, since the builds are done in a matrix, we are not able to get the unique outputs. There are hacky attempts, eg:
+      # https://github.com/orgs/community/discussions/17245#discussioncomment-6770056, but we have opted to construct the tag here:
+      IMAGE_INDEX_MANIFEST_TAG: ${{ matrix.product_version_pairs.version }}-stackable${{ needs.determine_sdp_version.outputs.sdp_version }}-pr${{ github.event.pull_request.number }}
     steps:
       - name: Checkout Repository
         uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
@@ -161,7 +163,7 @@ jobs:
           image-registry-username: github
           image-registry-password: ${{ secrets.NEXUS_PASSWORD }}
           image-repository: stackable/${{ env.PRODUCT_NAME }}
-          image-index-manifest-tag: ${{ env.PRODUCT_VERSION }}-stackable${{ env.SDP_VERSION }}-pr${{ github.event.pull_request.number }}
+          image-index-manifest-tag: ${{ env.IMAGE_INDEX_MANIFEST_TAG }}
 
       - name: Publish and Sign Image Index Manifest to oci.stackable.tech
         uses: stackabletech/actions/publish-index-manifest@a3f7587879e9f12e04a29fd26435949aaa4fd59c # 0.2.0
@@ -170,4 +172,4 @@ jobs:
           image-registry-username: robot$sdp+github-action-build
           image-registry-password: ${{ secrets.HARBOR_ROBOT_SDP_GITHUB_ACTION_BUILD_SECRET }}
           image-repository: sdp/${{ env.PRODUCT_NAME }}
-          image-index-manifest-tag: ${{ env.PRODUCT_VERSION }}-stackable${{ env.SDP_VERSION }}-pr${{ github.event.pull_request.number }}
+          image-index-manifest-tag: ${{ env.IMAGE_INDEX_MANIFEST_TAG }}

From 08115222d6c8994dd3a082c207bda4b31e761887 Mon Sep 17 00:00:00 2001
From: Nick Larsen <nick.larsen@stackable.tech>
Date: Fri, 6 Dec 2024 12:44:46 +0100
Subject: [PATCH 15/20] ci(pr_test_build_images): Add a note about filtering
 superficial changes to avoid pointless builds

---
 .github/workflows/pr_test_build_images.yaml | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/.github/workflows/pr_test_build_images.yaml b/.github/workflows/pr_test_build_images.yaml
index ceda11154..d64114e6d 100644
--- a/.github/workflows/pr_test_build_images.yaml
+++ b/.github/workflows/pr_test_build_images.yaml
@@ -66,6 +66,9 @@ jobs:
           # Needed for tomlq
           pip install yq==3.4.3
 
+          # TODO (@NickLarsenNZ): Filter out superficial changes, eg: only comments added/removed.
+          # An idea: before the `xargs -r dirname` command, we can compare old and new with comments stripped.
+          # And keep adding rules as we need them.
           PRODUCT_VERSION_PAIRS=$(
             # shellcheck disable=SC2016
             git diff --name-only "${GIT_BASE_REF}..${GIT_HEAD_REF}" \
@@ -76,7 +79,6 @@ jobs:
             | jq --slurp --compact-output '.'
           )
           echo "product_version_pairs=$PRODUCT_VERSION_PAIRS" | tee -a "$GITHUB_OUTPUT"
-
     outputs:
       product_version_pairs: ${{ steps.shard.outputs.product_version_pairs }}
 

From 42e3fcd3b3a9a28ffdd93a66f0c860d332905a82 Mon Sep 17 00:00:00 2001
From: Nick Larsen <nick.larsen@stackable.tech>
Date: Fri, 6 Dec 2024 13:20:34 +0100
Subject: [PATCH 16/20] ci(pr_test_build_images): Add versions.toml to all
 product directories.

I have left a note in versions.py to remind people to update versions.toml and explain why there are now two files to maintain.
---
 airflow/versions.py               |  3 +++
 airflow/versions.toml             |  5 ++++-
 druid/versions.py                 |  3 +++
 druid/versions.toml               |  8 ++++++++
 hadoop/versions.py                |  3 +++
 hadoop/versions.toml              | 12 ++++++++++++
 hbase/versions.py                 |  3 +++
 hbase/versions.toml               |  8 ++++++++
 hello-world/versions.py           |  3 +++
 hello-world/versions.toml         |  4 ++++
 hive/versions.py                  |  3 +++
 hive/versions.toml                |  8 ++++++++
 java-base/versions.py             |  3 +++
 java-base/versions.toml           | 20 ++++++++++++++++++++
 java-devel/versions.py            |  3 +++
 java-devel/versions.toml          | 20 ++++++++++++++++++++
 kafka-testing-tools/versions.py   |  3 +++
 kafka-testing-tools/versions.toml |  4 ++++
 kafka/versions.py                 |  3 +++
 kafka/versions.toml               |  8 ++++++++
 kcat/versions.py                  |  3 +++
 kcat/versions.toml                |  4 ++++
 krb5/versions.py                  |  3 +++
 krb5/versions.toml                |  4 ++++
 nifi/versions.py                  |  3 +++
 nifi/versions.toml                | 10 ++++++++++
 omid/versions.py                  |  3 +++
 omid/versions.toml                |  4 ++++
 opa/versions.py                   |  3 +++
 opa/versions.toml                 |  8 ++++++++
 spark-k8s/versions.py             |  3 +++
 spark-k8s/versions.toml           |  8 ++++++++
 stackable-base/versions.py        |  3 +++
 stackable-base/versions.toml      |  4 ++++
 statsd_exporter/versions.py       |  3 +++
 statsd_exporter/versions.toml     |  4 ++++
 superset/versions.py              |  3 +++
 superset/versions.toml            |  4 ++++
 testing-tools/versions.py         |  3 +++
 testing-tools/versions.toml       |  4 ++++
 tools/versions.py                 |  3 +++
 tools/versions.toml               |  4 ++++
 trino-cli/versions.py             |  3 +++
 trino-cli/versions.toml           |  4 ++++
 trino/versions.py                 |  3 +++
 trino/versions.toml               |  8 ++++++++
 vector/versions.py                |  3 +++
 vector/versions.toml              |  4 ++++
 zookeeper/versions.py             |  3 +++
 49 files changed, 245 insertions(+), 1 deletion(-)
 create mode 100644 druid/versions.toml
 create mode 100644 hadoop/versions.toml
 create mode 100644 hbase/versions.toml
 create mode 100644 hello-world/versions.toml
 create mode 100644 hive/versions.toml
 create mode 100644 java-base/versions.toml
 create mode 100644 java-devel/versions.toml
 create mode 100644 kafka-testing-tools/versions.toml
 create mode 100644 kafka/versions.toml
 create mode 100644 kcat/versions.toml
 create mode 100644 krb5/versions.toml
 create mode 100644 nifi/versions.toml
 create mode 100644 omid/versions.toml
 create mode 100644 opa/versions.toml
 create mode 100644 spark-k8s/versions.toml
 create mode 100644 stackable-base/versions.toml
 create mode 100644 statsd_exporter/versions.toml
 create mode 100644 superset/versions.toml
 create mode 100644 testing-tools/versions.toml
 create mode 100644 tools/versions.toml
 create mode 100644 trino-cli/versions.toml
 create mode 100644 trino/versions.toml
 create mode 100644 vector/versions.toml

diff --git a/airflow/versions.py b/airflow/versions.py
index a624d01f1..e1f5f5d2f 100644
--- a/airflow/versions.py
+++ b/airflow/versions.py
@@ -1,3 +1,6 @@
+# Please also update versions.toml. It will eventually replace versions.py
+# For more information, see: https://github.com/stackabletech/docker-images/issues/770
+
 versions = [
     {
         "product": "2.9.2",
diff --git a/airflow/versions.toml b/airflow/versions.toml
index 312e92612..288db1273 100644
--- a/airflow/versions.toml
+++ b/airflow/versions.toml
@@ -1,7 +1,10 @@
 [versions."2.9.2"]
+# This will come later. See: https://github.com/stackabletech/docker-images/issues/770
+# dependencies = { ... }
 
 [versions."2.9.3"]
-build_on_pr = true
+# This will come later. See: https://github.com/stackabletech/docker-images/issues/770
+# dependencies = { ... }
 
 [versions."2.10.2"]
 build_on_pr = true
diff --git a/druid/versions.py b/druid/versions.py
index ec14e455b..24af5b026 100644
--- a/druid/versions.py
+++ b/druid/versions.py
@@ -1,3 +1,6 @@
+# Please also update versions.toml. It will eventually replace versions.py
+# For more information, see: https://github.com/stackabletech/docker-images/issues/770
+
 versions = [
     {
         "product": "26.0.0",
diff --git a/druid/versions.toml b/druid/versions.toml
new file mode 100644
index 000000000..7e65a8003
--- /dev/null
+++ b/druid/versions.toml
@@ -0,0 +1,8 @@
+[versions."26.0.0"]
+# This will come later. See: https://github.com/stackabletech/docker-images/issues/770
+# dependencies = { ... }
+
+[versions."30.0.0"]
+build_on_pr = true
+# This will come later. See: https://github.com/stackabletech/docker-images/issues/770
+# dependencies = { ... }
diff --git a/hadoop/versions.py b/hadoop/versions.py
index a9bd6bcc0..b62c59a13 100644
--- a/hadoop/versions.py
+++ b/hadoop/versions.py
@@ -1,3 +1,6 @@
+# Please also update versions.toml. It will eventually replace versions.py
+# For more information, see: https://github.com/stackabletech/docker-images/issues/770
+
 versions = [
     {
         "product": "3.3.4",
diff --git a/hadoop/versions.toml b/hadoop/versions.toml
new file mode 100644
index 000000000..d2812f206
--- /dev/null
+++ b/hadoop/versions.toml
@@ -0,0 +1,12 @@
+[versions."3.3.4"]
+# This will come later. See: https://github.com/stackabletech/docker-images/issues/770
+# dependencies = { ... }
+
+[versions."3.3.6"]
+# This will come later. See: https://github.com/stackabletech/docker-images/issues/770
+# dependencies = { ... }
+
+[versions."3.4.0"]
+build_on_pr = true
+# This will come later. See: https://github.com/stackabletech/docker-images/issues/770
+# dependencies = { ... }
diff --git a/hbase/versions.py b/hbase/versions.py
index 002c8255c..e99bf0214 100644
--- a/hbase/versions.py
+++ b/hbase/versions.py
@@ -1,3 +1,6 @@
+# Please also update versions.toml. It will eventually replace versions.py
+# For more information, see: https://github.com/stackabletech/docker-images/issues/770
+
 versions = [
     # Also do not merge java-base with java below as "JAVA-BASE is not a valid identifier" in Dockerfiles, it's unfortunate but to fix this would require a bigger refactoring of names or the image tools
     # hbase-thirdparty is used to build the hbase-operator-tools and should be set to the version defined in the POM of HBase.
diff --git a/hbase/versions.toml b/hbase/versions.toml
new file mode 100644
index 000000000..083bb8a6f
--- /dev/null
+++ b/hbase/versions.toml
@@ -0,0 +1,8 @@
+[versions."2.4.18"]
+# This will come later. See: https://github.com/stackabletech/docker-images/issues/770
+# dependencies = { ... }
+
+[versions."2.6.0"]
+build_on_pr = true
+# This will come later. See: https://github.com/stackabletech/docker-images/issues/770
+# dependencies = { ... }
diff --git a/hello-world/versions.py b/hello-world/versions.py
index 3d1ae16a1..fa6a67d22 100644
--- a/hello-world/versions.py
+++ b/hello-world/versions.py
@@ -1,3 +1,6 @@
+# Please also update versions.toml. It will eventually replace versions.py
+# For more information, see: https://github.com/stackabletech/docker-images/issues/770
+
 versions = [
     {
         "product": "0.0.1-SNAPSHOT",
diff --git a/hello-world/versions.toml b/hello-world/versions.toml
new file mode 100644
index 000000000..5b4fd75db
--- /dev/null
+++ b/hello-world/versions.toml
@@ -0,0 +1,4 @@
+[versions."0.0.1-SNAPSHOT"]
+build_on_pr = true
+# This will come later. See: https://github.com/stackabletech/docker-images/issues/770
+# dependencies = { ... }
diff --git a/hive/versions.py b/hive/versions.py
index c35922942..d4cead30d 100644
--- a/hive/versions.py
+++ b/hive/versions.py
@@ -1,3 +1,6 @@
+# Please also update versions.toml. It will eventually replace versions.py
+# For more information, see: https://github.com/stackabletech/docker-images/issues/770
+
 versions = [
     {
         "product": "4.0.0",
diff --git a/hive/versions.toml b/hive/versions.toml
new file mode 100644
index 000000000..3575a4f05
--- /dev/null
+++ b/hive/versions.toml
@@ -0,0 +1,8 @@
+[versions."4.0.0"]
+# This will come later. See: https://github.com/stackabletech/docker-images/issues/770
+# dependencies = { ... }
+
+[versions."3.1.3"]
+build_on_pr = true
+# This will come later. See: https://github.com/stackabletech/docker-images/issues/770
+# dependencies = { ... }
diff --git a/java-base/versions.py b/java-base/versions.py
index 37b62eea1..3bcfcd516 100644
--- a/java-base/versions.py
+++ b/java-base/versions.py
@@ -1,3 +1,6 @@
+# Please also update versions.toml. It will eventually replace versions.py
+# For more information, see: https://github.com/stackabletech/docker-images/issues/770
+
 versions = [
     {
         "product": "8",
diff --git a/java-base/versions.toml b/java-base/versions.toml
new file mode 100644
index 000000000..adc9ed754
--- /dev/null
+++ b/java-base/versions.toml
@@ -0,0 +1,20 @@
+[versions."8"]
+# This will come later. See: https://github.com/stackabletech/docker-images/issues/770
+# dependencies = { ... }
+
+[versions."11"]
+# This will come later. See: https://github.com/stackabletech/docker-images/issues/770
+# dependencies = { ... }
+
+[versions."17"]
+# This will come later. See: https://github.com/stackabletech/docker-images/issues/770
+# dependencies = { ... }
+
+[versions."21"]
+# This will come later. See: https://github.com/stackabletech/docker-images/issues/770
+# dependencies = { ... }
+
+[versions."22"]
+build_on_pr = true
+# This will come later. See: https://github.com/stackabletech/docker-images/issues/770
+# dependencies = { ... }
diff --git a/java-devel/versions.py b/java-devel/versions.py
index 6503d6466..fe536171c 100644
--- a/java-devel/versions.py
+++ b/java-devel/versions.py
@@ -1,3 +1,6 @@
+# Please also update versions.toml. It will eventually replace versions.py
+# For more information, see: https://github.com/stackabletech/docker-images/issues/770
+
 versions = [
     {
         "product": "8",
diff --git a/java-devel/versions.toml b/java-devel/versions.toml
new file mode 100644
index 000000000..adc9ed754
--- /dev/null
+++ b/java-devel/versions.toml
@@ -0,0 +1,20 @@
+[versions."8"]
+# This will come later. See: https://github.com/stackabletech/docker-images/issues/770
+# dependencies = { ... }
+
+[versions."11"]
+# This will come later. See: https://github.com/stackabletech/docker-images/issues/770
+# dependencies = { ... }
+
+[versions."17"]
+# This will come later. See: https://github.com/stackabletech/docker-images/issues/770
+# dependencies = { ... }
+
+[versions."21"]
+# This will come later. See: https://github.com/stackabletech/docker-images/issues/770
+# dependencies = { ... }
+
+[versions."22"]
+build_on_pr = true
+# This will come later. See: https://github.com/stackabletech/docker-images/issues/770
+# dependencies = { ... }
diff --git a/kafka-testing-tools/versions.py b/kafka-testing-tools/versions.py
index c55bab033..5b90f62bb 100644
--- a/kafka-testing-tools/versions.py
+++ b/kafka-testing-tools/versions.py
@@ -1,3 +1,6 @@
+# Please also update versions.toml. It will eventually replace versions.py
+# For more information, see: https://github.com/stackabletech/docker-images/issues/770
+
 versions = [
     {
         "product": "1.0.0",
diff --git a/kafka-testing-tools/versions.toml b/kafka-testing-tools/versions.toml
new file mode 100644
index 000000000..be09ca427
--- /dev/null
+++ b/kafka-testing-tools/versions.toml
@@ -0,0 +1,4 @@
+[versions."1.0.0"]
+build_on_pr = true
+# This will come later. See: https://github.com/stackabletech/docker-images/issues/770
+# dependencies = { ... }
diff --git a/kafka/versions.py b/kafka/versions.py
index 5b122674a..4be71cb83 100644
--- a/kafka/versions.py
+++ b/kafka/versions.py
@@ -1,3 +1,6 @@
+# Please also update versions.toml. It will eventually replace versions.py
+# For more information, see: https://github.com/stackabletech/docker-images/issues/770
+
 versions = [
     {
         "product": "3.7.1",
diff --git a/kafka/versions.toml b/kafka/versions.toml
new file mode 100644
index 000000000..ce20e7ba4
--- /dev/null
+++ b/kafka/versions.toml
@@ -0,0 +1,8 @@
+[versions."3.7.1"]
+# This will come later. See: https://github.com/stackabletech/docker-images/issues/770
+# dependencies = { ... }
+
+[versions."3.8.0"]
+build_on_pr = true
+# This will come later. See: https://github.com/stackabletech/docker-images/issues/770
+# dependencies = { ... }
diff --git a/kcat/versions.py b/kcat/versions.py
index 82a6fba3b..a2bc69426 100644
--- a/kcat/versions.py
+++ b/kcat/versions.py
@@ -1,3 +1,6 @@
+# Please also update versions.toml. It will eventually replace versions.py
+# For more information, see: https://github.com/stackabletech/docker-images/issues/770
+
 versions = [
     {
         "product": "1.7.0",
diff --git a/kcat/versions.toml b/kcat/versions.toml
new file mode 100644
index 000000000..4a57ac965
--- /dev/null
+++ b/kcat/versions.toml
@@ -0,0 +1,4 @@
+[versions."1.7.0"]
+build_on_pr = true
+# This will come later. See: https://github.com/stackabletech/docker-images/issues/770
+# dependencies = { ... }
diff --git a/krb5/versions.py b/krb5/versions.py
index fcf6ef066..b58d0adae 100644
--- a/krb5/versions.py
+++ b/krb5/versions.py
@@ -1,3 +1,6 @@
+# Please also update versions.toml. It will eventually replace versions.py
+# For more information, see: https://github.com/stackabletech/docker-images/issues/770
+
 versions = [
     {
         "product": "1.21.1",
diff --git a/krb5/versions.toml b/krb5/versions.toml
new file mode 100644
index 000000000..ba959c167
--- /dev/null
+++ b/krb5/versions.toml
@@ -0,0 +1,4 @@
+[versions."0.21.1"]
+build_on_pr = true
+# This will come later. See: https://github.com/stackabletech/docker-images/issues/770
+# dependencies = { ... }
diff --git a/nifi/versions.py b/nifi/versions.py
index 1500ef3ed..1a672bd9b 100644
--- a/nifi/versions.py
+++ b/nifi/versions.py
@@ -1,3 +1,6 @@
+# Please also update versions.toml. It will eventually replace versions.py
+# For more information, see: https://github.com/stackabletech/docker-images/issues/770
+
 versions = [
     {
         "product": "1.27.0",
diff --git a/nifi/versions.toml b/nifi/versions.toml
new file mode 100644
index 000000000..f17af351a
--- /dev/null
+++ b/nifi/versions.toml
@@ -0,0 +1,10 @@
+[versions."1.27.0"]
+build_on_pr = true
+# This will come later. See: https://github.com/stackabletech/docker-images/issues/770
+# dependencies = { ..
+
+[versions."2.0.0"]
+build_on_pr = true
+experimental = true
+# This will come later. See: https://github.com/stackabletech/docker-images/issues/770
+# dependencies = { ... }
diff --git a/omid/versions.py b/omid/versions.py
index 4ba037180..80c477bcd 100644
--- a/omid/versions.py
+++ b/omid/versions.py
@@ -1,3 +1,6 @@
+# Please also update versions.toml. It will eventually replace versions.py
+# For more information, see: https://github.com/stackabletech/docker-images/issues/770
+
 versions = [
     {
         "product": "1.1.2",
diff --git a/omid/versions.toml b/omid/versions.toml
new file mode 100644
index 000000000..93dfffdbf
--- /dev/null
+++ b/omid/versions.toml
@@ -0,0 +1,4 @@
+[versions."1.1.2"]
+build_on_pr = true
+# This will come later. See: https://github.com/stackabletech/docker-images/issues/770
+# dependencies = { ... }
diff --git a/opa/versions.py b/opa/versions.py
index cb233ebb4..1346ebff7 100644
--- a/opa/versions.py
+++ b/opa/versions.py
@@ -1,3 +1,6 @@
+# Please also update versions.toml. It will eventually replace versions.py
+# For more information, see: https://github.com/stackabletech/docker-images/issues/770
+
 versions = [
     {
         "product": "0.66.0",
diff --git a/opa/versions.toml b/opa/versions.toml
new file mode 100644
index 000000000..25392101f
--- /dev/null
+++ b/opa/versions.toml
@@ -0,0 +1,8 @@
+[versions."0.66.0"]
+# This will come later. See: https://github.com/stackabletech/docker-images/issues/770
+# dependencies = { ... }
+
+[versions."0.67.1"]
+build_on_pr = true
+# This will come later. See: https://github.com/stackabletech/docker-images/issues/770
+# dependencies = { ... }
diff --git a/spark-k8s/versions.py b/spark-k8s/versions.py
index a8c62ed56..68e4935be 100644
--- a/spark-k8s/versions.py
+++ b/spark-k8s/versions.py
@@ -1,3 +1,6 @@
+# Please also update versions.toml. It will eventually replace versions.py
+# For more information, see: https://github.com/stackabletech/docker-images/issues/770
+
 versions = [
     {
         "product": "3.5.1",
diff --git a/spark-k8s/versions.toml b/spark-k8s/versions.toml
new file mode 100644
index 000000000..422ba253f
--- /dev/null
+++ b/spark-k8s/versions.toml
@@ -0,0 +1,8 @@
+[versions."3.5.1"]
+# This will come later. See: https://github.com/stackabletech/docker-images/issues/770
+# dependencies = { ... }
+
+[versions."3.5.2"]
+build_on_pr = true
+# This will come later. See: https://github.com/stackabletech/docker-images/issues/770
+# dependencies = { ... }
diff --git a/stackable-base/versions.py b/stackable-base/versions.py
index ed192d92f..6bb102054 100644
--- a/stackable-base/versions.py
+++ b/stackable-base/versions.py
@@ -1,3 +1,6 @@
+# Please also update versions.toml. It will eventually replace versions.py
+# For more information, see: https://github.com/stackabletech/docker-images/issues/770
+
 versions = [
     {
         "product": "1.0.0",
diff --git a/stackable-base/versions.toml b/stackable-base/versions.toml
new file mode 100644
index 000000000..be09ca427
--- /dev/null
+++ b/stackable-base/versions.toml
@@ -0,0 +1,4 @@
+[versions."1.0.0"]
+build_on_pr = true
+# This will come later. See: https://github.com/stackabletech/docker-images/issues/770
+# dependencies = { ... }
diff --git a/statsd_exporter/versions.py b/statsd_exporter/versions.py
index 665b4dcbb..722c82510 100644
--- a/statsd_exporter/versions.py
+++ b/statsd_exporter/versions.py
@@ -1,3 +1,6 @@
+# Please also update versions.toml. It will eventually replace versions.py
+# For more information, see: https://github.com/stackabletech/docker-images/issues/770
+
 versions = [
     {
         "product": "0.27.1",
diff --git a/statsd_exporter/versions.toml b/statsd_exporter/versions.toml
new file mode 100644
index 000000000..d87d29b52
--- /dev/null
+++ b/statsd_exporter/versions.toml
@@ -0,0 +1,4 @@
+[versions."0.27.1"]
+build_on_pr = true
+# This will come later. See: https://github.com/stackabletech/docker-images/issues/770
+# dependencies = { ... }
diff --git a/superset/versions.py b/superset/versions.py
index 67c12cd51..c8e988ab6 100644
--- a/superset/versions.py
+++ b/superset/versions.py
@@ -1,3 +1,6 @@
+# Please also update versions.toml. It will eventually replace versions.py
+# For more information, see: https://github.com/stackabletech/docker-images/issues/770
+
 versions = [
     {
         "product": "4.0.2",
diff --git a/superset/versions.toml b/superset/versions.toml
new file mode 100644
index 000000000..6bc52c471
--- /dev/null
+++ b/superset/versions.toml
@@ -0,0 +1,4 @@
+[versions."4.0.2"]
+build_on_pr = true
+# This will come later. See: https://github.com/stackabletech/docker-images/issues/770
+# dependencies = { ... }
diff --git a/testing-tools/versions.py b/testing-tools/versions.py
index 5231af218..0ad8953ca 100644
--- a/testing-tools/versions.py
+++ b/testing-tools/versions.py
@@ -1,3 +1,6 @@
+# Please also update versions.toml. It will eventually replace versions.py
+# For more information, see: https://github.com/stackabletech/docker-images/issues/770
+
 versions = [
     {
         "product": "0.2.0",
diff --git a/testing-tools/versions.toml b/testing-tools/versions.toml
new file mode 100644
index 000000000..62facbf36
--- /dev/null
+++ b/testing-tools/versions.toml
@@ -0,0 +1,4 @@
+[versions."0.2.0"]
+build_on_pr = true
+# This will come later. See: https://github.com/stackabletech/docker-images/issues/770
+# dependencies = { ... }
diff --git a/tools/versions.py b/tools/versions.py
index 6fd96cda0..22d7792e3 100644
--- a/tools/versions.py
+++ b/tools/versions.py
@@ -1,3 +1,6 @@
+# Please also update versions.toml. It will eventually replace versions.py
+# For more information, see: https://github.com/stackabletech/docker-images/issues/770
+
 versions = [
     {
         "product": "1.0.0",
diff --git a/tools/versions.toml b/tools/versions.toml
new file mode 100644
index 000000000..be09ca427
--- /dev/null
+++ b/tools/versions.toml
@@ -0,0 +1,4 @@
+[versions."1.0.0"]
+build_on_pr = true
+# This will come later. See: https://github.com/stackabletech/docker-images/issues/770
+# dependencies = { ... }
diff --git a/trino-cli/versions.py b/trino-cli/versions.py
index b6d60aa4a..6e20339e4 100644
--- a/trino-cli/versions.py
+++ b/trino-cli/versions.py
@@ -1,3 +1,6 @@
+# Please also update versions.toml. It will eventually replace versions.py
+# For more information, see: https://github.com/stackabletech/docker-images/issues/770
+
 versions = [
     {
         "product": "455",
diff --git a/trino-cli/versions.toml b/trino-cli/versions.toml
new file mode 100644
index 000000000..8231062b3
--- /dev/null
+++ b/trino-cli/versions.toml
@@ -0,0 +1,4 @@
+[versions."455"]
+build_on_pr = true
+# This will come later. See: https://github.com/stackabletech/docker-images/issues/770
+# dependencies = { ... }
diff --git a/trino/versions.py b/trino/versions.py
index 96f771922..cf0ad6f40 100644
--- a/trino/versions.py
+++ b/trino/versions.py
@@ -1,3 +1,6 @@
+# Please also update versions.toml. It will eventually replace versions.py
+# For more information, see: https://github.com/stackabletech/docker-images/issues/770
+
 versions = [
     {
         "product": "451",
diff --git a/trino/versions.toml b/trino/versions.toml
new file mode 100644
index 000000000..e851692ab
--- /dev/null
+++ b/trino/versions.toml
@@ -0,0 +1,8 @@
+[versions."451"]
+# This will come later. See: https://github.com/stackabletech/docker-images/issues/770
+# dependencies = { ... }
+
+[versions."455"]
+build_on_pr = true
+# This will come later. See: https://github.com/stackabletech/docker-images/issues/770
+# dependencies = { ... }
diff --git a/vector/versions.py b/vector/versions.py
index 496a56fa0..57271ef08 100644
--- a/vector/versions.py
+++ b/vector/versions.py
@@ -1,3 +1,6 @@
+# Please also update versions.toml. It will eventually replace versions.py
+# For more information, see: https://github.com/stackabletech/docker-images/issues/770
+
 versions = [
     {
         "product": "0.41.1",
diff --git a/vector/versions.toml b/vector/versions.toml
new file mode 100644
index 000000000..6c2d267d6
--- /dev/null
+++ b/vector/versions.toml
@@ -0,0 +1,4 @@
+[versions."0.41.1"]
+build_on_pr = true
+# This will come later. See: https://github.com/stackabletech/docker-images/issues/770
+# dependencies = { ... }
diff --git a/zookeeper/versions.py b/zookeeper/versions.py
index 81af6bbf8..3269862e0 100644
--- a/zookeeper/versions.py
+++ b/zookeeper/versions.py
@@ -1,3 +1,6 @@
+# Please also update versions.toml. It will eventually replace versions.py
+# For more information, see: https://github.com/stackabletech/docker-images/issues/770
+
 versions = [
     {
         "product": "3.9.2",

From 9570032939174be5672e0c0c629e27eadc653e0c Mon Sep 17 00:00:00 2001
From: Nick Larsen <nick.larsen@stackable.tech>
Date: Fri, 6 Dec 2024 13:28:02 +0100
Subject: [PATCH 17/20] ci: Update stackabletech/actions to v0.5.0

---
 .github/workflows/build_airflow.yaml             | 14 +++++++-------
 .github/workflows/build_druid.yaml               | 14 +++++++-------
 .github/workflows/build_hadoop.yaml              | 14 +++++++-------
 .github/workflows/build_hbase.yaml               | 14 +++++++-------
 .github/workflows/build_hello-world.yaml         | 14 +++++++-------
 .github/workflows/build_hive.yaml                | 14 +++++++-------
 .github/workflows/build_java-base.yaml           | 14 +++++++-------
 .github/workflows/build_java-devel.yaml          | 14 +++++++-------
 .github/workflows/build_kafka-testing-tools.yaml | 14 +++++++-------
 .github/workflows/build_kafka.yaml               | 14 +++++++-------
 .github/workflows/build_kcat.yaml                | 14 +++++++-------
 .github/workflows/build_krb5.yaml                | 14 +++++++-------
 .github/workflows/build_nifi.yaml                | 14 +++++++-------
 .github/workflows/build_omid.yaml                | 14 +++++++-------
 .github/workflows/build_opa.yaml                 | 14 +++++++-------
 .github/workflows/build_spark-k8s.yaml           | 14 +++++++-------
 .github/workflows/build_stackable-base.yaml      | 14 +++++++-------
 .github/workflows/build_superset.yaml            | 14 +++++++-------
 .github/workflows/build_testing-tools.yaml       | 14 +++++++-------
 .github/workflows/build_tools.yaml               | 14 +++++++-------
 .github/workflows/build_trino-cli.yaml           | 14 +++++++-------
 .github/workflows/build_trino.yaml               | 14 +++++++-------
 .github/workflows/build_vector.yaml              | 14 +++++++-------
 .github/workflows/build_zookeeper.yaml           | 14 +++++++-------
 .github/workflows/mirror.yaml                    |  8 ++++----
 .github/workflows/pr_pre-commit.yaml             |  2 +-
 .github/workflows/pr_test_build_images.yaml      | 12 ++++++------
 27 files changed, 179 insertions(+), 179 deletions(-)

diff --git a/.github/workflows/build_airflow.yaml b/.github/workflows/build_airflow.yaml
index 95ed84077..ac9916cee 100644
--- a/.github/workflows/build_airflow.yaml
+++ b/.github/workflows/build_airflow.yaml
@@ -30,7 +30,7 @@ jobs:
     steps:
       - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
       - id: shard
-        uses: stackabletech/actions/shard@a3f7587879e9f12e04a29fd26435949aaa4fd59c # 0.2.0
+        uses: stackabletech/actions/shard@95626907fd8cae2f17c862ae40bcab1aa5a2c854 # v0.5.0
         with:
           product-name: ${{ env.PRODUCT_NAME }}
     outputs:
@@ -53,11 +53,11 @@ jobs:
         uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
 
       - name: Free Disk Space
-        uses: stackabletech/actions/free-disk-space@a3f7587879e9f12e04a29fd26435949aaa4fd59c # 0.2.0
+        uses: stackabletech/actions/free-disk-space@95626907fd8cae2f17c862ae40bcab1aa5a2c854 # v0.5.0
 
       - name: Build Product Image
         id: build
-        uses: stackabletech/actions/build-product-image@a3f7587879e9f12e04a29fd26435949aaa4fd59c # 0.2.0
+        uses: stackabletech/actions/build-product-image@95626907fd8cae2f17c862ae40bcab1aa5a2c854 # v0.5.0
         with:
           product-name: ${{ env.PRODUCT_NAME }}
           product-version: ${{ matrix.versions }}
@@ -65,7 +65,7 @@ jobs:
           sdp-version: ${{ env.SDP_VERSION }}
 
       - name: Publish Container Image on docker.stackable.tech
-        uses: stackabletech/actions/publish-image@a3f7587879e9f12e04a29fd26435949aaa4fd59c # 0.2.0
+        uses: stackabletech/actions/publish-image@95626907fd8cae2f17c862ae40bcab1aa5a2c854 # v0.5.0
         with:
           image-registry-uri: docker.stackable.tech
           image-registry-username: github
@@ -75,7 +75,7 @@ jobs:
           source-image-uri: localhost/${{ env.PRODUCT_NAME }}:${{ steps.build.outputs.image-manifest-tag }}
 
       - name: Publish Container Image on oci.stackable.tech
-        uses: stackabletech/actions/publish-image@a3f7587879e9f12e04a29fd26435949aaa4fd59c # 0.2.0
+        uses: stackabletech/actions/publish-image@95626907fd8cae2f17c862ae40bcab1aa5a2c854 # v0.5.0
         with:
           image-registry-uri: oci.stackable.tech
           image-registry-username: robot$sdp+github-action-build
@@ -98,7 +98,7 @@ jobs:
         uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
 
       - name: Publish and Sign Image Index Manifest to docker.stackable.tech
-        uses: stackabletech/actions/publish-index-manifest@a3f7587879e9f12e04a29fd26435949aaa4fd59c # 0.2.0
+        uses: stackabletech/actions/publish-index-manifest@95626907fd8cae2f17c862ae40bcab1aa5a2c854 # v0.5.0
         with:
           image-registry-uri: docker.stackable.tech
           image-registry-username: github
@@ -107,7 +107,7 @@ jobs:
           image-index-manifest-tag: ${{ matrix.versions }}-stackable${{ env.SDP_VERSION }}
 
       - name: Publish and Sign Image Index Manifest to oci.stackable.tech
-        uses: stackabletech/actions/publish-index-manifest@a3f7587879e9f12e04a29fd26435949aaa4fd59c # 0.2.0
+        uses: stackabletech/actions/publish-index-manifest@95626907fd8cae2f17c862ae40bcab1aa5a2c854 # v0.5.0
         with:
           image-registry-uri: oci.stackable.tech
           image-registry-username: robot$sdp+github-action-build
diff --git a/.github/workflows/build_druid.yaml b/.github/workflows/build_druid.yaml
index 5ab5002ef..087fdc820 100644
--- a/.github/workflows/build_druid.yaml
+++ b/.github/workflows/build_druid.yaml
@@ -32,7 +32,7 @@ jobs:
     steps:
       - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
       - id: shard
-        uses: stackabletech/actions/shard@a3f7587879e9f12e04a29fd26435949aaa4fd59c # 0.2.0
+        uses: stackabletech/actions/shard@95626907fd8cae2f17c862ae40bcab1aa5a2c854 # v0.5.0
         with:
           product-name: ${{ env.PRODUCT_NAME }}
     outputs:
@@ -55,11 +55,11 @@ jobs:
         uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
 
       - name: Free Disk Space
-        uses: stackabletech/actions/free-disk-space@a3f7587879e9f12e04a29fd26435949aaa4fd59c # 0.2.0
+        uses: stackabletech/actions/free-disk-space@95626907fd8cae2f17c862ae40bcab1aa5a2c854 # v0.5.0
 
       - name: Build Product Image
         id: build
-        uses: stackabletech/actions/build-product-image@a3f7587879e9f12e04a29fd26435949aaa4fd59c # 0.2.0
+        uses: stackabletech/actions/build-product-image@95626907fd8cae2f17c862ae40bcab1aa5a2c854 # v0.5.0
         with:
           product-name: ${{ env.PRODUCT_NAME }}
           product-version: ${{ matrix.versions }}
@@ -67,7 +67,7 @@ jobs:
           sdp-version: ${{ env.SDP_VERSION }}
 
       - name: Publish Container Image on docker.stackable.tech
-        uses: stackabletech/actions/publish-image@a3f7587879e9f12e04a29fd26435949aaa4fd59c # 0.2.0
+        uses: stackabletech/actions/publish-image@95626907fd8cae2f17c862ae40bcab1aa5a2c854 # v0.5.0
         with:
           image-registry-uri: docker.stackable.tech
           image-registry-username: github
@@ -77,7 +77,7 @@ jobs:
           source-image-uri: localhost/${{ env.PRODUCT_NAME }}:${{ steps.build.outputs.image-manifest-tag }}
 
       - name: Publish Container Image on oci.stackable.tech
-        uses: stackabletech/actions/publish-image@a3f7587879e9f12e04a29fd26435949aaa4fd59c # 0.2.0
+        uses: stackabletech/actions/publish-image@95626907fd8cae2f17c862ae40bcab1aa5a2c854 # v0.5.0
         with:
           image-registry-uri: oci.stackable.tech
           image-registry-username: robot$sdp+github-action-build
@@ -100,7 +100,7 @@ jobs:
         uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
 
       - name: Publish and Sign Image Index Manifest to docker.stackable.tech
-        uses: stackabletech/actions/publish-index-manifest@a3f7587879e9f12e04a29fd26435949aaa4fd59c # 0.2.0
+        uses: stackabletech/actions/publish-index-manifest@95626907fd8cae2f17c862ae40bcab1aa5a2c854 # v0.5.0
         with:
           image-registry-uri: docker.stackable.tech
           image-registry-username: github
@@ -109,7 +109,7 @@ jobs:
           image-index-manifest-tag: ${{ matrix.versions }}-stackable${{ env.SDP_VERSION }}
 
       - name: Publish and Sign Image Index Manifest to oci.stackable.tech
-        uses: stackabletech/actions/publish-index-manifest@a3f7587879e9f12e04a29fd26435949aaa4fd59c # 0.2.0
+        uses: stackabletech/actions/publish-index-manifest@95626907fd8cae2f17c862ae40bcab1aa5a2c854 # v0.5.0
         with:
           image-registry-uri: oci.stackable.tech
           image-registry-username: robot$sdp+github-action-build
diff --git a/.github/workflows/build_hadoop.yaml b/.github/workflows/build_hadoop.yaml
index cd1b67d1f..9ad05b36d 100644
--- a/.github/workflows/build_hadoop.yaml
+++ b/.github/workflows/build_hadoop.yaml
@@ -32,7 +32,7 @@ jobs:
     steps:
       - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
       - id: shard
-        uses: stackabletech/actions/shard@a3f7587879e9f12e04a29fd26435949aaa4fd59c # 0.2.0
+        uses: stackabletech/actions/shard@95626907fd8cae2f17c862ae40bcab1aa5a2c854 # v0.5.0
         with:
           product-name: ${{ env.PRODUCT_NAME }}
     outputs:
@@ -55,11 +55,11 @@ jobs:
         uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
 
       - name: Free Disk Space
-        uses: stackabletech/actions/free-disk-space@a3f7587879e9f12e04a29fd26435949aaa4fd59c # 0.2.0
+        uses: stackabletech/actions/free-disk-space@95626907fd8cae2f17c862ae40bcab1aa5a2c854 # v0.5.0
 
       - name: Build Product Image
         id: build
-        uses: stackabletech/actions/build-product-image@a3f7587879e9f12e04a29fd26435949aaa4fd59c # 0.2.0
+        uses: stackabletech/actions/build-product-image@95626907fd8cae2f17c862ae40bcab1aa5a2c854 # v0.5.0
         with:
           product-name: ${{ env.PRODUCT_NAME }}
           product-version: ${{ matrix.versions }}
@@ -67,7 +67,7 @@ jobs:
           sdp-version: ${{ env.SDP_VERSION }}
 
       - name: Publish Container Image on docker.stackable.tech
-        uses: stackabletech/actions/publish-image@a3f7587879e9f12e04a29fd26435949aaa4fd59c # 0.2.0
+        uses: stackabletech/actions/publish-image@95626907fd8cae2f17c862ae40bcab1aa5a2c854 # v0.5.0
         with:
           image-registry-uri: docker.stackable.tech
           image-registry-username: github
@@ -77,7 +77,7 @@ jobs:
           source-image-uri: localhost/${{ env.PRODUCT_NAME }}:${{ steps.build.outputs.image-manifest-tag }}
 
       - name: Publish Container Image on oci.stackable.tech
-        uses: stackabletech/actions/publish-image@a3f7587879e9f12e04a29fd26435949aaa4fd59c # 0.2.0
+        uses: stackabletech/actions/publish-image@95626907fd8cae2f17c862ae40bcab1aa5a2c854 # v0.5.0
         with:
           image-registry-uri: oci.stackable.tech
           image-registry-username: robot$sdp+github-action-build
@@ -100,7 +100,7 @@ jobs:
         uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
 
       - name: Publish and Sign Image Index Manifest to docker.stackable.tech
-        uses: stackabletech/actions/publish-index-manifest@a3f7587879e9f12e04a29fd26435949aaa4fd59c # 0.2.0
+        uses: stackabletech/actions/publish-index-manifest@95626907fd8cae2f17c862ae40bcab1aa5a2c854 # v0.5.0
         with:
           image-registry-uri: docker.stackable.tech
           image-registry-username: github
@@ -109,7 +109,7 @@ jobs:
           image-index-manifest-tag: ${{ matrix.versions }}-stackable${{ env.SDP_VERSION }}
 
       - name: Publish and Sign Image Index Manifest to oci.stackable.tech
-        uses: stackabletech/actions/publish-index-manifest@a3f7587879e9f12e04a29fd26435949aaa4fd59c # 0.2.0
+        uses: stackabletech/actions/publish-index-manifest@95626907fd8cae2f17c862ae40bcab1aa5a2c854 # v0.5.0
         with:
           image-registry-uri: oci.stackable.tech
           image-registry-username: robot$sdp+github-action-build
diff --git a/.github/workflows/build_hbase.yaml b/.github/workflows/build_hbase.yaml
index ed8c56b9a..3ff1b4b14 100644
--- a/.github/workflows/build_hbase.yaml
+++ b/.github/workflows/build_hbase.yaml
@@ -33,7 +33,7 @@ jobs:
     steps:
       - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
       - id: shard
-        uses: stackabletech/actions/shard@a3f7587879e9f12e04a29fd26435949aaa4fd59c # 0.2.0
+        uses: stackabletech/actions/shard@95626907fd8cae2f17c862ae40bcab1aa5a2c854 # v0.5.0
         with:
           product-name: ${{ env.PRODUCT_NAME }}
     outputs:
@@ -56,11 +56,11 @@ jobs:
         uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
 
       - name: Free Disk Space
-        uses: stackabletech/actions/free-disk-space@a3f7587879e9f12e04a29fd26435949aaa4fd59c # 0.2.0
+        uses: stackabletech/actions/free-disk-space@95626907fd8cae2f17c862ae40bcab1aa5a2c854 # v0.5.0
 
       - name: Build Product Image
         id: build
-        uses: stackabletech/actions/build-product-image@a3f7587879e9f12e04a29fd26435949aaa4fd59c # 0.2.0
+        uses: stackabletech/actions/build-product-image@95626907fd8cae2f17c862ae40bcab1aa5a2c854 # v0.5.0
         with:
           product-name: ${{ env.PRODUCT_NAME }}
           product-version: ${{ matrix.versions }}
@@ -68,7 +68,7 @@ jobs:
           sdp-version: ${{ env.SDP_VERSION }}
 
       - name: Publish Container Image on docker.stackable.tech
-        uses: stackabletech/actions/publish-image@a3f7587879e9f12e04a29fd26435949aaa4fd59c # 0.2.0
+        uses: stackabletech/actions/publish-image@95626907fd8cae2f17c862ae40bcab1aa5a2c854 # v0.5.0
         with:
           image-registry-uri: docker.stackable.tech
           image-registry-username: github
@@ -78,7 +78,7 @@ jobs:
           source-image-uri: localhost/${{ env.PRODUCT_NAME }}:${{ steps.build.outputs.image-manifest-tag }}
 
       - name: Publish Container Image on oci.stackable.tech
-        uses: stackabletech/actions/publish-image@a3f7587879e9f12e04a29fd26435949aaa4fd59c # 0.2.0
+        uses: stackabletech/actions/publish-image@95626907fd8cae2f17c862ae40bcab1aa5a2c854 # v0.5.0
         with:
           image-registry-uri: oci.stackable.tech
           image-registry-username: robot$sdp+github-action-build
@@ -101,7 +101,7 @@ jobs:
         uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
 
       - name: Publish and Sign Image Index Manifest to docker.stackable.tech
-        uses: stackabletech/actions/publish-index-manifest@a3f7587879e9f12e04a29fd26435949aaa4fd59c # 0.2.0
+        uses: stackabletech/actions/publish-index-manifest@95626907fd8cae2f17c862ae40bcab1aa5a2c854 # v0.5.0
         with:
           image-registry-uri: docker.stackable.tech
           image-registry-username: github
@@ -110,7 +110,7 @@ jobs:
           image-index-manifest-tag: ${{ matrix.versions }}-stackable${{ env.SDP_VERSION }}
 
       - name: Publish and Sign Image Index Manifest to oci.stackable.tech
-        uses: stackabletech/actions/publish-index-manifest@a3f7587879e9f12e04a29fd26435949aaa4fd59c # 0.2.0
+        uses: stackabletech/actions/publish-index-manifest@95626907fd8cae2f17c862ae40bcab1aa5a2c854 # v0.5.0
         with:
           image-registry-uri: oci.stackable.tech
           image-registry-username: robot$sdp+github-action-build
diff --git a/.github/workflows/build_hello-world.yaml b/.github/workflows/build_hello-world.yaml
index 5f266f934..6b2a1f00b 100644
--- a/.github/workflows/build_hello-world.yaml
+++ b/.github/workflows/build_hello-world.yaml
@@ -28,7 +28,7 @@ jobs:
     steps:
       - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
       - id: shard
-        uses: stackabletech/actions/shard@a3f7587879e9f12e04a29fd26435949aaa4fd59c # 0.2.0
+        uses: stackabletech/actions/shard@95626907fd8cae2f17c862ae40bcab1aa5a2c854 # v0.5.0
         with:
           product-name: ${{ env.PRODUCT_NAME }}
     outputs:
@@ -51,11 +51,11 @@ jobs:
         uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
 
       - name: Free Disk Space
-        uses: stackabletech/actions/free-disk-space@a3f7587879e9f12e04a29fd26435949aaa4fd59c # 0.2.0
+        uses: stackabletech/actions/free-disk-space@95626907fd8cae2f17c862ae40bcab1aa5a2c854 # v0.5.0
 
       - name: Build Product Image
         id: build
-        uses: stackabletech/actions/build-product-image@a3f7587879e9f12e04a29fd26435949aaa4fd59c # 0.2.0
+        uses: stackabletech/actions/build-product-image@95626907fd8cae2f17c862ae40bcab1aa5a2c854 # v0.5.0
         with:
           product-name: ${{ env.PRODUCT_NAME }}
           product-version: ${{ matrix.versions }}
@@ -63,7 +63,7 @@ jobs:
           sdp-version: ${{ env.SDP_VERSION }}
 
       - name: Publish Container Image on docker.stackable.tech
-        uses: stackabletech/actions/publish-image@a3f7587879e9f12e04a29fd26435949aaa4fd59c # 0.2.0
+        uses: stackabletech/actions/publish-image@95626907fd8cae2f17c862ae40bcab1aa5a2c854 # v0.5.0
         with:
           image-registry-uri: docker.stackable.tech
           image-registry-username: github
@@ -73,7 +73,7 @@ jobs:
           source-image-uri: localhost/${{ env.PRODUCT_NAME }}:${{ steps.build.outputs.image-manifest-tag }}
 
       - name: Publish Container Image on oci.stackable.tech
-        uses: stackabletech/actions/publish-image@a3f7587879e9f12e04a29fd26435949aaa4fd59c # 0.2.0
+        uses: stackabletech/actions/publish-image@95626907fd8cae2f17c862ae40bcab1aa5a2c854 # v0.5.0
         with:
           image-registry-uri: oci.stackable.tech
           image-registry-username: robot$sdp+github-action-build
@@ -96,7 +96,7 @@ jobs:
         uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
 
       - name: Publish and Sign Image Index Manifest to docker.stackable.tech
-        uses: stackabletech/actions/publish-index-manifest@a3f7587879e9f12e04a29fd26435949aaa4fd59c # 0.2.0
+        uses: stackabletech/actions/publish-index-manifest@95626907fd8cae2f17c862ae40bcab1aa5a2c854 # v0.5.0
         with:
           image-registry-uri: docker.stackable.tech
           image-registry-username: github
@@ -105,7 +105,7 @@ jobs:
           image-index-manifest-tag: ${{ matrix.versions }}-stackable${{ env.SDP_VERSION }}
 
       - name: Publish and Sign Image Index Manifest to oci.stackable.tech
-        uses: stackabletech/actions/publish-index-manifest@a3f7587879e9f12e04a29fd26435949aaa4fd59c # 0.2.0
+        uses: stackabletech/actions/publish-index-manifest@95626907fd8cae2f17c862ae40bcab1aa5a2c854 # v0.5.0
         with:
           image-registry-uri: oci.stackable.tech
           image-registry-username: robot$sdp+github-action-build
diff --git a/.github/workflows/build_hive.yaml b/.github/workflows/build_hive.yaml
index 37ccc6e1e..3f5877d3e 100644
--- a/.github/workflows/build_hive.yaml
+++ b/.github/workflows/build_hive.yaml
@@ -33,7 +33,7 @@ jobs:
     steps:
       - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
       - id: shard
-        uses: stackabletech/actions/shard@a3f7587879e9f12e04a29fd26435949aaa4fd59c # 0.2.0
+        uses: stackabletech/actions/shard@95626907fd8cae2f17c862ae40bcab1aa5a2c854 # v0.5.0
         with:
           product-name: ${{ env.PRODUCT_NAME }}
     outputs:
@@ -56,11 +56,11 @@ jobs:
         uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
 
       - name: Free Disk Space
-        uses: stackabletech/actions/free-disk-space@a3f7587879e9f12e04a29fd26435949aaa4fd59c # 0.2.0
+        uses: stackabletech/actions/free-disk-space@95626907fd8cae2f17c862ae40bcab1aa5a2c854 # v0.5.0
 
       - name: Build Product Image
         id: build
-        uses: stackabletech/actions/build-product-image@a3f7587879e9f12e04a29fd26435949aaa4fd59c # 0.2.0
+        uses: stackabletech/actions/build-product-image@95626907fd8cae2f17c862ae40bcab1aa5a2c854 # v0.5.0
         with:
           product-name: ${{ env.PRODUCT_NAME }}
           product-version: ${{ matrix.versions }}
@@ -68,7 +68,7 @@ jobs:
           sdp-version: ${{ env.SDP_VERSION }}
 
       - name: Publish Container Image on docker.stackable.tech
-        uses: stackabletech/actions/publish-image@a3f7587879e9f12e04a29fd26435949aaa4fd59c # 0.2.0
+        uses: stackabletech/actions/publish-image@95626907fd8cae2f17c862ae40bcab1aa5a2c854 # v0.5.0
         with:
           image-registry-uri: docker.stackable.tech
           image-registry-username: github
@@ -78,7 +78,7 @@ jobs:
           source-image-uri: localhost/${{ env.PRODUCT_NAME }}:${{ steps.build.outputs.image-manifest-tag }}
 
       - name: Publish Container Image on oci.stackable.tech
-        uses: stackabletech/actions/publish-image@a3f7587879e9f12e04a29fd26435949aaa4fd59c # 0.2.0
+        uses: stackabletech/actions/publish-image@95626907fd8cae2f17c862ae40bcab1aa5a2c854 # v0.5.0
         with:
           image-registry-uri: oci.stackable.tech
           image-registry-username: robot$sdp+github-action-build
@@ -101,7 +101,7 @@ jobs:
         uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
 
       - name: Publish and Sign Image Index Manifest to docker.stackable.tech
-        uses: stackabletech/actions/publish-index-manifest@a3f7587879e9f12e04a29fd26435949aaa4fd59c # 0.2.0
+        uses: stackabletech/actions/publish-index-manifest@95626907fd8cae2f17c862ae40bcab1aa5a2c854 # v0.5.0
         with:
           image-registry-uri: docker.stackable.tech
           image-registry-username: github
@@ -110,7 +110,7 @@ jobs:
           image-index-manifest-tag: ${{ matrix.versions }}-stackable${{ env.SDP_VERSION }}
 
       - name: Publish and Sign Image Index Manifest to oci.stackable.tech
-        uses: stackabletech/actions/publish-index-manifest@a3f7587879e9f12e04a29fd26435949aaa4fd59c # 0.2.0
+        uses: stackabletech/actions/publish-index-manifest@95626907fd8cae2f17c862ae40bcab1aa5a2c854 # v0.5.0
         with:
           image-registry-uri: oci.stackable.tech
           image-registry-username: robot$sdp+github-action-build
diff --git a/.github/workflows/build_java-base.yaml b/.github/workflows/build_java-base.yaml
index 1fcde4032..3ee2f0867 100644
--- a/.github/workflows/build_java-base.yaml
+++ b/.github/workflows/build_java-base.yaml
@@ -28,7 +28,7 @@ jobs:
     steps:
       - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
       - id: shard
-        uses: stackabletech/actions/shard@a3f7587879e9f12e04a29fd26435949aaa4fd59c # 0.2.0
+        uses: stackabletech/actions/shard@95626907fd8cae2f17c862ae40bcab1aa5a2c854 # v0.5.0
         with:
           product-name: ${{ env.PRODUCT_NAME }}
     outputs:
@@ -51,11 +51,11 @@ jobs:
         uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
 
       - name: Free Disk Space
-        uses: stackabletech/actions/free-disk-space@a3f7587879e9f12e04a29fd26435949aaa4fd59c # 0.2.0
+        uses: stackabletech/actions/free-disk-space@95626907fd8cae2f17c862ae40bcab1aa5a2c854 # v0.5.0
 
       - name: Build Product Image
         id: build
-        uses: stackabletech/actions/build-product-image@a3f7587879e9f12e04a29fd26435949aaa4fd59c # 0.2.0
+        uses: stackabletech/actions/build-product-image@95626907fd8cae2f17c862ae40bcab1aa5a2c854 # v0.5.0
         with:
           product-name: ${{ env.PRODUCT_NAME }}
           product-version: ${{ matrix.versions }}
@@ -63,7 +63,7 @@ jobs:
           sdp-version: ${{ env.SDP_VERSION }}
 
       - name: Publish Container Image on docker.stackable.tech
-        uses: stackabletech/actions/publish-image@a3f7587879e9f12e04a29fd26435949aaa4fd59c # 0.2.0
+        uses: stackabletech/actions/publish-image@95626907fd8cae2f17c862ae40bcab1aa5a2c854 # v0.5.0
         with:
           image-registry-uri: docker.stackable.tech
           image-registry-username: github
@@ -73,7 +73,7 @@ jobs:
           source-image-uri: localhost/${{ env.PRODUCT_NAME }}:${{ steps.build.outputs.image-manifest-tag }}
 
       - name: Publish Container Image on oci.stackable.tech
-        uses: stackabletech/actions/publish-image@a3f7587879e9f12e04a29fd26435949aaa4fd59c # 0.2.0
+        uses: stackabletech/actions/publish-image@95626907fd8cae2f17c862ae40bcab1aa5a2c854 # v0.5.0
         with:
           image-registry-uri: oci.stackable.tech
           image-registry-username: robot$sdp+github-action-build
@@ -96,7 +96,7 @@ jobs:
         uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
 
       - name: Publish and Sign Image Index Manifest to docker.stackable.tech
-        uses: stackabletech/actions/publish-index-manifest@a3f7587879e9f12e04a29fd26435949aaa4fd59c # 0.2.0
+        uses: stackabletech/actions/publish-index-manifest@95626907fd8cae2f17c862ae40bcab1aa5a2c854 # v0.5.0
         with:
           image-registry-uri: docker.stackable.tech
           image-registry-username: github
@@ -105,7 +105,7 @@ jobs:
           image-index-manifest-tag: ${{ matrix.versions }}-stackable${{ env.SDP_VERSION }}
 
       - name: Publish and Sign Image Index Manifest to oci.stackable.tech
-        uses: stackabletech/actions/publish-index-manifest@a3f7587879e9f12e04a29fd26435949aaa4fd59c # 0.2.0
+        uses: stackabletech/actions/publish-index-manifest@95626907fd8cae2f17c862ae40bcab1aa5a2c854 # v0.5.0
         with:
           image-registry-uri: oci.stackable.tech
           image-registry-username: robot$sdp+github-action-build
diff --git a/.github/workflows/build_java-devel.yaml b/.github/workflows/build_java-devel.yaml
index 3383073ed..058ef295f 100644
--- a/.github/workflows/build_java-devel.yaml
+++ b/.github/workflows/build_java-devel.yaml
@@ -28,7 +28,7 @@ jobs:
     steps:
       - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
       - id: shard
-        uses: stackabletech/actions/shard@a3f7587879e9f12e04a29fd26435949aaa4fd59c # 0.2.0
+        uses: stackabletech/actions/shard@95626907fd8cae2f17c862ae40bcab1aa5a2c854 # v0.5.0
         with:
           product-name: ${{ env.PRODUCT_NAME }}
     outputs:
@@ -51,11 +51,11 @@ jobs:
         uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
 
       - name: Free Disk Space
-        uses: stackabletech/actions/free-disk-space@a3f7587879e9f12e04a29fd26435949aaa4fd59c # 0.2.0
+        uses: stackabletech/actions/free-disk-space@95626907fd8cae2f17c862ae40bcab1aa5a2c854 # v0.5.0
 
       - name: Build Product Image
         id: build
-        uses: stackabletech/actions/build-product-image@a3f7587879e9f12e04a29fd26435949aaa4fd59c # 0.2.0
+        uses: stackabletech/actions/build-product-image@95626907fd8cae2f17c862ae40bcab1aa5a2c854 # v0.5.0
         with:
           product-name: ${{ env.PRODUCT_NAME }}
           product-version: ${{ matrix.versions }}
@@ -63,7 +63,7 @@ jobs:
           sdp-version: ${{ env.SDP_VERSION }}
 
       - name: Publish Container Image on docker.stackable.tech
-        uses: stackabletech/actions/publish-image@a3f7587879e9f12e04a29fd26435949aaa4fd59c # 0.2.0
+        uses: stackabletech/actions/publish-image@95626907fd8cae2f17c862ae40bcab1aa5a2c854 # v0.5.0
         with:
           image-registry-uri: docker.stackable.tech
           image-registry-username: github
@@ -73,7 +73,7 @@ jobs:
           source-image-uri: localhost/${{ env.PRODUCT_NAME }}:${{ steps.build.outputs.image-manifest-tag }}
 
       - name: Publish Container Image on oci.stackable.tech
-        uses: stackabletech/actions/publish-image@a3f7587879e9f12e04a29fd26435949aaa4fd59c # 0.2.0
+        uses: stackabletech/actions/publish-image@95626907fd8cae2f17c862ae40bcab1aa5a2c854 # v0.5.0
         with:
           image-registry-uri: oci.stackable.tech
           image-registry-username: robot$sdp+github-action-build
@@ -96,7 +96,7 @@ jobs:
         uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
 
       - name: Publish and Sign Image Index Manifest to docker.stackable.tech
-        uses: stackabletech/actions/publish-index-manifest@a3f7587879e9f12e04a29fd26435949aaa4fd59c # 0.2.0
+        uses: stackabletech/actions/publish-index-manifest@95626907fd8cae2f17c862ae40bcab1aa5a2c854 # v0.5.0
         with:
           image-registry-uri: docker.stackable.tech
           image-registry-username: github
@@ -105,7 +105,7 @@ jobs:
           image-index-manifest-tag: ${{ matrix.versions }}-stackable${{ env.SDP_VERSION }}
 
       - name: Publish and Sign Image Index Manifest to oci.stackable.tech
-        uses: stackabletech/actions/publish-index-manifest@a3f7587879e9f12e04a29fd26435949aaa4fd59c # 0.2.0
+        uses: stackabletech/actions/publish-index-manifest@95626907fd8cae2f17c862ae40bcab1aa5a2c854 # v0.5.0
         with:
           image-registry-uri: oci.stackable.tech
           image-registry-username: robot$sdp+github-action-build
diff --git a/.github/workflows/build_kafka-testing-tools.yaml b/.github/workflows/build_kafka-testing-tools.yaml
index 532deb5f8..369fb3050 100644
--- a/.github/workflows/build_kafka-testing-tools.yaml
+++ b/.github/workflows/build_kafka-testing-tools.yaml
@@ -32,7 +32,7 @@ jobs:
     steps:
       - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
       - id: shard
-        uses: stackabletech/actions/shard@a3f7587879e9f12e04a29fd26435949aaa4fd59c # 0.2.0
+        uses: stackabletech/actions/shard@95626907fd8cae2f17c862ae40bcab1aa5a2c854 # v0.5.0
         with:
           product-name: ${{ env.PRODUCT_NAME }}
     outputs:
@@ -55,11 +55,11 @@ jobs:
         uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
 
       - name: Free Disk Space
-        uses: stackabletech/actions/free-disk-space@a3f7587879e9f12e04a29fd26435949aaa4fd59c # 0.2.0
+        uses: stackabletech/actions/free-disk-space@95626907fd8cae2f17c862ae40bcab1aa5a2c854 # v0.5.0
 
       - name: Build Product Image
         id: build
-        uses: stackabletech/actions/build-product-image@a3f7587879e9f12e04a29fd26435949aaa4fd59c # 0.2.0
+        uses: stackabletech/actions/build-product-image@95626907fd8cae2f17c862ae40bcab1aa5a2c854 # v0.5.0
         with:
           product-name: ${{ env.PRODUCT_NAME }}
           product-version: ${{ matrix.versions }}
@@ -67,7 +67,7 @@ jobs:
           sdp-version: ${{ env.SDP_VERSION }}
 
       - name: Publish Container Image on docker.stackable.tech
-        uses: stackabletech/actions/publish-image@a3f7587879e9f12e04a29fd26435949aaa4fd59c # 0.2.0
+        uses: stackabletech/actions/publish-image@95626907fd8cae2f17c862ae40bcab1aa5a2c854 # v0.5.0
         with:
           image-registry-uri: docker.stackable.tech
           image-registry-username: github
@@ -77,7 +77,7 @@ jobs:
           source-image-uri: localhost/${{ env.PRODUCT_NAME }}:${{ steps.build.outputs.image-manifest-tag }}
 
       - name: Publish Container Image on oci.stackable.tech
-        uses: stackabletech/actions/publish-image@a3f7587879e9f12e04a29fd26435949aaa4fd59c # 0.2.0
+        uses: stackabletech/actions/publish-image@95626907fd8cae2f17c862ae40bcab1aa5a2c854 # v0.5.0
         with:
           image-registry-uri: oci.stackable.tech
           image-registry-username: robot$sdp+github-action-build
@@ -100,7 +100,7 @@ jobs:
         uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
 
       - name: Publish and Sign Image Index Manifest to docker.stackable.tech
-        uses: stackabletech/actions/publish-index-manifest@a3f7587879e9f12e04a29fd26435949aaa4fd59c # 0.2.0
+        uses: stackabletech/actions/publish-index-manifest@95626907fd8cae2f17c862ae40bcab1aa5a2c854 # v0.5.0
         with:
           image-registry-uri: docker.stackable.tech
           image-registry-username: github
@@ -109,7 +109,7 @@ jobs:
           image-index-manifest-tag: ${{ matrix.versions }}-stackable${{ env.SDP_VERSION }}
 
       - name: Publish and Sign Image Index Manifest to oci.stackable.tech
-        uses: stackabletech/actions/publish-index-manifest@a3f7587879e9f12e04a29fd26435949aaa4fd59c # 0.2.0
+        uses: stackabletech/actions/publish-index-manifest@95626907fd8cae2f17c862ae40bcab1aa5a2c854 # v0.5.0
         with:
           image-registry-uri: oci.stackable.tech
           image-registry-username: robot$sdp+github-action-build
diff --git a/.github/workflows/build_kafka.yaml b/.github/workflows/build_kafka.yaml
index 715a85825..3960a3eea 100644
--- a/.github/workflows/build_kafka.yaml
+++ b/.github/workflows/build_kafka.yaml
@@ -34,7 +34,7 @@ jobs:
     steps:
       - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
       - id: shard
-        uses: stackabletech/actions/shard@a3f7587879e9f12e04a29fd26435949aaa4fd59c # 0.2.0
+        uses: stackabletech/actions/shard@95626907fd8cae2f17c862ae40bcab1aa5a2c854 # v0.5.0
         with:
           product-name: ${{ env.PRODUCT_NAME }}
     outputs:
@@ -57,11 +57,11 @@ jobs:
         uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
 
       - name: Free Disk Space
-        uses: stackabletech/actions/free-disk-space@a3f7587879e9f12e04a29fd26435949aaa4fd59c # 0.2.0
+        uses: stackabletech/actions/free-disk-space@95626907fd8cae2f17c862ae40bcab1aa5a2c854 # v0.5.0
 
       - name: Build Product Image
         id: build
-        uses: stackabletech/actions/build-product-image@a3f7587879e9f12e04a29fd26435949aaa4fd59c # 0.2.0
+        uses: stackabletech/actions/build-product-image@95626907fd8cae2f17c862ae40bcab1aa5a2c854 # v0.5.0
         with:
           product-name: ${{ env.PRODUCT_NAME }}
           product-version: ${{ matrix.versions }}
@@ -69,7 +69,7 @@ jobs:
           sdp-version: ${{ env.SDP_VERSION }}
 
       - name: Publish Container Image on docker.stackable.tech
-        uses: stackabletech/actions/publish-image@a3f7587879e9f12e04a29fd26435949aaa4fd59c # 0.2.0
+        uses: stackabletech/actions/publish-image@95626907fd8cae2f17c862ae40bcab1aa5a2c854 # v0.5.0
         with:
           image-registry-uri: docker.stackable.tech
           image-registry-username: github
@@ -79,7 +79,7 @@ jobs:
           source-image-uri: localhost/${{ env.PRODUCT_NAME }}:${{ steps.build.outputs.image-manifest-tag }}
 
       - name: Publish Container Image on oci.stackable.tech
-        uses: stackabletech/actions/publish-image@a3f7587879e9f12e04a29fd26435949aaa4fd59c # 0.2.0
+        uses: stackabletech/actions/publish-image@95626907fd8cae2f17c862ae40bcab1aa5a2c854 # v0.5.0
         with:
           image-registry-uri: oci.stackable.tech
           image-registry-username: robot$sdp+github-action-build
@@ -102,7 +102,7 @@ jobs:
         uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
 
       - name: Publish and Sign Image Index Manifest to docker.stackable.tech
-        uses: stackabletech/actions/publish-index-manifest@a3f7587879e9f12e04a29fd26435949aaa4fd59c # 0.2.0
+        uses: stackabletech/actions/publish-index-manifest@95626907fd8cae2f17c862ae40bcab1aa5a2c854 # v0.5.0
         with:
           image-registry-uri: docker.stackable.tech
           image-registry-username: github
@@ -111,7 +111,7 @@ jobs:
           image-index-manifest-tag: ${{ matrix.versions }}-stackable${{ env.SDP_VERSION }}
 
       - name: Publish and Sign Image Index Manifest to oci.stackable.tech
-        uses: stackabletech/actions/publish-index-manifest@a3f7587879e9f12e04a29fd26435949aaa4fd59c # 0.2.0
+        uses: stackabletech/actions/publish-index-manifest@95626907fd8cae2f17c862ae40bcab1aa5a2c854 # v0.5.0
         with:
           image-registry-uri: oci.stackable.tech
           image-registry-username: robot$sdp+github-action-build
diff --git a/.github/workflows/build_kcat.yaml b/.github/workflows/build_kcat.yaml
index 93af6451c..0525eb09a 100644
--- a/.github/workflows/build_kcat.yaml
+++ b/.github/workflows/build_kcat.yaml
@@ -32,7 +32,7 @@ jobs:
     steps:
       - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
       - id: shard
-        uses: stackabletech/actions/shard@a3f7587879e9f12e04a29fd26435949aaa4fd59c # 0.2.0
+        uses: stackabletech/actions/shard@95626907fd8cae2f17c862ae40bcab1aa5a2c854 # v0.5.0
         with:
           product-name: ${{ env.PRODUCT_NAME }}
     outputs:
@@ -55,11 +55,11 @@ jobs:
         uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
 
       - name: Free Disk Space
-        uses: stackabletech/actions/free-disk-space@a3f7587879e9f12e04a29fd26435949aaa4fd59c # 0.2.0
+        uses: stackabletech/actions/free-disk-space@95626907fd8cae2f17c862ae40bcab1aa5a2c854 # v0.5.0
 
       - name: Build Product Image
         id: build
-        uses: stackabletech/actions/build-product-image@a3f7587879e9f12e04a29fd26435949aaa4fd59c # 0.2.0
+        uses: stackabletech/actions/build-product-image@95626907fd8cae2f17c862ae40bcab1aa5a2c854 # v0.5.0
         with:
           product-name: ${{ env.PRODUCT_NAME }}
           product-version: ${{ matrix.versions }}
@@ -67,7 +67,7 @@ jobs:
           sdp-version: ${{ env.SDP_VERSION }}
 
       - name: Publish Container Image on docker.stackable.tech
-        uses: stackabletech/actions/publish-image@a3f7587879e9f12e04a29fd26435949aaa4fd59c # 0.2.0
+        uses: stackabletech/actions/publish-image@95626907fd8cae2f17c862ae40bcab1aa5a2c854 # v0.5.0
         with:
           image-registry-uri: docker.stackable.tech
           image-registry-username: github
@@ -77,7 +77,7 @@ jobs:
           source-image-uri: localhost/${{ env.PRODUCT_NAME }}:${{ steps.build.outputs.image-manifest-tag }}
 
       - name: Publish Container Image on oci.stackable.tech
-        uses: stackabletech/actions/publish-image@a3f7587879e9f12e04a29fd26435949aaa4fd59c # 0.2.0
+        uses: stackabletech/actions/publish-image@95626907fd8cae2f17c862ae40bcab1aa5a2c854 # v0.5.0
         with:
           image-registry-uri: oci.stackable.tech
           image-registry-username: robot$sdp+github-action-build
@@ -100,7 +100,7 @@ jobs:
         uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
 
       - name: Publish and Sign Image Index Manifest to docker.stackable.tech
-        uses: stackabletech/actions/publish-index-manifest@a3f7587879e9f12e04a29fd26435949aaa4fd59c # 0.2.0
+        uses: stackabletech/actions/publish-index-manifest@95626907fd8cae2f17c862ae40bcab1aa5a2c854 # v0.5.0
         with:
           image-registry-uri: docker.stackable.tech
           image-registry-username: github
@@ -109,7 +109,7 @@ jobs:
           image-index-manifest-tag: ${{ matrix.versions }}-stackable${{ env.SDP_VERSION }}
 
       - name: Publish and Sign Image Index Manifest to oci.stackable.tech
-        uses: stackabletech/actions/publish-index-manifest@a3f7587879e9f12e04a29fd26435949aaa4fd59c # 0.2.0
+        uses: stackabletech/actions/publish-index-manifest@95626907fd8cae2f17c862ae40bcab1aa5a2c854 # v0.5.0
         with:
           image-registry-uri: oci.stackable.tech
           image-registry-username: robot$sdp+github-action-build
diff --git a/.github/workflows/build_krb5.yaml b/.github/workflows/build_krb5.yaml
index 825b8266e..91cd00bb4 100644
--- a/.github/workflows/build_krb5.yaml
+++ b/.github/workflows/build_krb5.yaml
@@ -28,7 +28,7 @@ jobs:
     steps:
       - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
       - id: shard
-        uses: stackabletech/actions/shard@a3f7587879e9f12e04a29fd26435949aaa4fd59c # 0.2.0
+        uses: stackabletech/actions/shard@95626907fd8cae2f17c862ae40bcab1aa5a2c854 # v0.5.0
         with:
           product-name: ${{ env.PRODUCT_NAME }}
     outputs:
@@ -51,11 +51,11 @@ jobs:
         uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
 
       - name: Free Disk Space
-        uses: stackabletech/actions/free-disk-space@a3f7587879e9f12e04a29fd26435949aaa4fd59c # 0.2.0
+        uses: stackabletech/actions/free-disk-space@95626907fd8cae2f17c862ae40bcab1aa5a2c854 # v0.5.0
 
       - name: Build Product Image
         id: build
-        uses: stackabletech/actions/build-product-image@a3f7587879e9f12e04a29fd26435949aaa4fd59c # 0.2.0
+        uses: stackabletech/actions/build-product-image@95626907fd8cae2f17c862ae40bcab1aa5a2c854 # v0.5.0
         with:
           product-name: ${{ env.PRODUCT_NAME }}
           product-version: ${{ matrix.versions }}
@@ -63,7 +63,7 @@ jobs:
           sdp-version: ${{ env.SDP_VERSION }}
 
       - name: Publish Container Image on docker.stackable.tech
-        uses: stackabletech/actions/publish-image@a3f7587879e9f12e04a29fd26435949aaa4fd59c # 0.2.0
+        uses: stackabletech/actions/publish-image@95626907fd8cae2f17c862ae40bcab1aa5a2c854 # v0.5.0
         with:
           image-registry-uri: docker.stackable.tech
           image-registry-username: github
@@ -73,7 +73,7 @@ jobs:
           source-image-uri: localhost/${{ env.PRODUCT_NAME }}:${{ steps.build.outputs.image-manifest-tag }}
 
       - name: Publish Container Image on oci.stackable.tech
-        uses: stackabletech/actions/publish-image@a3f7587879e9f12e04a29fd26435949aaa4fd59c # 0.2.0
+        uses: stackabletech/actions/publish-image@95626907fd8cae2f17c862ae40bcab1aa5a2c854 # v0.5.0
         with:
           image-registry-uri: oci.stackable.tech
           image-registry-username: robot$sdp+github-action-build
@@ -96,7 +96,7 @@ jobs:
         uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
 
       - name: Publish and Sign Image Index Manifest to docker.stackable.tech
-        uses: stackabletech/actions/publish-index-manifest@a3f7587879e9f12e04a29fd26435949aaa4fd59c # 0.2.0
+        uses: stackabletech/actions/publish-index-manifest@95626907fd8cae2f17c862ae40bcab1aa5a2c854 # v0.5.0
         with:
           image-registry-uri: docker.stackable.tech
           image-registry-username: github
@@ -105,7 +105,7 @@ jobs:
           image-index-manifest-tag: ${{ matrix.versions }}-stackable${{ env.SDP_VERSION }}
 
       - name: Publish and Sign Image Index Manifest to oci.stackable.tech
-        uses: stackabletech/actions/publish-index-manifest@a3f7587879e9f12e04a29fd26435949aaa4fd59c # 0.2.0
+        uses: stackabletech/actions/publish-index-manifest@95626907fd8cae2f17c862ae40bcab1aa5a2c854 # v0.5.0
         with:
           image-registry-uri: oci.stackable.tech
           image-registry-username: robot$sdp+github-action-build
diff --git a/.github/workflows/build_nifi.yaml b/.github/workflows/build_nifi.yaml
index e662e71fb..f9426b652 100644
--- a/.github/workflows/build_nifi.yaml
+++ b/.github/workflows/build_nifi.yaml
@@ -32,7 +32,7 @@ jobs:
     steps:
       - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
       - id: shard
-        uses: stackabletech/actions/shard@a3f7587879e9f12e04a29fd26435949aaa4fd59c # 0.2.0
+        uses: stackabletech/actions/shard@95626907fd8cae2f17c862ae40bcab1aa5a2c854 # v0.5.0
         with:
           product-name: ${{ env.PRODUCT_NAME }}
     outputs:
@@ -55,11 +55,11 @@ jobs:
         uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
 
       - name: Free Disk Space
-        uses: stackabletech/actions/free-disk-space@a3f7587879e9f12e04a29fd26435949aaa4fd59c # 0.2.0
+        uses: stackabletech/actions/free-disk-space@95626907fd8cae2f17c862ae40bcab1aa5a2c854 # v0.5.0
 
       - name: Build Product Image
         id: build
-        uses: stackabletech/actions/build-product-image@a3f7587879e9f12e04a29fd26435949aaa4fd59c # 0.2.0
+        uses: stackabletech/actions/build-product-image@95626907fd8cae2f17c862ae40bcab1aa5a2c854 # v0.5.0
         with:
           product-name: ${{ env.PRODUCT_NAME }}
           product-version: ${{ matrix.versions }}
@@ -67,7 +67,7 @@ jobs:
           sdp-version: ${{ env.SDP_VERSION }}
 
       - name: Publish Container Image on docker.stackable.tech
-        uses: stackabletech/actions/publish-image@a3f7587879e9f12e04a29fd26435949aaa4fd59c # 0.2.0
+        uses: stackabletech/actions/publish-image@95626907fd8cae2f17c862ae40bcab1aa5a2c854 # v0.5.0
         with:
           image-registry-uri: docker.stackable.tech
           image-registry-username: github
@@ -77,7 +77,7 @@ jobs:
           source-image-uri: localhost/${{ env.PRODUCT_NAME }}:${{ steps.build.outputs.image-manifest-tag }}
 
       - name: Publish Container Image on oci.stackable.tech
-        uses: stackabletech/actions/publish-image@a3f7587879e9f12e04a29fd26435949aaa4fd59c # 0.2.0
+        uses: stackabletech/actions/publish-image@95626907fd8cae2f17c862ae40bcab1aa5a2c854 # v0.5.0
         with:
           image-registry-uri: oci.stackable.tech
           image-registry-username: robot$sdp+github-action-build
@@ -100,7 +100,7 @@ jobs:
         uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
 
       - name: Publish and Sign Image Index Manifest to docker.stackable.tech
-        uses: stackabletech/actions/publish-index-manifest@a3f7587879e9f12e04a29fd26435949aaa4fd59c # 0.2.0
+        uses: stackabletech/actions/publish-index-manifest@95626907fd8cae2f17c862ae40bcab1aa5a2c854 # v0.5.0
         with:
           image-registry-uri: docker.stackable.tech
           image-registry-username: github
@@ -109,7 +109,7 @@ jobs:
           image-index-manifest-tag: ${{ matrix.versions }}-stackable${{ env.SDP_VERSION }}
 
       - name: Publish and Sign Image Index Manifest to oci.stackable.tech
-        uses: stackabletech/actions/publish-index-manifest@a3f7587879e9f12e04a29fd26435949aaa4fd59c # 0.2.0
+        uses: stackabletech/actions/publish-index-manifest@95626907fd8cae2f17c862ae40bcab1aa5a2c854 # v0.5.0
         with:
           image-registry-uri: oci.stackable.tech
           image-registry-username: robot$sdp+github-action-build
diff --git a/.github/workflows/build_omid.yaml b/.github/workflows/build_omid.yaml
index 10af5364f..06b04a458 100644
--- a/.github/workflows/build_omid.yaml
+++ b/.github/workflows/build_omid.yaml
@@ -32,7 +32,7 @@ jobs:
     steps:
       - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
       - id: shard
-        uses: stackabletech/actions/shard@a3f7587879e9f12e04a29fd26435949aaa4fd59c # 0.2.0
+        uses: stackabletech/actions/shard@95626907fd8cae2f17c862ae40bcab1aa5a2c854 # v0.5.0
         with:
           product-name: ${{ env.PRODUCT_NAME }}
     outputs:
@@ -55,11 +55,11 @@ jobs:
         uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
 
       - name: Free Disk Space
-        uses: stackabletech/actions/free-disk-space@a3f7587879e9f12e04a29fd26435949aaa4fd59c # 0.2.0
+        uses: stackabletech/actions/free-disk-space@95626907fd8cae2f17c862ae40bcab1aa5a2c854 # v0.5.0
 
       - name: Build Product Image
         id: build
-        uses: stackabletech/actions/build-product-image@a3f7587879e9f12e04a29fd26435949aaa4fd59c # 0.2.0
+        uses: stackabletech/actions/build-product-image@95626907fd8cae2f17c862ae40bcab1aa5a2c854 # v0.5.0
         with:
           product-name: ${{ env.PRODUCT_NAME }}
           product-version: ${{ matrix.versions }}
@@ -67,7 +67,7 @@ jobs:
           sdp-version: ${{ env.SDP_VERSION }}
 
       - name: Publish Container Image on docker.stackable.tech
-        uses: stackabletech/actions/publish-image@a3f7587879e9f12e04a29fd26435949aaa4fd59c # 0.2.0
+        uses: stackabletech/actions/publish-image@95626907fd8cae2f17c862ae40bcab1aa5a2c854 # v0.5.0
         with:
           image-registry-uri: docker.stackable.tech
           image-registry-username: github
@@ -77,7 +77,7 @@ jobs:
           source-image-uri: localhost/${{ env.PRODUCT_NAME }}:${{ steps.build.outputs.image-manifest-tag }}
 
       - name: Publish Container Image on oci.stackable.tech
-        uses: stackabletech/actions/publish-image@a3f7587879e9f12e04a29fd26435949aaa4fd59c # 0.2.0
+        uses: stackabletech/actions/publish-image@95626907fd8cae2f17c862ae40bcab1aa5a2c854 # v0.5.0
         with:
           image-registry-uri: oci.stackable.tech
           image-registry-username: robot$sdp+github-action-build
@@ -100,7 +100,7 @@ jobs:
         uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
 
       - name: Publish and Sign Image Index Manifest to docker.stackable.tech
-        uses: stackabletech/actions/publish-index-manifest@a3f7587879e9f12e04a29fd26435949aaa4fd59c # 0.2.0
+        uses: stackabletech/actions/publish-index-manifest@95626907fd8cae2f17c862ae40bcab1aa5a2c854 # v0.5.0
         with:
           image-registry-uri: docker.stackable.tech
           image-registry-username: github
@@ -109,7 +109,7 @@ jobs:
           image-index-manifest-tag: ${{ matrix.versions }}-stackable${{ env.SDP_VERSION }}
 
       - name: Publish and Sign Image Index Manifest to oci.stackable.tech
-        uses: stackabletech/actions/publish-index-manifest@a3f7587879e9f12e04a29fd26435949aaa4fd59c # 0.2.0
+        uses: stackabletech/actions/publish-index-manifest@95626907fd8cae2f17c862ae40bcab1aa5a2c854 # v0.5.0
         with:
           image-registry-uri: oci.stackable.tech
           image-registry-username: robot$sdp+github-action-build
diff --git a/.github/workflows/build_opa.yaml b/.github/workflows/build_opa.yaml
index 17fa77359..a717f43ee 100644
--- a/.github/workflows/build_opa.yaml
+++ b/.github/workflows/build_opa.yaml
@@ -30,7 +30,7 @@ jobs:
     steps:
       - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
       - id: shard
-        uses: stackabletech/actions/shard@a3f7587879e9f12e04a29fd26435949aaa4fd59c # 0.2.0
+        uses: stackabletech/actions/shard@95626907fd8cae2f17c862ae40bcab1aa5a2c854 # v0.5.0
         with:
           product-name: ${{ env.PRODUCT_NAME }}
     outputs:
@@ -53,11 +53,11 @@ jobs:
         uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
 
       - name: Free Disk Space
-        uses: stackabletech/actions/free-disk-space@a3f7587879e9f12e04a29fd26435949aaa4fd59c # 0.2.0
+        uses: stackabletech/actions/free-disk-space@95626907fd8cae2f17c862ae40bcab1aa5a2c854 # v0.5.0
 
       - name: Build Product Image
         id: build
-        uses: stackabletech/actions/build-product-image@a3f7587879e9f12e04a29fd26435949aaa4fd59c # 0.2.0
+        uses: stackabletech/actions/build-product-image@95626907fd8cae2f17c862ae40bcab1aa5a2c854 # v0.5.0
         with:
           product-name: ${{ env.PRODUCT_NAME }}
           product-version: ${{ matrix.versions }}
@@ -65,7 +65,7 @@ jobs:
           sdp-version: ${{ env.SDP_VERSION }}
 
       - name: Publish Container Image on docker.stackable.tech
-        uses: stackabletech/actions/publish-image@a3f7587879e9f12e04a29fd26435949aaa4fd59c # 0.2.0
+        uses: stackabletech/actions/publish-image@95626907fd8cae2f17c862ae40bcab1aa5a2c854 # v0.5.0
         with:
           image-registry-uri: docker.stackable.tech
           image-registry-username: github
@@ -75,7 +75,7 @@ jobs:
           source-image-uri: localhost/${{ env.PRODUCT_NAME }}:${{ steps.build.outputs.image-manifest-tag }}
 
       - name: Publish Container Image on oci.stackable.tech
-        uses: stackabletech/actions/publish-image@a3f7587879e9f12e04a29fd26435949aaa4fd59c # 0.2.0
+        uses: stackabletech/actions/publish-image@95626907fd8cae2f17c862ae40bcab1aa5a2c854 # v0.5.0
         with:
           image-registry-uri: oci.stackable.tech
           image-registry-username: robot$sdp+github-action-build
@@ -98,7 +98,7 @@ jobs:
         uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
 
       - name: Publish and Sign Image Index Manifest to docker.stackable.tech
-        uses: stackabletech/actions/publish-index-manifest@a3f7587879e9f12e04a29fd26435949aaa4fd59c # 0.2.0
+        uses: stackabletech/actions/publish-index-manifest@95626907fd8cae2f17c862ae40bcab1aa5a2c854 # v0.5.0
         with:
           image-registry-uri: docker.stackable.tech
           image-registry-username: github
@@ -107,7 +107,7 @@ jobs:
           image-index-manifest-tag: ${{ matrix.versions }}-stackable${{ env.SDP_VERSION }}
 
       - name: Publish and Sign Image Index Manifest to oci.stackable.tech
-        uses: stackabletech/actions/publish-index-manifest@a3f7587879e9f12e04a29fd26435949aaa4fd59c # 0.2.0
+        uses: stackabletech/actions/publish-index-manifest@95626907fd8cae2f17c862ae40bcab1aa5a2c854 # v0.5.0
         with:
           image-registry-uri: oci.stackable.tech
           image-registry-username: robot$sdp+github-action-build
diff --git a/.github/workflows/build_spark-k8s.yaml b/.github/workflows/build_spark-k8s.yaml
index 67c3a118b..643682eae 100644
--- a/.github/workflows/build_spark-k8s.yaml
+++ b/.github/workflows/build_spark-k8s.yaml
@@ -33,7 +33,7 @@ jobs:
     steps:
       - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
       - id: shard
-        uses: stackabletech/actions/shard@a3f7587879e9f12e04a29fd26435949aaa4fd59c # 0.2.0
+        uses: stackabletech/actions/shard@95626907fd8cae2f17c862ae40bcab1aa5a2c854 # v0.5.0
         with:
           product-name: ${{ env.PRODUCT_NAME }}
     outputs:
@@ -56,11 +56,11 @@ jobs:
         uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
 
       - name: Free Disk Space
-        uses: stackabletech/actions/free-disk-space@a3f7587879e9f12e04a29fd26435949aaa4fd59c # 0.2.0
+        uses: stackabletech/actions/free-disk-space@95626907fd8cae2f17c862ae40bcab1aa5a2c854 # v0.5.0
 
       - name: Build Product Image
         id: build
-        uses: stackabletech/actions/build-product-image@a3f7587879e9f12e04a29fd26435949aaa4fd59c # 0.2.0
+        uses: stackabletech/actions/build-product-image@95626907fd8cae2f17c862ae40bcab1aa5a2c854 # v0.5.0
         with:
           product-name: ${{ env.PRODUCT_NAME }}
           product-version: ${{ matrix.versions }}
@@ -68,7 +68,7 @@ jobs:
           sdp-version: ${{ env.SDP_VERSION }}
 
       - name: Publish Container Image on docker.stackable.tech
-        uses: stackabletech/actions/publish-image@a3f7587879e9f12e04a29fd26435949aaa4fd59c # 0.2.0
+        uses: stackabletech/actions/publish-image@95626907fd8cae2f17c862ae40bcab1aa5a2c854 # v0.5.0
         with:
           image-registry-uri: docker.stackable.tech
           image-registry-username: github
@@ -78,7 +78,7 @@ jobs:
           source-image-uri: localhost/${{ env.PRODUCT_NAME }}:${{ steps.build.outputs.image-manifest-tag }}
 
       - name: Publish Container Image on oci.stackable.tech
-        uses: stackabletech/actions/publish-image@a3f7587879e9f12e04a29fd26435949aaa4fd59c # 0.2.0
+        uses: stackabletech/actions/publish-image@95626907fd8cae2f17c862ae40bcab1aa5a2c854 # v0.5.0
         with:
           image-registry-uri: oci.stackable.tech
           image-registry-username: robot$sdp+github-action-build
@@ -101,7 +101,7 @@ jobs:
         uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
 
       - name: Publish and Sign Image Index Manifest to docker.stackable.tech
-        uses: stackabletech/actions/publish-index-manifest@a3f7587879e9f12e04a29fd26435949aaa4fd59c # 0.2.0
+        uses: stackabletech/actions/publish-index-manifest@95626907fd8cae2f17c862ae40bcab1aa5a2c854 # v0.5.0
         with:
           image-registry-uri: docker.stackable.tech
           image-registry-username: github
@@ -110,7 +110,7 @@ jobs:
           image-index-manifest-tag: ${{ matrix.versions }}-stackable${{ env.SDP_VERSION }}
 
       - name: Publish and Sign Image Index Manifest to oci.stackable.tech
-        uses: stackabletech/actions/publish-index-manifest@a3f7587879e9f12e04a29fd26435949aaa4fd59c # 0.2.0
+        uses: stackabletech/actions/publish-index-manifest@95626907fd8cae2f17c862ae40bcab1aa5a2c854 # v0.5.0
         with:
           image-registry-uri: oci.stackable.tech
           image-registry-username: robot$sdp+github-action-build
diff --git a/.github/workflows/build_stackable-base.yaml b/.github/workflows/build_stackable-base.yaml
index faf581aaa..e0dfb5af1 100644
--- a/.github/workflows/build_stackable-base.yaml
+++ b/.github/workflows/build_stackable-base.yaml
@@ -29,7 +29,7 @@ jobs:
     steps:
       - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
       - id: shard
-        uses: stackabletech/actions/shard@a3f7587879e9f12e04a29fd26435949aaa4fd59c # 0.2.0
+        uses: stackabletech/actions/shard@95626907fd8cae2f17c862ae40bcab1aa5a2c854 # v0.5.0
         with:
           product-name: ${{ env.PRODUCT_NAME }}
     outputs:
@@ -52,11 +52,11 @@ jobs:
         uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
 
       - name: Free Disk Space
-        uses: stackabletech/actions/free-disk-space@a3f7587879e9f12e04a29fd26435949aaa4fd59c # 0.2.0
+        uses: stackabletech/actions/free-disk-space@95626907fd8cae2f17c862ae40bcab1aa5a2c854 # v0.5.0
 
       - name: Build Product Image
         id: build
-        uses: stackabletech/actions/build-product-image@a3f7587879e9f12e04a29fd26435949aaa4fd59c # 0.2.0
+        uses: stackabletech/actions/build-product-image@95626907fd8cae2f17c862ae40bcab1aa5a2c854 # v0.5.0
         with:
           product-name: ${{ env.PRODUCT_NAME }}
           product-version: ${{ matrix.versions }}
@@ -64,7 +64,7 @@ jobs:
           sdp-version: ${{ env.SDP_VERSION }}
 
       - name: Publish Container Image on docker.stackable.tech
-        uses: stackabletech/actions/publish-image@a3f7587879e9f12e04a29fd26435949aaa4fd59c # 0.2.0
+        uses: stackabletech/actions/publish-image@95626907fd8cae2f17c862ae40bcab1aa5a2c854 # v0.5.0
         with:
           image-registry-uri: docker.stackable.tech
           image-registry-username: github
@@ -74,7 +74,7 @@ jobs:
           source-image-uri: localhost/${{ env.PRODUCT_NAME }}:${{ steps.build.outputs.image-manifest-tag }}
 
       - name: Publish Container Image on oci.stackable.tech
-        uses: stackabletech/actions/publish-image@a3f7587879e9f12e04a29fd26435949aaa4fd59c # 0.2.0
+        uses: stackabletech/actions/publish-image@95626907fd8cae2f17c862ae40bcab1aa5a2c854 # v0.5.0
         with:
           image-registry-uri: oci.stackable.tech
           image-registry-username: robot$sdp+github-action-build
@@ -97,7 +97,7 @@ jobs:
         uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
 
       - name: Publish and Sign Image Index Manifest to docker.stackable.tech
-        uses: stackabletech/actions/publish-index-manifest@a3f7587879e9f12e04a29fd26435949aaa4fd59c # 0.2.0
+        uses: stackabletech/actions/publish-index-manifest@95626907fd8cae2f17c862ae40bcab1aa5a2c854 # v0.5.0
         with:
           image-registry-uri: docker.stackable.tech
           image-registry-username: github
@@ -106,7 +106,7 @@ jobs:
           image-index-manifest-tag: ${{ matrix.versions }}-stackable${{ env.SDP_VERSION }}
 
       - name: Publish and Sign Image Index Manifest to oci.stackable.tech
-        uses: stackabletech/actions/publish-index-manifest@a3f7587879e9f12e04a29fd26435949aaa4fd59c # 0.2.0
+        uses: stackabletech/actions/publish-index-manifest@95626907fd8cae2f17c862ae40bcab1aa5a2c854 # v0.5.0
         with:
           image-registry-uri: oci.stackable.tech
           image-registry-username: robot$sdp+github-action-build
diff --git a/.github/workflows/build_superset.yaml b/.github/workflows/build_superset.yaml
index fde65f335..0d70de45f 100644
--- a/.github/workflows/build_superset.yaml
+++ b/.github/workflows/build_superset.yaml
@@ -30,7 +30,7 @@ jobs:
     steps:
       - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
       - id: shard
-        uses: stackabletech/actions/shard@a3f7587879e9f12e04a29fd26435949aaa4fd59c # 0.2.0
+        uses: stackabletech/actions/shard@95626907fd8cae2f17c862ae40bcab1aa5a2c854 # v0.5.0
         with:
           product-name: ${{ env.PRODUCT_NAME }}
     outputs:
@@ -53,11 +53,11 @@ jobs:
         uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
 
       - name: Free Disk Space
-        uses: stackabletech/actions/free-disk-space@a3f7587879e9f12e04a29fd26435949aaa4fd59c # 0.2.0
+        uses: stackabletech/actions/free-disk-space@95626907fd8cae2f17c862ae40bcab1aa5a2c854 # v0.5.0
 
       - name: Build Product Image
         id: build
-        uses: stackabletech/actions/build-product-image@a3f7587879e9f12e04a29fd26435949aaa4fd59c # 0.2.0
+        uses: stackabletech/actions/build-product-image@95626907fd8cae2f17c862ae40bcab1aa5a2c854 # v0.5.0
         with:
           product-name: ${{ env.PRODUCT_NAME }}
           product-version: ${{ matrix.versions }}
@@ -65,7 +65,7 @@ jobs:
           sdp-version: ${{ env.SDP_VERSION }}
 
       - name: Publish Container Image on docker.stackable.tech
-        uses: stackabletech/actions/publish-image@a3f7587879e9f12e04a29fd26435949aaa4fd59c # 0.2.0
+        uses: stackabletech/actions/publish-image@95626907fd8cae2f17c862ae40bcab1aa5a2c854 # v0.5.0
         with:
           image-registry-uri: docker.stackable.tech
           image-registry-username: github
@@ -75,7 +75,7 @@ jobs:
           source-image-uri: localhost/${{ env.PRODUCT_NAME }}:${{ steps.build.outputs.image-manifest-tag }}
 
       - name: Publish Container Image on oci.stackable.tech
-        uses: stackabletech/actions/publish-image@a3f7587879e9f12e04a29fd26435949aaa4fd59c # 0.2.0
+        uses: stackabletech/actions/publish-image@95626907fd8cae2f17c862ae40bcab1aa5a2c854 # v0.5.0
         with:
           image-registry-uri: oci.stackable.tech
           image-registry-username: robot$sdp+github-action-build
@@ -98,7 +98,7 @@ jobs:
         uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
 
       - name: Publish and Sign Image Index Manifest to docker.stackable.tech
-        uses: stackabletech/actions/publish-index-manifest@a3f7587879e9f12e04a29fd26435949aaa4fd59c # 0.2.0
+        uses: stackabletech/actions/publish-index-manifest@95626907fd8cae2f17c862ae40bcab1aa5a2c854 # v0.5.0
         with:
           image-registry-uri: docker.stackable.tech
           image-registry-username: github
@@ -107,7 +107,7 @@ jobs:
           image-index-manifest-tag: ${{ matrix.versions }}-stackable${{ env.SDP_VERSION }}
 
       - name: Publish and Sign Image Index Manifest to oci.stackable.tech
-        uses: stackabletech/actions/publish-index-manifest@a3f7587879e9f12e04a29fd26435949aaa4fd59c # 0.2.0
+        uses: stackabletech/actions/publish-index-manifest@95626907fd8cae2f17c862ae40bcab1aa5a2c854 # v0.5.0
         with:
           image-registry-uri: oci.stackable.tech
           image-registry-username: robot$sdp+github-action-build
diff --git a/.github/workflows/build_testing-tools.yaml b/.github/workflows/build_testing-tools.yaml
index 041b86801..b85ef8b39 100644
--- a/.github/workflows/build_testing-tools.yaml
+++ b/.github/workflows/build_testing-tools.yaml
@@ -28,7 +28,7 @@ jobs:
     steps:
       - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
       - id: shard
-        uses: stackabletech/actions/shard@a3f7587879e9f12e04a29fd26435949aaa4fd59c # 0.2.0
+        uses: stackabletech/actions/shard@95626907fd8cae2f17c862ae40bcab1aa5a2c854 # v0.5.0
         with:
           product-name: ${{ env.PRODUCT_NAME }}
     outputs:
@@ -51,11 +51,11 @@ jobs:
         uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
 
       - name: Free Disk Space
-        uses: stackabletech/actions/free-disk-space@a3f7587879e9f12e04a29fd26435949aaa4fd59c # 0.2.0
+        uses: stackabletech/actions/free-disk-space@95626907fd8cae2f17c862ae40bcab1aa5a2c854 # v0.5.0
 
       - name: Build Product Image
         id: build
-        uses: stackabletech/actions/build-product-image@a3f7587879e9f12e04a29fd26435949aaa4fd59c # 0.2.0
+        uses: stackabletech/actions/build-product-image@95626907fd8cae2f17c862ae40bcab1aa5a2c854 # v0.5.0
         with:
           product-name: ${{ env.PRODUCT_NAME }}
           product-version: ${{ matrix.versions }}
@@ -63,7 +63,7 @@ jobs:
           sdp-version: ${{ env.SDP_VERSION }}
 
       - name: Publish Container Image on docker.stackable.tech
-        uses: stackabletech/actions/publish-image@a3f7587879e9f12e04a29fd26435949aaa4fd59c # 0.2.0
+        uses: stackabletech/actions/publish-image@95626907fd8cae2f17c862ae40bcab1aa5a2c854 # v0.5.0
         with:
           image-registry-uri: docker.stackable.tech
           image-registry-username: github
@@ -73,7 +73,7 @@ jobs:
           source-image-uri: localhost/${{ env.PRODUCT_NAME }}:${{ steps.build.outputs.image-manifest-tag }}
 
       - name: Publish Container Image on oci.stackable.tech
-        uses: stackabletech/actions/publish-image@a3f7587879e9f12e04a29fd26435949aaa4fd59c # 0.2.0
+        uses: stackabletech/actions/publish-image@95626907fd8cae2f17c862ae40bcab1aa5a2c854 # v0.5.0
         with:
           image-registry-uri: oci.stackable.tech
           image-registry-username: robot$sdp+github-action-build
@@ -96,7 +96,7 @@ jobs:
         uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
 
       - name: Publish and Sign Image Index Manifest to docker.stackable.tech
-        uses: stackabletech/actions/publish-index-manifest@a3f7587879e9f12e04a29fd26435949aaa4fd59c # 0.2.0
+        uses: stackabletech/actions/publish-index-manifest@95626907fd8cae2f17c862ae40bcab1aa5a2c854 # v0.5.0
         with:
           image-registry-uri: docker.stackable.tech
           image-registry-username: github
@@ -105,7 +105,7 @@ jobs:
           image-index-manifest-tag: ${{ matrix.versions }}-stackable${{ env.SDP_VERSION }}
 
       - name: Publish and Sign Image Index Manifest to oci.stackable.tech
-        uses: stackabletech/actions/publish-index-manifest@a3f7587879e9f12e04a29fd26435949aaa4fd59c # 0.2.0
+        uses: stackabletech/actions/publish-index-manifest@95626907fd8cae2f17c862ae40bcab1aa5a2c854 # v0.5.0
         with:
           image-registry-uri: oci.stackable.tech
           image-registry-username: robot$sdp+github-action-build
diff --git a/.github/workflows/build_tools.yaml b/.github/workflows/build_tools.yaml
index 77626f116..8cebef078 100644
--- a/.github/workflows/build_tools.yaml
+++ b/.github/workflows/build_tools.yaml
@@ -29,7 +29,7 @@ jobs:
     steps:
       - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
       - id: shard
-        uses: stackabletech/actions/shard@a3f7587879e9f12e04a29fd26435949aaa4fd59c # 0.2.0
+        uses: stackabletech/actions/shard@95626907fd8cae2f17c862ae40bcab1aa5a2c854 # v0.5.0
         with:
           product-name: ${{ env.PRODUCT_NAME }}
     outputs:
@@ -52,11 +52,11 @@ jobs:
         uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
 
       - name: Free Disk Space
-        uses: stackabletech/actions/free-disk-space@a3f7587879e9f12e04a29fd26435949aaa4fd59c # 0.2.0
+        uses: stackabletech/actions/free-disk-space@95626907fd8cae2f17c862ae40bcab1aa5a2c854 # v0.5.0
 
       - name: Build Product Image
         id: build
-        uses: stackabletech/actions/build-product-image@a3f7587879e9f12e04a29fd26435949aaa4fd59c # 0.2.0
+        uses: stackabletech/actions/build-product-image@95626907fd8cae2f17c862ae40bcab1aa5a2c854 # v0.5.0
         with:
           product-name: ${{ env.PRODUCT_NAME }}
           product-version: ${{ matrix.versions }}
@@ -64,7 +64,7 @@ jobs:
           sdp-version: ${{ env.SDP_VERSION }}
 
       - name: Publish Container Image on docker.stackable.tech
-        uses: stackabletech/actions/publish-image@a3f7587879e9f12e04a29fd26435949aaa4fd59c # 0.2.0
+        uses: stackabletech/actions/publish-image@95626907fd8cae2f17c862ae40bcab1aa5a2c854 # v0.5.0
         with:
           image-registry-uri: docker.stackable.tech
           image-registry-username: github
@@ -74,7 +74,7 @@ jobs:
           source-image-uri: localhost/${{ env.PRODUCT_NAME }}:${{ steps.build.outputs.image-manifest-tag }}
 
       - name: Publish Container Image on oci.stackable.tech
-        uses: stackabletech/actions/publish-image@a3f7587879e9f12e04a29fd26435949aaa4fd59c # 0.2.0
+        uses: stackabletech/actions/publish-image@95626907fd8cae2f17c862ae40bcab1aa5a2c854 # v0.5.0
         with:
           image-registry-uri: oci.stackable.tech
           image-registry-username: robot$sdp+github-action-build
@@ -97,7 +97,7 @@ jobs:
         uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
 
       - name: Publish and Sign Image Index Manifest to docker.stackable.tech
-        uses: stackabletech/actions/publish-index-manifest@a3f7587879e9f12e04a29fd26435949aaa4fd59c # 0.2.0
+        uses: stackabletech/actions/publish-index-manifest@95626907fd8cae2f17c862ae40bcab1aa5a2c854 # v0.5.0
         with:
           image-registry-uri: docker.stackable.tech
           image-registry-username: github
@@ -106,7 +106,7 @@ jobs:
           image-index-manifest-tag: ${{ matrix.versions }}-stackable${{ env.SDP_VERSION }}
 
       - name: Publish and Sign Image Index Manifest to oci.stackable.tech
-        uses: stackabletech/actions/publish-index-manifest@a3f7587879e9f12e04a29fd26435949aaa4fd59c # 0.2.0
+        uses: stackabletech/actions/publish-index-manifest@95626907fd8cae2f17c862ae40bcab1aa5a2c854 # v0.5.0
         with:
           image-registry-uri: oci.stackable.tech
           image-registry-username: robot$sdp+github-action-build
diff --git a/.github/workflows/build_trino-cli.yaml b/.github/workflows/build_trino-cli.yaml
index 7c104573f..b6bc56830 100644
--- a/.github/workflows/build_trino-cli.yaml
+++ b/.github/workflows/build_trino-cli.yaml
@@ -31,7 +31,7 @@ jobs:
     steps:
       - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
       - id: shard
-        uses: stackabletech/actions/shard@a3f7587879e9f12e04a29fd26435949aaa4fd59c # 0.2.0
+        uses: stackabletech/actions/shard@95626907fd8cae2f17c862ae40bcab1aa5a2c854 # v0.5.0
         with:
           product-name: ${{ env.PRODUCT_NAME }}
     outputs:
@@ -54,11 +54,11 @@ jobs:
         uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
 
       - name: Free Disk Space
-        uses: stackabletech/actions/free-disk-space@a3f7587879e9f12e04a29fd26435949aaa4fd59c # 0.2.0
+        uses: stackabletech/actions/free-disk-space@95626907fd8cae2f17c862ae40bcab1aa5a2c854 # v0.5.0
 
       - name: Build Product Image
         id: build
-        uses: stackabletech/actions/build-product-image@a3f7587879e9f12e04a29fd26435949aaa4fd59c # 0.2.0
+        uses: stackabletech/actions/build-product-image@95626907fd8cae2f17c862ae40bcab1aa5a2c854 # v0.5.0
         with:
           product-name: ${{ env.PRODUCT_NAME }}
           product-version: ${{ matrix.versions }}
@@ -66,7 +66,7 @@ jobs:
           sdp-version: ${{ env.SDP_VERSION }}
 
       - name: Publish Container Image on docker.stackable.tech
-        uses: stackabletech/actions/publish-image@a3f7587879e9f12e04a29fd26435949aaa4fd59c # 0.2.0
+        uses: stackabletech/actions/publish-image@95626907fd8cae2f17c862ae40bcab1aa5a2c854 # v0.5.0
         with:
           image-registry-uri: docker.stackable.tech
           image-registry-username: github
@@ -76,7 +76,7 @@ jobs:
           source-image-uri: localhost/${{ env.PRODUCT_NAME }}:${{ steps.build.outputs.image-manifest-tag }}
 
       - name: Publish Container Image on oci.stackable.tech
-        uses: stackabletech/actions/publish-image@a3f7587879e9f12e04a29fd26435949aaa4fd59c # 0.2.0
+        uses: stackabletech/actions/publish-image@95626907fd8cae2f17c862ae40bcab1aa5a2c854 # v0.5.0
         with:
           image-registry-uri: oci.stackable.tech
           image-registry-username: robot$sdp+github-action-build
@@ -99,7 +99,7 @@ jobs:
         uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
 
       - name: Publish and Sign Image Index Manifest to docker.stackable.tech
-        uses: stackabletech/actions/publish-index-manifest@a3f7587879e9f12e04a29fd26435949aaa4fd59c # 0.2.0
+        uses: stackabletech/actions/publish-index-manifest@95626907fd8cae2f17c862ae40bcab1aa5a2c854 # v0.5.0
         with:
           image-registry-uri: docker.stackable.tech
           image-registry-username: github
@@ -108,7 +108,7 @@ jobs:
           image-index-manifest-tag: ${{ matrix.versions }}-stackable${{ env.SDP_VERSION }}
 
       - name: Publish and Sign Image Index Manifest to oci.stackable.tech
-        uses: stackabletech/actions/publish-index-manifest@a3f7587879e9f12e04a29fd26435949aaa4fd59c # 0.2.0
+        uses: stackabletech/actions/publish-index-manifest@95626907fd8cae2f17c862ae40bcab1aa5a2c854 # v0.5.0
         with:
           image-registry-uri: oci.stackable.tech
           image-registry-username: robot$sdp+github-action-build
diff --git a/.github/workflows/build_trino.yaml b/.github/workflows/build_trino.yaml
index 6756eb3b5..1a3e9caa8 100644
--- a/.github/workflows/build_trino.yaml
+++ b/.github/workflows/build_trino.yaml
@@ -32,7 +32,7 @@ jobs:
     steps:
       - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
       - id: shard
-        uses: stackabletech/actions/shard@a3f7587879e9f12e04a29fd26435949aaa4fd59c # 0.2.0
+        uses: stackabletech/actions/shard@95626907fd8cae2f17c862ae40bcab1aa5a2c854 # v0.5.0
         with:
           product-name: ${{ env.PRODUCT_NAME }}
     outputs:
@@ -55,11 +55,11 @@ jobs:
         uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
 
       - name: Free Disk Space
-        uses: stackabletech/actions/free-disk-space@a3f7587879e9f12e04a29fd26435949aaa4fd59c # 0.2.0
+        uses: stackabletech/actions/free-disk-space@95626907fd8cae2f17c862ae40bcab1aa5a2c854 # v0.5.0
 
       - name: Build Product Image
         id: build
-        uses: stackabletech/actions/build-product-image@a3f7587879e9f12e04a29fd26435949aaa4fd59c # 0.2.0
+        uses: stackabletech/actions/build-product-image@95626907fd8cae2f17c862ae40bcab1aa5a2c854 # v0.5.0
         with:
           product-name: ${{ env.PRODUCT_NAME }}
           product-version: ${{ matrix.versions }}
@@ -67,7 +67,7 @@ jobs:
           sdp-version: ${{ env.SDP_VERSION }}
 
       - name: Publish Container Image on docker.stackable.tech
-        uses: stackabletech/actions/publish-image@a3f7587879e9f12e04a29fd26435949aaa4fd59c # 0.2.0
+        uses: stackabletech/actions/publish-image@95626907fd8cae2f17c862ae40bcab1aa5a2c854 # v0.5.0
         with:
           image-registry-uri: docker.stackable.tech
           image-registry-username: github
@@ -77,7 +77,7 @@ jobs:
           source-image-uri: localhost/${{ env.PRODUCT_NAME }}:${{ steps.build.outputs.image-manifest-tag }}
 
       - name: Publish Container Image on oci.stackable.tech
-        uses: stackabletech/actions/publish-image@a3f7587879e9f12e04a29fd26435949aaa4fd59c # 0.2.0
+        uses: stackabletech/actions/publish-image@95626907fd8cae2f17c862ae40bcab1aa5a2c854 # v0.5.0
         with:
           image-registry-uri: oci.stackable.tech
           image-registry-username: robot$sdp+github-action-build
@@ -100,7 +100,7 @@ jobs:
         uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
 
       - name: Publish and Sign Image Index Manifest to docker.stackable.tech
-        uses: stackabletech/actions/publish-index-manifest@a3f7587879e9f12e04a29fd26435949aaa4fd59c # 0.2.0
+        uses: stackabletech/actions/publish-index-manifest@95626907fd8cae2f17c862ae40bcab1aa5a2c854 # v0.5.0
         with:
           image-registry-uri: docker.stackable.tech
           image-registry-username: github
@@ -109,7 +109,7 @@ jobs:
           image-index-manifest-tag: ${{ matrix.versions }}-stackable${{ env.SDP_VERSION }}
 
       - name: Publish and Sign Image Index Manifest to oci.stackable.tech
-        uses: stackabletech/actions/publish-index-manifest@a3f7587879e9f12e04a29fd26435949aaa4fd59c # 0.2.0
+        uses: stackabletech/actions/publish-index-manifest@95626907fd8cae2f17c862ae40bcab1aa5a2c854 # v0.5.0
         with:
           image-registry-uri: oci.stackable.tech
           image-registry-username: robot$sdp+github-action-build
diff --git a/.github/workflows/build_vector.yaml b/.github/workflows/build_vector.yaml
index d68b7e93c..2ab30260a 100644
--- a/.github/workflows/build_vector.yaml
+++ b/.github/workflows/build_vector.yaml
@@ -28,7 +28,7 @@ jobs:
     steps:
       - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
       - id: shard
-        uses: stackabletech/actions/shard@a3f7587879e9f12e04a29fd26435949aaa4fd59c # 0.2.0
+        uses: stackabletech/actions/shard@95626907fd8cae2f17c862ae40bcab1aa5a2c854 # v0.5.0
         with:
           product-name: ${{ env.PRODUCT_NAME }}
     outputs:
@@ -51,11 +51,11 @@ jobs:
         uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
 
       - name: Free Disk Space
-        uses: stackabletech/actions/free-disk-space@a3f7587879e9f12e04a29fd26435949aaa4fd59c # 0.2.0
+        uses: stackabletech/actions/free-disk-space@95626907fd8cae2f17c862ae40bcab1aa5a2c854 # v0.5.0
 
       - name: Build Product Image
         id: build
-        uses: stackabletech/actions/build-product-image@a3f7587879e9f12e04a29fd26435949aaa4fd59c # 0.2.0
+        uses: stackabletech/actions/build-product-image@95626907fd8cae2f17c862ae40bcab1aa5a2c854 # v0.5.0
         with:
           product-name: ${{ env.PRODUCT_NAME }}
           product-version: ${{ matrix.versions }}
@@ -63,7 +63,7 @@ jobs:
           sdp-version: ${{ env.SDP_VERSION }}
 
       - name: Publish Container Image on docker.stackable.tech
-        uses: stackabletech/actions/publish-image@a3f7587879e9f12e04a29fd26435949aaa4fd59c # 0.2.0
+        uses: stackabletech/actions/publish-image@95626907fd8cae2f17c862ae40bcab1aa5a2c854 # v0.5.0
         with:
           image-registry-uri: docker.stackable.tech
           image-registry-username: github
@@ -73,7 +73,7 @@ jobs:
           source-image-uri: localhost/${{ env.PRODUCT_NAME }}:${{ steps.build.outputs.image-manifest-tag }}
 
       - name: Publish Container Image on oci.stackable.tech
-        uses: stackabletech/actions/publish-image@a3f7587879e9f12e04a29fd26435949aaa4fd59c # 0.2.0
+        uses: stackabletech/actions/publish-image@95626907fd8cae2f17c862ae40bcab1aa5a2c854 # v0.5.0
         with:
           image-registry-uri: oci.stackable.tech
           image-registry-username: robot$sdp+github-action-build
@@ -96,7 +96,7 @@ jobs:
         uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
 
       - name: Publish and Sign Image Index Manifest to docker.stackable.tech
-        uses: stackabletech/actions/publish-index-manifest@a3f7587879e9f12e04a29fd26435949aaa4fd59c # 0.2.0
+        uses: stackabletech/actions/publish-index-manifest@95626907fd8cae2f17c862ae40bcab1aa5a2c854 # v0.5.0
         with:
           image-registry-uri: docker.stackable.tech
           image-registry-username: github
@@ -105,7 +105,7 @@ jobs:
           image-index-manifest-tag: ${{ matrix.versions }}-stackable${{ env.SDP_VERSION }}
 
       - name: Publish and Sign Image Index Manifest to oci.stackable.tech
-        uses: stackabletech/actions/publish-index-manifest@a3f7587879e9f12e04a29fd26435949aaa4fd59c # 0.2.0
+        uses: stackabletech/actions/publish-index-manifest@95626907fd8cae2f17c862ae40bcab1aa5a2c854 # v0.5.0
         with:
           image-registry-uri: oci.stackable.tech
           image-registry-username: robot$sdp+github-action-build
diff --git a/.github/workflows/build_zookeeper.yaml b/.github/workflows/build_zookeeper.yaml
index 3597bbea0..1f08f976d 100644
--- a/.github/workflows/build_zookeeper.yaml
+++ b/.github/workflows/build_zookeeper.yaml
@@ -32,7 +32,7 @@ jobs:
     steps:
       - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
       - id: shard
-        uses: stackabletech/actions/shard@a3f7587879e9f12e04a29fd26435949aaa4fd59c # 0.2.0
+        uses: stackabletech/actions/shard@95626907fd8cae2f17c862ae40bcab1aa5a2c854 # v0.5.0
         with:
           product-name: ${{ env.PRODUCT_NAME }}
     outputs:
@@ -55,11 +55,11 @@ jobs:
         uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
 
       - name: Free Disk Space
-        uses: stackabletech/actions/free-disk-space@a3f7587879e9f12e04a29fd26435949aaa4fd59c # 0.2.0
+        uses: stackabletech/actions/free-disk-space@95626907fd8cae2f17c862ae40bcab1aa5a2c854 # v0.5.0
 
       - name: Build Product Image
         id: build
-        uses: stackabletech/actions/build-product-image@a3f7587879e9f12e04a29fd26435949aaa4fd59c # 0.2.0
+        uses: stackabletech/actions/build-product-image@95626907fd8cae2f17c862ae40bcab1aa5a2c854 # v0.5.0
         with:
           product-name: ${{ env.PRODUCT_NAME }}
           product-version: ${{ matrix.versions }}
@@ -67,7 +67,7 @@ jobs:
           sdp-version: ${{ env.SDP_VERSION }}
 
       - name: Publish Container Image on docker.stackable.tech
-        uses: stackabletech/actions/publish-image@a3f7587879e9f12e04a29fd26435949aaa4fd59c # 0.2.0
+        uses: stackabletech/actions/publish-image@95626907fd8cae2f17c862ae40bcab1aa5a2c854 # v0.5.0
         with:
           image-registry-uri: docker.stackable.tech
           image-registry-username: github
@@ -77,7 +77,7 @@ jobs:
           source-image-uri: localhost/${{ env.PRODUCT_NAME }}:${{ steps.build.outputs.image-manifest-tag }}
 
       - name: Publish Container Image on oci.stackable.tech
-        uses: stackabletech/actions/publish-image@a3f7587879e9f12e04a29fd26435949aaa4fd59c # 0.2.0
+        uses: stackabletech/actions/publish-image@95626907fd8cae2f17c862ae40bcab1aa5a2c854 # v0.5.0
         with:
           image-registry-uri: oci.stackable.tech
           image-registry-username: robot$sdp+github-action-build
@@ -100,7 +100,7 @@ jobs:
         uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
 
       - name: Publish and Sign Image Index Manifest to docker.stackable.tech
-        uses: stackabletech/actions/publish-index-manifest@a3f7587879e9f12e04a29fd26435949aaa4fd59c # 0.2.0
+        uses: stackabletech/actions/publish-index-manifest@95626907fd8cae2f17c862ae40bcab1aa5a2c854 # v0.5.0
         with:
           image-registry-uri: docker.stackable.tech
           image-registry-username: github
@@ -109,7 +109,7 @@ jobs:
           image-index-manifest-tag: ${{ matrix.versions }}-stackable${{ env.SDP_VERSION }}
 
       - name: Publish and Sign Image Index Manifest to oci.stackable.tech
-        uses: stackabletech/actions/publish-index-manifest@a3f7587879e9f12e04a29fd26435949aaa4fd59c # 0.2.0
+        uses: stackabletech/actions/publish-index-manifest@95626907fd8cae2f17c862ae40bcab1aa5a2c854 # v0.5.0
         with:
           image-registry-uri: oci.stackable.tech
           image-registry-username: robot$sdp+github-action-build
diff --git a/.github/workflows/mirror.yaml b/.github/workflows/mirror.yaml
index cf751249f..52ad4733d 100644
--- a/.github/workflows/mirror.yaml
+++ b/.github/workflows/mirror.yaml
@@ -53,7 +53,7 @@ jobs:
           echo "IMAGE_REPOSITORY=$(.scripts/get_repo_name.sh)" | tee -a "$GITHUB_ENV"
 
       - name: Publish Container Image on docker.stackable.tech
-        uses: stackabletech/actions/publish-image@a3f7587879e9f12e04a29fd26435949aaa4fd59c # 0.2.0
+        uses: stackabletech/actions/publish-image@95626907fd8cae2f17c862ae40bcab1aa5a2c854 # v0.5.0
         with:
           image-registry-uri: docker.stackable.tech
           image-registry-username: github
@@ -63,7 +63,7 @@ jobs:
           source-image-uri: ${{ format('{0}:{1}', inputs.image-repository-uri, inputs.image-index-manifest-tag) }}
 
       - name: Publish Container Image on oci.stackable.tech
-        uses: stackabletech/actions/publish-image@a3f7587879e9f12e04a29fd26435949aaa4fd59c # 0.2.0
+        uses: stackabletech/actions/publish-image@95626907fd8cae2f17c862ae40bcab1aa5a2c854 # v0.5.0
         with:
           image-registry-uri: oci.stackable.tech
           image-registry-username: robot$sdp+github-action-build
@@ -88,7 +88,7 @@ jobs:
           echo "IMAGE_REPOSITORY=$(.scripts/get_repo_name.sh)" | tee -a "$GITHUB_ENV"
 
       - name: Publish and Sign Image Index Manifest to docker.stackable.tech
-        uses: stackabletech/actions/publish-index-manifest@a3f7587879e9f12e04a29fd26435949aaa4fd59c # 0.2.0
+        uses: stackabletech/actions/publish-index-manifest@95626907fd8cae2f17c862ae40bcab1aa5a2c854 # v0.5.0
         with:
           image-registry-uri: docker.stackable.tech
           image-registry-username: github
@@ -97,7 +97,7 @@ jobs:
           image-index-manifest-tag: ${{ inputs.image-index-manifest-tag }}
 
       - name: Publish and Sign Image Index Manifest to oci.stackable.tech
-        uses: stackabletech/actions/publish-index-manifest@a3f7587879e9f12e04a29fd26435949aaa4fd59c # 0.2.0
+        uses: stackabletech/actions/publish-index-manifest@95626907fd8cae2f17c862ae40bcab1aa5a2c854 # v0.5.0
         with:
           image-registry-uri: oci.stackable.tech
           image-registry-username: robot$sdp+github-action-build
diff --git a/.github/workflows/pr_pre-commit.yaml b/.github/workflows/pr_pre-commit.yaml
index d7096fb28..642972113 100644
--- a/.github/workflows/pr_pre-commit.yaml
+++ b/.github/workflows/pr_pre-commit.yaml
@@ -15,7 +15,7 @@ jobs:
       - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
         with:
           fetch-depth: 0
-      - uses: stackabletech/actions/run-pre-commit@a3f7587879e9f12e04a29fd26435949aaa4fd59c # 0.2.0
+      - uses: stackabletech/actions/run-pre-commit@95626907fd8cae2f17c862ae40bcab1aa5a2c854 # v0.5.0
         with:
           python-version: ${{ env.PYTHON_VERSION }}
           hadolint: ${{ env.HADOLINT_VERSION }}
diff --git a/.github/workflows/pr_test_build_images.yaml b/.github/workflows/pr_test_build_images.yaml
index d64114e6d..42af4dba4 100644
--- a/.github/workflows/pr_test_build_images.yaml
+++ b/.github/workflows/pr_test_build_images.yaml
@@ -104,11 +104,11 @@ jobs:
         uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
 
       - name: Free Disk Space
-        uses: stackabletech/actions/free-disk-space@a3f7587879e9f12e04a29fd26435949aaa4fd59c # 0.2.0
+        uses: stackabletech/actions/free-disk-space@95626907fd8cae2f17c862ae40bcab1aa5a2c854 # v0.5.0
 
       - name: Build Product Image
         id: build
-        uses: stackabletech/actions/build-product-image@af2f00208b2a6175751dd5b4ca704db566e2d4fa # 0.2.0 TODO: Use released version
+        uses: stackabletech/actions/build-product-image@95626907fd8cae2f17c862ae40bcab1aa5a2c854 # v0.5.0
         with:
           product-name: ${{ env.PRODUCT_NAME }}
           product-version: ${{ env.PRODUCT_VERSION }}
@@ -120,7 +120,7 @@ jobs:
           docker images
 
       - name: Publish Container Image on docker.stackable.tech
-        uses: stackabletech/actions/publish-image@a3f7587879e9f12e04a29fd26435949aaa4fd59c # 0.2.0
+        uses: stackabletech/actions/publish-image@95626907fd8cae2f17c862ae40bcab1aa5a2c854 # v0.5.0
         with:
           image-registry-uri: docker.stackable.tech
           image-registry-username: github
@@ -130,7 +130,7 @@ jobs:
           source-image-uri: localhost/${{ env.PRODUCT_NAME }}:${{ steps.build.outputs.image-manifest-tag }}
 
       - name: Publish Container Image on oci.stackable.tech
-        uses: stackabletech/actions/publish-image@a3f7587879e9f12e04a29fd26435949aaa4fd59c # 0.2.0
+        uses: stackabletech/actions/publish-image@95626907fd8cae2f17c862ae40bcab1aa5a2c854 # v0.5.0
         with:
           image-registry-uri: oci.stackable.tech
           image-registry-username: robot$sdp+github-action-build
@@ -159,7 +159,7 @@ jobs:
         uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
 
       - name: Publish and Sign Image Index Manifest to docker.stackable.tech
-        uses: stackabletech/actions/publish-index-manifest@a3f7587879e9f12e04a29fd26435949aaa4fd59c # 0.2.0
+        uses: stackabletech/actions/publish-index-manifest@95626907fd8cae2f17c862ae40bcab1aa5a2c854 # v0.5.0
         with:
           image-registry-uri: docker.stackable.tech
           image-registry-username: github
@@ -168,7 +168,7 @@ jobs:
           image-index-manifest-tag: ${{ env.IMAGE_INDEX_MANIFEST_TAG }}
 
       - name: Publish and Sign Image Index Manifest to oci.stackable.tech
-        uses: stackabletech/actions/publish-index-manifest@a3f7587879e9f12e04a29fd26435949aaa4fd59c # 0.2.0
+        uses: stackabletech/actions/publish-index-manifest@95626907fd8cae2f17c862ae40bcab1aa5a2c854 # v0.5.0
         with:
           image-registry-uri: oci.stackable.tech
           image-registry-username: robot$sdp+github-action-build

From 15fe10384f9f744f69ad21fc14115ad1fce01221 Mon Sep 17 00:00:00 2001
From: Nick Larsen <nick.larsen@stackable.tech>
Date: Fri, 6 Dec 2024 13:29:53 +0100
Subject: [PATCH 18/20] ci: Remove non-existant path from path filter

---
 .github/workflows/build_airflow.yaml             | 1 -
 .github/workflows/build_druid.yaml               | 1 -
 .github/workflows/build_hadoop.yaml              | 1 -
 .github/workflows/build_hbase.yaml               | 1 -
 .github/workflows/build_hello-world.yaml         | 1 -
 .github/workflows/build_hive.yaml                | 1 -
 .github/workflows/build_java-base.yaml           | 1 -
 .github/workflows/build_java-devel.yaml          | 1 -
 .github/workflows/build_kafka-testing-tools.yaml | 1 -
 .github/workflows/build_kafka.yaml               | 1 -
 .github/workflows/build_kcat.yaml                | 1 -
 .github/workflows/build_krb5.yaml                | 1 -
 .github/workflows/build_nifi.yaml                | 1 -
 .github/workflows/build_omid.yaml                | 1 -
 .github/workflows/build_opa.yaml                 | 1 -
 .github/workflows/build_spark-k8s.yaml           | 1 -
 .github/workflows/build_stackable-base.yaml      | 1 -
 .github/workflows/build_superset.yaml            | 1 -
 .github/workflows/build_testing-tools.yaml       | 1 -
 .github/workflows/build_tools.yaml               | 1 -
 .github/workflows/build_trino-cli.yaml           | 1 -
 .github/workflows/build_trino.yaml               | 1 -
 .github/workflows/build_vector.yaml              | 1 -
 .github/workflows/build_zookeeper.yaml           | 1 -
 24 files changed, 24 deletions(-)

diff --git a/.github/workflows/build_airflow.yaml b/.github/workflows/build_airflow.yaml
index ac9916cee..6cacd8b09 100644
--- a/.github/workflows/build_airflow.yaml
+++ b/.github/workflows/build_airflow.yaml
@@ -20,7 +20,6 @@ on:
       - airflow/**
       - vector/**
       - stackable-base/**
-      - .github/actions/**
       - .github/workflows/build_airflow.yaml
 
 jobs:
diff --git a/.github/workflows/build_druid.yaml b/.github/workflows/build_druid.yaml
index 087fdc820..0d9a2b206 100644
--- a/.github/workflows/build_druid.yaml
+++ b/.github/workflows/build_druid.yaml
@@ -22,7 +22,6 @@ on:
       - stackable-base/**
       - java-base/**
       - java-devel/**
-      - .github/actions/**
       - .github/workflows/build_druid.yaml
 
 jobs:
diff --git a/.github/workflows/build_hadoop.yaml b/.github/workflows/build_hadoop.yaml
index 9ad05b36d..404898a8b 100644
--- a/.github/workflows/build_hadoop.yaml
+++ b/.github/workflows/build_hadoop.yaml
@@ -22,7 +22,6 @@ on:
       - stackable-base/**
       - java-base/**
       - java-devel/**
-      - .github/actions/**
       - .github/workflows/build_hadoop.yaml
 
 jobs:
diff --git a/.github/workflows/build_hbase.yaml b/.github/workflows/build_hbase.yaml
index 3ff1b4b14..1922d9607 100644
--- a/.github/workflows/build_hbase.yaml
+++ b/.github/workflows/build_hbase.yaml
@@ -23,7 +23,6 @@ on:
       - stackable-base/**
       - java-base/**
       - java-devel/**
-      - .github/actions/**
       - .github/workflows/build_hbase.yaml
 
 jobs:
diff --git a/.github/workflows/build_hello-world.yaml b/.github/workflows/build_hello-world.yaml
index 6b2a1f00b..eab5f14c4 100644
--- a/.github/workflows/build_hello-world.yaml
+++ b/.github/workflows/build_hello-world.yaml
@@ -18,7 +18,6 @@ on:
       # To check dependencies, run this ( you will need to consider transitive dependencies)
       # bake --product PRODUCT -d | grep -v 'docker buildx bake' | jq '.target | keys[]'
       - hello-world/**
-      - .github/actions/**
       - .github/workflows/build_hello-world.yaml
 
 jobs:
diff --git a/.github/workflows/build_hive.yaml b/.github/workflows/build_hive.yaml
index 3f5877d3e..c6fe9524d 100644
--- a/.github/workflows/build_hive.yaml
+++ b/.github/workflows/build_hive.yaml
@@ -23,7 +23,6 @@ on:
       - stackable-base/**
       - java-base/**
       - java-devel/**
-      - .github/actions/**
       - .github/workflows/build_hive.yaml
 
 jobs:
diff --git a/.github/workflows/build_java-base.yaml b/.github/workflows/build_java-base.yaml
index 3ee2f0867..7aae41d9d 100644
--- a/.github/workflows/build_java-base.yaml
+++ b/.github/workflows/build_java-base.yaml
@@ -18,7 +18,6 @@ on:
       # To check dependencies, run this ( you will need to consider transitive dependencies)
       # bake --product PRODUCT -d | grep -v 'docker buildx bake' | jq '.target | keys[]'
       - java-base/**
-      - .github/actions/**
       - .github/workflows/build_java-base.yaml
 
 jobs:
diff --git a/.github/workflows/build_java-devel.yaml b/.github/workflows/build_java-devel.yaml
index 058ef295f..8480bd0ab 100644
--- a/.github/workflows/build_java-devel.yaml
+++ b/.github/workflows/build_java-devel.yaml
@@ -18,7 +18,6 @@ on:
       # To check dependencies, run this ( you will need to consider transitive dependencies)
       # bake --product PRODUCT -d | grep -v 'docker buildx bake' | jq '.target | keys[]'
       - java-devel/**
-      - .github/actions/**
       - .github/workflows/build_java-devel.yaml
 
 jobs:
diff --git a/.github/workflows/build_kafka-testing-tools.yaml b/.github/workflows/build_kafka-testing-tools.yaml
index 369fb3050..00b56c23d 100644
--- a/.github/workflows/build_kafka-testing-tools.yaml
+++ b/.github/workflows/build_kafka-testing-tools.yaml
@@ -22,7 +22,6 @@ on:
       - vector/**
       - stackable-base/**
       - java-base/**
-      - .github/actions/**
       - .github/workflows/build_kafka-testing-tools.yaml
 
 jobs:
diff --git a/.github/workflows/build_kafka.yaml b/.github/workflows/build_kafka.yaml
index 3960a3eea..0d215ee43 100644
--- a/.github/workflows/build_kafka.yaml
+++ b/.github/workflows/build_kafka.yaml
@@ -24,7 +24,6 @@ on:
       - stackable-base/**
       - java-base/**
       - java-devel/**
-      - .github/actions/**
       - .github/workflows/build_kafka.yaml
 
 jobs:
diff --git a/.github/workflows/build_kcat.yaml b/.github/workflows/build_kcat.yaml
index 0525eb09a..f9e5dad79 100644
--- a/.github/workflows/build_kcat.yaml
+++ b/.github/workflows/build_kcat.yaml
@@ -22,7 +22,6 @@ on:
       - vector/**
       - stackable-base/**
       - java-base/**
-      - .github/actions/**
       - .github/workflows/build_kcat.yaml
 
 jobs:
diff --git a/.github/workflows/build_krb5.yaml b/.github/workflows/build_krb5.yaml
index 91cd00bb4..a2f4f9433 100644
--- a/.github/workflows/build_krb5.yaml
+++ b/.github/workflows/build_krb5.yaml
@@ -18,7 +18,6 @@ on:
       # To check dependencies, run this ( you will need to consider transitive dependencies)
       # bake --product PRODUCT -d | grep -v 'docker buildx bake' | jq '.target | keys[]'
       - krb5/**
-      - .github/actions/**
       - .github/workflows/build_krb5.yaml
 
 jobs:
diff --git a/.github/workflows/build_nifi.yaml b/.github/workflows/build_nifi.yaml
index f9426b652..4afba2c42 100644
--- a/.github/workflows/build_nifi.yaml
+++ b/.github/workflows/build_nifi.yaml
@@ -22,7 +22,6 @@ on:
       - stackable-base/**
       - java-base/**
       - java-devel/**
-      - .github/actions/**
       - .github/workflows/build_nifi.yaml
 
 jobs:
diff --git a/.github/workflows/build_omid.yaml b/.github/workflows/build_omid.yaml
index 06b04a458..4f50bd05a 100644
--- a/.github/workflows/build_omid.yaml
+++ b/.github/workflows/build_omid.yaml
@@ -22,7 +22,6 @@ on:
       - stackable-base/**
       - java-base/**
       - java-devel/**
-      - .github/actions/**
       - .github/workflows/build_omid.yaml
 
 jobs:
diff --git a/.github/workflows/build_opa.yaml b/.github/workflows/build_opa.yaml
index a717f43ee..6e1a2bd80 100644
--- a/.github/workflows/build_opa.yaml
+++ b/.github/workflows/build_opa.yaml
@@ -20,7 +20,6 @@ on:
       - opa/**
       - vector/**
       - stackable-base/**
-      - .github/actions/**
       - .github/workflows/build_opa.yaml
 
 jobs:
diff --git a/.github/workflows/build_spark-k8s.yaml b/.github/workflows/build_spark-k8s.yaml
index 643682eae..8c4a85b5b 100644
--- a/.github/workflows/build_spark-k8s.yaml
+++ b/.github/workflows/build_spark-k8s.yaml
@@ -23,7 +23,6 @@ on:
       - stackable-base/**
       - java-base/**
       - java-devel/**
-      - .github/actions/**
       - .github/workflows/build_spark-k8s.yaml
 
 jobs:
diff --git a/.github/workflows/build_stackable-base.yaml b/.github/workflows/build_stackable-base.yaml
index e0dfb5af1..5320d4034 100644
--- a/.github/workflows/build_stackable-base.yaml
+++ b/.github/workflows/build_stackable-base.yaml
@@ -19,7 +19,6 @@ on:
       # bake --product PRODUCT -d | grep -v 'docker buildx bake' | jq '.target | keys[]'
       - stackable-base/**
       - tools/**
-      - .github/actions/**
       - .github/workflows/build_stackable-base.yaml
 
 jobs:
diff --git a/.github/workflows/build_superset.yaml b/.github/workflows/build_superset.yaml
index 0d70de45f..1c43caaa0 100644
--- a/.github/workflows/build_superset.yaml
+++ b/.github/workflows/build_superset.yaml
@@ -20,7 +20,6 @@ on:
       - superset/**
       - vector/**
       - stackable-base/**
-      - .github/actions/**
       - .github/workflows/build_superset.yaml
 
 jobs:
diff --git a/.github/workflows/build_testing-tools.yaml b/.github/workflows/build_testing-tools.yaml
index b85ef8b39..f6b560e1b 100644
--- a/.github/workflows/build_testing-tools.yaml
+++ b/.github/workflows/build_testing-tools.yaml
@@ -18,7 +18,6 @@ on:
       # To check dependencies, run this ( you will need to consider transitive dependencies)
       # bake --product PRODUCT -d | grep -v 'docker buildx bake' | jq '.target | keys[]'
       - testing-tools/**
-      - .github/actions/**
       - .github/workflows/build_testing-tools.yaml
 
 jobs:
diff --git a/.github/workflows/build_tools.yaml b/.github/workflows/build_tools.yaml
index 8cebef078..756f6dc6d 100644
--- a/.github/workflows/build_tools.yaml
+++ b/.github/workflows/build_tools.yaml
@@ -19,7 +19,6 @@ on:
       # bake --product PRODUCT -d | grep -v 'docker buildx bake' | jq '.target | keys[]'
       - tools/**
       - stackable-base/**
-      - .github/actions/**
       - .github/workflows/build_tools.yaml
 
 jobs:
diff --git a/.github/workflows/build_trino-cli.yaml b/.github/workflows/build_trino-cli.yaml
index b6bc56830..e85b5b6b9 100644
--- a/.github/workflows/build_trino-cli.yaml
+++ b/.github/workflows/build_trino-cli.yaml
@@ -21,7 +21,6 @@ on:
       - vector/**
       - stackable-base/**
       - java-base/**
-      - .github/actions/**
       - .github/workflows/build_trino-cli.yaml
 
 jobs:
diff --git a/.github/workflows/build_trino.yaml b/.github/workflows/build_trino.yaml
index 1a3e9caa8..314191433 100644
--- a/.github/workflows/build_trino.yaml
+++ b/.github/workflows/build_trino.yaml
@@ -22,7 +22,6 @@ on:
       - stackable-base/**
       - java-base/**
       - java-devel/**
-      - .github/actions/**
       - .github/workflows/build_trino.yaml
 
 jobs:
diff --git a/.github/workflows/build_vector.yaml b/.github/workflows/build_vector.yaml
index 2ab30260a..d72a4acff 100644
--- a/.github/workflows/build_vector.yaml
+++ b/.github/workflows/build_vector.yaml
@@ -18,7 +18,6 @@ on:
       # To check dependencies, run this ( you will need to consider transitive dependencies)
       # bake --product PRODUCT -d | grep -v 'docker buildx bake' | jq '.target | keys[]'
       - vector/**
-      - .github/actions/**
       - .github/workflows/build_vector.yaml
 
 jobs:
diff --git a/.github/workflows/build_zookeeper.yaml b/.github/workflows/build_zookeeper.yaml
index 1f08f976d..2c5aa94eb 100644
--- a/.github/workflows/build_zookeeper.yaml
+++ b/.github/workflows/build_zookeeper.yaml
@@ -22,7 +22,6 @@ on:
       - stackable-base/**
       - java-base/**
       - java-devel/**
-      - .github/actions/**
       - .github/workflows/build_zookeeper.yaml
 
 jobs:

From 0c603e79330d992073859d0ddd52af61b00c4cf8 Mon Sep 17 00:00:00 2001
From: Nick Larsen <nick.larsen@stackable.tech>
Date: Fri, 6 Dec 2024 13:30:28 +0100
Subject: [PATCH 19/20] ci: Remove old release workflow (it has been replaced
 by the per-product build workflows)

---
 .github/workflows/release.yml | 218 ----------------------------------
 1 file changed, 218 deletions(-)
 delete mode 100644 .github/workflows/release.yml

diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml
deleted file mode 100644
index 850b0d7cf..000000000
--- a/.github/workflows/release.yml
+++ /dev/null
@@ -1,218 +0,0 @@
----
-name: Publish release images
-on:
-  # The release workflow is now taken care of in the build_* workflows.
-  # This workflow can still be manually run on a tag if needed during the release.
-  workflow_dispatch:
-
-jobs:
-  build_and_push:
-    name: Release product images for ${{ matrix.product }} ${{ matrix.runner }}
-    permissions:
-      id-token: write
-    runs-on: ${{ matrix.runner }}
-    strategy:
-      # fail-fast: true
-      # This setting can be changed to throttle the build load
-      # max-parallel: 1
-      # If we want more parallelism we can schedule a dedicated task for every tuple (product, product version)
-      matrix:
-        runner: ["ubuntu-latest", "ubicloud-standard-8-arm"]
-        product:
-          - airflow
-          - druid
-          - hadoop
-          - hbase
-          - hive
-          - kafka
-          - kafka-testing-tools
-          - krb5
-          - nifi
-          - omid
-          - opa
-          - spark-k8s
-          - superset
-          - testing-tools
-          - trino
-          - trino-cli
-          - tools
-          - zookeeper
-        shard_count:
-          - 5
-        shard_index: [0, 1, 2, 3, 4] # between 0 and shard-count-1
-    env:
-      GITHUB_REF_NAME: ${{ github.ref_name }}
-    steps:
-      - name: Free Disk Space
-        uses: jlumbroso/free-disk-space@54081f138730dfa15788a46383842cd2f914a1be # v1.3.1
-        with:
-          # This might remove tools that are actually needed, if set to "true" but
-          # frees about 6 GB.
-          tool-cache: false
-
-          # All of these default to true, but feel free to set to "false" if
-          # necessary for your workflow.
-          android: true
-          dotnet: true
-          haskell: true
-          large-packages: true
-          docker-images: true
-          swap-storage: true
-
-      - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
-      - uses: docker/setup-buildx-action@988b5a0280414f521da01fcc63a27aeeb4b104db # v3.6.1
-      # As of 2024-04-08 this throws
-      # Error: The version '3.x' with architecture 'arm64' was not found for Ubuntu 22.04.
-      # This is because it currently only bundles arm64 packages for darwin.
-      # So instead we install python via apt until this is resolved
-      # - uses: actions/setup-python@0a5c61591373683505ea898e09a3ea4f39ef2b9c # tag=v5.0.0
-      #   with:
-      #     python-version: '3.x'
-      - name: Setup python
-        run: |
-          sudo apt update
-          sudo apt install --assume-yes python3
-      - name: Set up Cosign
-        uses: sigstore/cosign-installer@4959ce089c160fddf62f7b42464195ba1a56d382 # v3.6.0
-      - name: Set up syft
-        uses: anchore/sbom-action/download-syft@61119d458adab75f756bc0b9e4bde25725f86a7a # v0.17.2
-      - name: Install image-tools-stackabletech
-        run: pip install image-tools-stackabletech==0.0.13
-      - uses: docker/login-action@9780b0c442fbb1117ed29e0efdff1e18412f7567 # v3.3.0
-        with:
-          registry: docker.stackable.tech
-          username: github
-          password: ${{ secrets.NEXUS_PASSWORD }}
-      - name: Login to Stackable Harbor
-        uses: docker/login-action@9780b0c442fbb1117ed29e0efdff1e18412f7567 # v3.3.0
-        with:
-          registry: oci.stackable.tech
-          username: robot$sdp+github-action-build
-          password: ${{ secrets.HARBOR_ROBOT_SDP_GITHUB_ACTION_BUILD_SECRET }}
-      - name: Publish release product images
-        id: publish_images
-        run: |
-          # Bake images and load them to local docker repo for signing
-          # TODO: buildx cannot --load and --push at the same time
-          # Tagging images with the architecture they were build on
-          ARCH="$(uname -m | sed -e 's#x86_64#amd64#' | sed -e 's#aarch64#arm64#')"
-          bake --product "${{ matrix.product }}" \
-          --image-version "${GITHUB_REF_NAME}-${ARCH}" \
-          --architecture "linux/${ARCH}" \
-          --organization stackable \
-          --shard-count "${{matrix.shard_count}}" \
-          --shard-index "${{matrix.shard_index}}" \
-          --export-tags-file bake-target-tags
-
-          # Push images to image repository
-          if [ -f bake-target-tags ]; then
-            echo "bake-target-tags: $(< bake-target-tags)"
-            IMAGE_NAME=$(cut -d ":" -f 1 < bake-target-tags)
-            TAG_NAME=$(cut -d ":" -f 2 < bake-target-tags)
-            echo "image: $IMAGE_NAME"
-            echo "tag: $TAG_NAME"
-            # Store the output of `docker image push` into a variable, so we can parse it for the digest
-            PUSH_OUTPUT=$(docker image push "$(< bake-target-tags)" 2>&1)
-            echo "$PUSH_OUTPUT"
-            # Obtain the digest of the pushed image from the output of `docker image push`, because signing by tag is deprecated and will be removed from cosign in the future
-            DIGEST=$(echo "$PUSH_OUTPUT" | awk "/: digest: sha256:[a-f0-9]{64} size: [0-9]+$/ { print \$3 }")
-            # Refer to image via its digest (docker.stackable.tech/stackable/airflow@sha256:0a1b2c...)
-            # This generates a signature and publishes it to the registry, next to the image
-            # Uses the keyless signing flow with Github Actions as identity provider
-            cosign sign -y "$IMAGE_NAME@$DIGEST"
-
-            # Generate SBOM for the image
-            syft scan --output cyclonedx-json=sbom.json --select-catalogers "-cargo-auditable-binary-cataloger" --scope all-layers --source-name "${{ matrix.product }}" --source-version "$TAG_NAME" "$IMAGE_NAME@$DIGEST";
-            # Determine the PURL for the image
-            PURL="pkg:docker/stackable/${{ matrix.product }}@$DIGEST?repository_url=docker.stackable.tech";
-            # Get metadata from the image
-            IMAGE_METADATA_DESCRIPTION=$(docker inspect --format='{{.Config.Labels.description}}' "$IMAGE_NAME@$DIGEST");
-            IMAGE_METADATA_NAME=$(docker inspect --format='{{.Config.Labels.name}}' "$IMAGE_NAME@$DIGEST");
-            # Merge the SBOM with the metadata for the image
-            jq -s '{"metadata":{"component":{"description":"'"$IMAGE_METADATA_NAME. $IMAGE_METADATA_DESCRIPTION"'","supplier":{"name":"Stackable GmbH","url":["https://stackable.tech/"]},"author":"Stackable GmbH","purl":"'"$PURL"'","publisher":"Stackable GmbH"}}} * .[0]' sbom.json > sbom.merged.json;
-            # Attest the SBOM to the image
-            cosign attest -y --predicate sbom.merged.json --type cyclonedx "$IMAGE_NAME@$DIGEST"
-
-            # Push to oci.stackable.tech as well
-            IMAGE_NAME=oci.stackable.tech/sdp/${{ matrix.product }}
-            echo "image: $IMAGE_NAME"
-            docker tag "$(< bake-target-tags)" "$IMAGE_NAME:$TAG_NAME"
-            # Store the output of `docker image push` into a variable, so we can parse it for the digest
-            PUSH_OUTPUT=$(docker image push "$IMAGE_NAME:$TAG_NAME" 2>&1)
-            echo "$PUSH_OUTPUT"
-            # Obtain the digest of the pushed image from the output of `docker image push`, because signing by tag is deprecated and will be removed from cosign in the future
-            DIGEST=$(echo "$PUSH_OUTPUT" | awk "/: digest: sha256:[a-f0-9]{64} size: [0-9]+$/ { print \$3 }")
-            # Refer to image via its digest (oci.stackable.tech/sdp/airflow@sha256:0a1b2c...)
-            # This generates a signature and publishes it to the registry, next to the image
-            # Uses the keyless signing flow with Github Actions as identity provider
-            cosign sign -y "$IMAGE_NAME@$DIGEST"
-
-            # Generate SBOM for the image
-            syft scan --output cyclonedx-json=sbom.json --select-catalogers "-cargo-auditable-binary-cataloger" --scope all-layers --source-name "${{ matrix.product }}" --source-version "$TAG_NAME" "$IMAGE_NAME@$DIGEST";
-            # Determine the PURL for the image
-            PURL="pkg:docker/sdp/${{ matrix.product }}@$DIGEST?repository_url=oci.stackable.tech";
-            # Get metadata from the image
-            IMAGE_METADATA_DESCRIPTION=$(docker inspect --format='{{.Config.Labels.description}}' "$IMAGE_NAME@$DIGEST");
-            IMAGE_METADATA_NAME=$(docker inspect --format='{{.Config.Labels.name}}' "$IMAGE_NAME@$DIGEST");
-            # Merge the SBOM with the metadata for the image
-            jq -s '{"metadata":{"component":{"description":"'"$IMAGE_METADATA_NAME. $IMAGE_METADATA_DESCRIPTION"'","supplier":{"name":"Stackable GmbH","url":["https://stackable.tech/"]},"author":"Stackable GmbH","purl":"'"$PURL"'","publisher":"Stackable GmbH"}}} * .[0]' sbom.json > sbom.merged.json;
-            # Attest the SBOM to the image
-            cosign attest -y --predicate sbom.merged.json --type cyclonedx "$IMAGE_NAME@$DIGEST"
-          fi
-  create_manifests:
-    permissions:
-      id-token: write
-    runs-on: ubuntu-latest
-    needs: ["build_and_push"]
-    steps:
-      - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
-      - uses: docker/login-action@9780b0c442fbb1117ed29e0efdff1e18412f7567 # v3.3.0
-        with:
-          registry: docker.stackable.tech
-          username: github
-          password: ${{ secrets.NEXUS_PASSWORD }}
-      - name: Login to Stackable Harbor
-        uses: docker/login-action@9780b0c442fbb1117ed29e0efdff1e18412f7567 # v3.3.0
-        with:
-          registry: oci.stackable.tech
-          username: robot$sdp+github-action-build
-          password: ${{ secrets.HARBOR_ROBOT_SDP_GITHUB_ACTION_BUILD_SECRET }}
-      - name: Set up Cosign
-        uses: sigstore/cosign-installer@4959ce089c160fddf62f7b42464195ba1a56d382 # v3.6.0
-      - name: Build Manifest List
-        shell: bash
-        env:
-          DOCKER_USER: github
-          DOCKER_PASSWORD: ${{ secrets.NEXUS_PASSWORD }}
-        run: |
-          if ! product_and_versions=$(python3 .scripts/enumerate-product-versions.py); then
-            echo "Python script failed"
-            exit 1
-          fi
-
-          for product_and_version in $product_and_versions; do
-            PRODUCT="$(echo "$product_and_version" | cut -d '#' -f 1)"
-            VERSION="$(echo "$product_and_version" | cut -d '#' -f 2)"
-
-            echo "Generating manifest list for $PRODUCT in version $VERSION"
-
-            MANIFEST_NAME="docker.stackable.tech/stackable/${PRODUCT}:${VERSION}-stackable${GITHUB_REF_NAME}"
-            # Create and push to Stackable Nexus
-            # `docker manifest push` directly returns the digest of the manifest list
-            # As it is an experimental feature, this might change in the future
-            # Further reading: https://docs.docker.com/reference/cli/docker/manifest/push/
-            # --amend because the manifest list would be updated since we use the same tag
-            docker manifest create "$MANIFEST_NAME" --amend "${MANIFEST_NAME}-amd64" --amend "${MANIFEST_NAME}-arm64"
-            DIGEST=$(docker manifest push "$MANIFEST_NAME")
-
-            # Refer to image via its digest (oci.stackable.tech/sdp/airflow@sha256:0a1b2c...)
-            # This generates a signature and publishes it to the registry, next to the image
-            # Uses the keyless signing flow with Github Actions as identity provider
-            cosign sign -y "$MANIFEST_NAME@$DIGEST"
-
-            # Push to oci.stackable.tech as well
-            MANIFEST_NAME="oci.stackable.tech/sdp/${PRODUCT}:${VERSION}-stackable${GITHUB_REF_NAME}"
-            docker manifest create "$MANIFEST_NAME" --amend "${MANIFEST_NAME}-amd64" --amend "${MANIFEST_NAME}-arm64"
-            DIGEST=$(docker manifest push "$MANIFEST_NAME")
-            cosign sign -y "$MANIFEST_NAME@$DIGEST"
-          done

From 55e3bcfe42f7b846e39e8d9d32749e475d76d645 Mon Sep 17 00:00:00 2001
From: Nick Larsen <nick.larsen@stackable.tech>
Date: Fri, 6 Dec 2024 13:37:49 +0100
Subject: [PATCH 20/20] ci(pr_test_build_images): Fix krb5 version in
 versions.toml

---
 krb5/versions.toml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/krb5/versions.toml b/krb5/versions.toml
index ba959c167..6dd7adce3 100644
--- a/krb5/versions.toml
+++ b/krb5/versions.toml
@@ -1,4 +1,4 @@
-[versions."0.21.1"]
+[versions."1.21.1"]
 build_on_pr = true
 # This will come later. See: https://github.com/stackabletech/docker-images/issues/770
 # dependencies = { ... }