@@ -479,11 +479,22 @@ IMAGE_ARCHIVE_DIR ?= $(shell pwd)
479479
480480manifest-create : # util target to compose multiarch container manifests from platform specific images.
481481 $(CONTAINER_BUILDER ) manifest create $(IMAGE_REGISTRY ) /$(IMAGE ) :$(TAG )
482- $(foreach PLATFORM,$(PLATFORMS ) , \
483- $(if $(filter $(PLATFORM ) ,windows/amd64) , \
484- $(CONTAINER_BUILDER ) manifest add --os-version=$(WINVER ) $(IMAGE_REGISTRY ) /$(IMAGE ) :$(TAG ) docker://$(IMAGE_REGISTRY ) /$(IMAGE ) :$(subst /,-,$(PLATFORM ) ) -$(TAG ) ; \
485- , \
486- $(CONTAINER_BUILDER ) manifest add $(IMAGE_REGISTRY ) /$(IMAGE ) :$(TAG ) docker://$(IMAGE_REGISTRY ) /$(IMAGE ) :$(subst /,-,$(PLATFORM ) ) -$(TAG ) ; ))
482+
483+ manifest-add :
484+ $(CONTAINER_BUILDER ) manifest add --os=$(OS ) --os-version=$($(OS_VERSION ) ) $(IMAGE_REGISTRY ) /$(IMAGE ) :$(TAG ) docker://$(IMAGE_REGISTRY ) /$(IMAGE ) :$(subst /,-,$(PLATFORM ) )$(if $(OS_VERSION ) ,-$(OS_VERSION ) ,) -$(TAG )
485+
486+ manifest-build : # util target to compose multiarch container manifests from platform specific images.
487+ $(MAKE ) manifest-create
488+ $(foreach PLATFORM,$(PLATFORMS ) ,\
489+ $(if $(filter $(PLATFORM ) ,windows/amd64) ,\
490+ $(foreach OS_VERSION,$(OS_VERSIONS ) ,\
491+ $(MAKE ) manifest-add CONTAINER_BUILDER=$(CONTAINER_BUILDER ) OS=windows OS_VERSION=$(OS_VERSION ) PLATFORM=$(PLATFORM ) ; \
492+ ),\
493+ $(MAKE ) manifest-add PLATFORM=$(PLATFORM ) ; \
494+ )\
495+ )\
496+
497+
487498
488499manifest-push : # util target to push multiarch container manifest.
489500 $(CONTAINER_BUILDER ) manifest push --all $(IMAGE_REGISTRY ) /$(IMAGE ) :$(TAG ) docker://$(IMAGE_REGISTRY ) /$(IMAGE ) :$(TAG )
0 commit comments