From 07472b3a540ed1794cc69b71d3f444c628557d59 Mon Sep 17 00:00:00 2001 From: Emil Lerch Date: Tue, 24 Nov 2020 15:21:48 -0800 Subject: [PATCH] update multi-arch manifest push uses the manifest command from podman, which hopefully is the same as docker. manifest-tool is the old-and-busted way of doing multi-arch in any case --- Makefile | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/Makefile b/Makefile index be0532a..0cc28bc 100755 --- a/Makefile +++ b/Makefile @@ -209,14 +209,16 @@ push: $(CONTAINER_DOTFILES) # TODO: Upstream was using manifest-tool and gcloud commands. Needs update manifest-list: # @HELP builds a manifest list of containers for all platforms -manifest-list: all-push - @for bin in $(BINS); do \ - platforms=$$(echo $(ALL_PLATFORMS) | sed 's/ /,/g'); \ - manifest-tool \ - push from-args \ - --platforms "$$platforms" \ - --template $(REGISTRY)/$$bin:$(VERSION)__OS_ARCH \ - --target $(REGISTRY)/$$bin:$(VERSION); \ +manifest-list: all-container + @for bin in $(BINS); do \ + docker manifest create $(REGISTRY)/$$bin:$(VERSION); \ + for platform in $(ALL_PLATFORMS); do \ + docker manifest add --arch $$(echo $$platform | cut -d/ -f2) \ + $(REGISTRY)/$$bin:$(VERSION) \ + $(REGISTRY)/$$bin:$(VERSION)__$$(echo $$platform | sed 's#/#_#g'); \ + done; \ + docker manifest push --all $(REGISTRY)/$$bin:$(VERSION) \ + docker://$(REGISTRY)/$$bin:$(VERSION); \ done version: # @HELP outputs the version string