From 460993e3bf102168d91ca00f46d3eb421504592f Mon Sep 17 00:00:00 2001 From: Nick Larsen Date: Mon, 20 Apr 2026 21:55:44 +0200 Subject: [PATCH 1/2] ci(reusable_build_image): Add support for nested boil images Note: Needed so that boil can find the config via the 'product-name', while using the 'namespace' and 'image-name' (without the parent directory) to tag the image with before pushing. --- .github/workflows/precompile_hadoop.yaml | 3 ++- .github/workflows/reusable_build_image.yaml | 23 ++++++++++++++++++--- 2 files changed, 22 insertions(+), 4 deletions(-) diff --git a/.github/workflows/precompile_hadoop.yaml b/.github/workflows/precompile_hadoop.yaml index 793d7dd84..90b3b10d3 100644 --- a/.github/workflows/precompile_hadoop.yaml +++ b/.github/workflows/precompile_hadoop.yaml @@ -47,5 +47,6 @@ jobs: contents: read with: product-name: precompiled/hadoop - sdp-version: ${{ needs.generate_build_timestamp.outputs.unix_timestamp }} registry-namespace: precompiled + image-name: hadoop + sdp-version: ${{ needs.generate_build_timestamp.outputs.unix_timestamp }} diff --git a/.github/workflows/reusable_build_image.yaml b/.github/workflows/reusable_build_image.yaml index 432578537..c07ebf81d 100644 --- a/.github/workflows/reusable_build_image.yaml +++ b/.github/workflows/reusable_build_image.yaml @@ -3,8 +3,16 @@ on: workflow_call: inputs: product-name: + description: The boil product directory name (e.g. "hadoop" or "precompiled/hadoop") required: true type: string + image-name: + description: | + The image name used in the OCI registry. Defaults to product-name if not set. + This is used when the boil directory is nested (eg: precompiled/hadoop) but + the parent directory will be used as the namespace (eg: precompiled). + default: "" + type: string sdp-version: required: true type: string @@ -112,10 +120,14 @@ jobs: image-registry-uri: oci.stackable.tech image-registry-username: robot$${{ inputs.registry-namespace }}+github-action-build image-registry-password: ${{ secrets.harbor-robot-secret }} - image-repository: ${{ inputs.registry-namespace }}/${{ inputs.product-name }} + # NOTE (@NickLarsenNZ): This fallback is just for now so we can support both repo level + # image folders that go under the sdp namespace AND nested image folders that contain the + # namespace (for example precommit/hadoop). + # In future, we probably want to encode this information in the boil config metadata per + # registry so we don't have to do such gymnastics in the workflow. + image-repository: ${{ inputs.registry-namespace }}/${{ inputs.image-name || inputs.product-name }} image-manifest-tag: ${{ steps.build.outputs.image-manifest-tag }} source-image-uri: localhost/${{ inputs.registry-namespace }}/${{ inputs.product-name }}:${{ steps.build.outputs.image-manifest-tag }} - publish_manifests: name: Build/Publish ${{ matrix.versions }} Manifests needs: [generate_version_dimension, build] @@ -139,7 +151,12 @@ jobs: image-registry-uri: oci.stackable.tech image-registry-username: robot$${{ inputs.registry-namespace }}+github-action-build image-registry-password: ${{ secrets.harbor-robot-secret }} - image-repository: ${{ inputs.registry-namespace }}/${{ inputs.product-name }} + # NOTE (@NickLarsenNZ): This fallback is just for now so we can support both repo level + # image folders that go under the sdp namespace AND nested image folders that contain the + # namespace (for example precommit/hadoop). + # In future, we probably want to encode this information in the boil config metadata per + # registry so we don't have to do such gymnastics in the workflow. + image-repository: ${{ inputs.registry-namespace }}/${{ inputs.image-name || inputs.product-name }} image-index-manifest-tag: ${{ matrix.versions }}-stackable${{ inputs.sdp-version }} notify: From 58b01b10375dc67c78e124adbfcd984b4888a1de Mon Sep 17 00:00:00 2001 From: Nick Larsen Date: Tue, 21 Apr 2026 08:02:49 +0200 Subject: [PATCH 2/2] chore: Update changelog --- CHANGELOG.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 15f5ee041..7fa86a1e2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,7 +6,7 @@ All notable changes to this project will be documented in this file. ### Added -- hadoop: Add precompiled hadoop for later reuse in dependent images ([#1466]). +- hadoop: Add precompiled hadoop for later reuse in dependent images ([#1466], [#1474]). - nifi: Add version `2.9.0` ([#1463]). ### Changed @@ -24,6 +24,7 @@ All notable changes to this project will be documented in this file. [#1454]: https://github.com/stackabletech/docker-images/pull/1454 [#1463]: https://github.com/stackabletech/docker-images/pull/1463 [#1466]: https://github.com/stackabletech/docker-images/pull/1466 +[#1474]: https://github.com/stackabletech/docker-images/pull/1474 ## [26.3.0] - 2026-03-16