Skip to content

fix(boil)!: Don't override image manifest URIs in output - #1613

Merged
Techassi merged 6 commits into
mainfrom
fix/boil-dont-override-image-manifest-uris
Aug 24, 2026
Merged

Techassi merged 6 commits into
mainfrom
fix/boil-dont-override-image-manifest-uris

Conversation

@Techassi

@Techassi Techassi commented Aug 24, 2026 •

Copy link
Copy Markdown
Member

Fixes #1612.

The map used for stdout output and structured output via the CLI arg --write-image-manifest-uris automatically dropped URIs for the same image if multiple versions of that image were built at the same time. This is now fixed by mapping the image name to a list of tag sets instead of a single tag set.

This is a breaking change, as the format of the structured output changes. This requires changes in the stackabletech/actions repo.

The fix can be tested by building an image with multiple versions, eg:

boil build java-base --vendor-version 1.2.3 --floating-tag --write-image-manifest-uris

The adjusted format no looks like this:

{
  "java-base": [
    {
      "canonical": "oci.stackable.tech/sdp/java-base:11-stackable1.2.3-amd64",
      "others": [
        "oci.stackable.tech/sdp/java-base:11-stackable1.2-amd64"
      ]
    },
    {
      "canonical": "oci.stackable.tech/sdp/java-base:17-stackable1.2.3-amd64",
      "others": [
        "oci.stackable.tech/sdp/java-base:17-stackable1.2-amd64"
      ]
    },
    // ...
  ]
}

The adjusted stdout output looks like this:

Successfully built 5 images:
java-base (10 tags):
  oci.stackable.tech/sdp/java-base:11-stackable1.2.3-amd64 (oci.stackable.tech/sdp/java-base:11-stackable1.2-amd64)
  oci.stackable.tech/sdp/java-base:17-stackable1.2.3-amd64 (oci.stackable.tech/sdp/java-base:17-stackable1.2-amd64)
  oci.stackable.tech/sdp/java-base:21-stackable1.2.3-amd64 (oci.stackable.tech/sdp/java-base:21-stackable1.2-amd64)
  oci.stackable.tech/sdp/java-base:24-stackable1.2.3-amd64 (oci.stackable.tech/sdp/java-base:24-stackable1.2-amd64)
  oci.stackable.tech/sdp/java-base:25-stackable1.2.3-amd64 (oci.stackable.tech/sdp/java-base:25-stackable1.2-amd64)

The map used for stdout output and structured output via the CLI
arg --write-image-manifest-uris automatically dropped URIs for the
same image if multiple versions of that image were built at the
same time. This is now fixed by mapping the image name to a list
of tag sets instead of a single tag set.

This is a breaking change, as the format of the structured output
changes. This requires changes in the stackabletech/actions repo.
@Techassi Techassi self-assigned this Aug 24, 2026
@Techassi Techassi moved this to Development: In Progress in Stackable Engineering Aug 24, 2026
@Techassi
Techassi marked this pull request as ready for review August 24, 2026 08:43
@Techassi Techassi moved this from Development: In Progress to Development: Waiting for Review in Stackable Engineering Aug 24, 2026
soenkeliebau
soenkeliebau previously approved these changes Aug 24, 2026

@soenkeliebau soenkeliebau left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

One super minor nit typo and one question, but in principle I'd be happy to merge as is as well.

Comment thread rust/boil/src/cmd/build.rs Outdated
Comment thread rust/boil/src/core/bakefile.rs
Co-authored-by: Sönke Liebau <soenke.liebau@stackable.tech>
@Techassi Techassi moved this from Development: Waiting for Review to Development: In Review in Stackable Engineering Aug 24, 2026
@Techassi
Techassi requested a review from soenkeliebau August 24, 2026 09:18
@Techassi
Techassi added this pull request to the merge queue Aug 24, 2026
Merged via the queue into main with commit 117c6d2 Aug 24, 2026
8 checks passed
@Techassi
Techassi deleted the fix/boil-dont-override-image-manifest-uris branch August 24, 2026 09:24
@Techassi Techassi moved this from Development: In Review to Development: Done in Stackable Engineering Aug 24, 2026
Techassi added a commit to stackabletech/actions that referenced this pull request Aug 24, 2026
* feat(build-product-image): Support new structured output format

In stackabletech/docker-images#1613 the
output format was changed. This commit adjusts the jq query to
deal with the new format.

* chore(build-product-image): Also index other tags correctly
@lfrancke lfrancke moved this from Development: Done to Done in Stackable Engineering Aug 24, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Development

Successfully merging this pull request may close these issues.

boil: "data loss" when building multiple images for the same product at the same time

3 participants