This is an automated email from the ASF dual-hosted git repository.
oscerd pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/camel.git
The following commit(s) were added to refs/heads/main by this push:
new 978db09b1940 fix(ci): assemble camel-jbang multi-arch image with
buildx imagetools (#24049)
978db09b1940 is described below
commit 978db09b194064f95f2bbda99592b23f17d25535
Author: Andrea Cosentino <[email protected]>
AuthorDate: Tue Jun 16 18:57:18 2026 +0200
fix(ci): assemble camel-jbang multi-arch image with buildx imagetools
(#24049)
The images-push target assembled the per-arch tags into a multi-arch
manifest with `docker manifest create`. Under the containerd image store
(the default in recent Docker), `docker buildx build --load` stores each
image as an OCI image index, so the pushed `:VERSION-<arch>` tags are
themselves manifest lists. `docker manifest create` rejects manifest-list
members and fails with "... is a manifest list".
Use `docker buildx imagetools create` instead: it accepts index sources,
merges their child manifests, and preserves the buildx attestations. It
pushes the resulting manifest list directly, so the separate
`docker manifest push --purge` is no longer needed.
Co-authored-by: Claude Opus 4.8 (1M context) <[email protected]>
---
dsl/camel-jbang/camel-jbang-container/Makefile | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/dsl/camel-jbang/camel-jbang-container/Makefile
b/dsl/camel-jbang/camel-jbang-container/Makefile
index bf3f6cb6dbbc..6e357b45e071 100644
--- a/dsl/camel-jbang/camel-jbang-container/Makefile
+++ b/dsl/camel-jbang/camel-jbang-container/Makefile
@@ -80,9 +80,9 @@ images-push:
@echo "####### Pushing Camel JBang (CLI) $(IMAGE_PUSH) container
image..."
for i in $(ARCH_VERSIONS); do \
docker push $(IMAGE_PUSH)-$$i ; \
- docker manifest create $(IMAGE_PUSH) -a $(IMAGE_PUSH)-$$i; \
done
- docker manifest push $(IMAGE_PUSH) --purge
+ docker buildx imagetools create -t $(IMAGE_PUSH) \
+ $(foreach arch,$(ARCH_VERSIONS),$(IMAGE_PUSH)-$(arch))
images-release: images-build-all images-push-all images-check-all