diff --git a/.github/workflows/push_image_pr.yml b/.github/workflows/push_image_pr.yml index 7b78f2a7c98d2d56ee732198d33fdf59922d5b43..4a0aa33778a3d7d89e319687241511529ff516f0 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 2ef7fdcd06206fb09eaf64df2d4357303d7dcb75..38605bfe6b36f2d447a172afca2356083a036ca6 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