From 92e2c90a51b7eb0b0d0cbff5962be326c2d20af5 Mon Sep 17 00:00:00 2001
From: "Mohamed S. Mahmoud" <mmahmoud@redhat.com>
Date: Mon, 22 May 2023 08:57:11 -0400
Subject: [PATCH] fix makefile (#120)

Signed-off-by: Mohamed Mahmoud <mmahmoud@redhat.com>
---
 .github/workflows/push_image_pr.yml |  2 +-
 Makefile                            | 13 ++++++++++---
 2 files changed, 11 insertions(+), 4 deletions(-)

diff --git a/.github/workflows/push_image_pr.yml b/.github/workflows/push_image_pr.yml
index 7b78f2a7..4a0aa337 100644
--- a/.github/workflows/push_image_pr.yml
+++ b/.github/workflows/push_image_pr.yml
@@ -40,7 +40,7 @@ jobs:
       - name: build and push images
         run: IMAGE_ORG=${{ env.ORG }} IMAGE=${{ env.REGISTRY }}/${{ env.IMAGE }}:${{ env.short_sha }} make images
       - name: build and push manifest
-        run: IMAGE_ORG=${{ env.ORG }} VERSION=${{ env.VERSION }} make ci-manifest
+        run: IMAGE_ORG=${{ env.ORG }} IMAGE=${{ env.REGISTRY }}/${{ env.IMAGE }}:${{ env.VERSION }} make ci-manifest
       - uses: actions/github-script@v6
         with:
           github-token: ${{secrets.GITHUB_TOKEN}}
diff --git a/Makefile b/Makefile
index 2ef7fdcd..38605bfe 100644
--- a/Makefile
+++ b/Makefile
@@ -32,7 +32,7 @@ IMAGE_SHA = $(IMAGE_TAG_BASE):$(BUILD_SHA)
 
 # Image building tool (docker / podman)
 OCI_BIN_PATH := $(shell which podman  || which docker)
-OCI_BIN ?= $(shell v='$(OCI_BIN_PATH)'; echo "$${v##*/}")
+OCI_BIN ?= $(shell basename ${OCI_BIN_PATH})
 
 LOCAL_GENERATOR_IMAGE ?= ebpf-generator:latest
 CILIUM_EBPF_VERSION := v0.10.0
@@ -58,6 +58,12 @@ define push_target
 	DOCKER_BUILDKIT=1 $(OCI_BIN) push ${IMAGE}-$(1);
 endef
 
+# manifest create a single arch target provided as argument
+define manifest_create_target
+	echo 'manifest create for arch $(1)'; \
+	DOCKER_BUILDKIT=1 $(OCI_BIN) manifest add ${IMAGE} ${IMAGE}-$(target);
+endef
+
 ##@ General
 
 # The help target prints out all targets with their descriptions organized
@@ -169,8 +175,9 @@ image-push: ## Push MULTIARCH_TARGETS images
 
 .PHONY: manifest-build
 manifest-build: ## Build MULTIARCH_TARGETS manifest
-	@echo 'building manifest $(IMAGE)'
-	DOCKER_BUILDKIT=1 $(OCI_BIN) manifest create ${IMAGE} $(foreach target,$(MULTIARCH_TARGETS),--amend ${IMAGE}-$(target));
+	trap 'exit' INT; \
+	DOCKER_BUILDKIT=1 $(OCI_BIN) manifest create ${IMAGE}
+	$(foreach target,$(MULTIARCH_TARGETS),$(call manifest_create_target,$(target)))
 
 .PHONY: manifest-push
 manifest-push: ## Push MULTIARCH_TARGETS manifest
-- 
GitLab