From ca9d0628a3d12e2dedf8b0d0eac97f7486630a88 Mon Sep 17 00:00:00 2001 From: Jiawei Huang Date: Thu, 16 Jan 2025 21:15:59 -0800 Subject: [PATCH 1/2] Split calico go-build image publish into parallel pipelines --- .semaphore/promotions/calico-go-build.yml | 19 ++++++++++++++++--- images/Makefile | 8 ++++++-- 2 files changed, 22 insertions(+), 5 deletions(-) diff --git a/.semaphore/promotions/calico-go-build.yml b/.semaphore/promotions/calico-go-build.yml index dc7318d2..c150b559 100644 --- a/.semaphore/promotions/calico-go-build.yml +++ b/.semaphore/promotions/calico-go-build.yml @@ -2,7 +2,7 @@ version: v1.0 name: Publish calico/go-build images agent: machine: - type: f1-standard-4 + type: f1-standard-2 os_image: ubuntu2204 execution_time_limit: @@ -37,10 +37,23 @@ blocks: jobs: - name: Linux multi-arch commands: - - if [ -z "${SEMAPHORE_GIT_PR_NUMBER}" ]; then make -C images calico-go-build-cd CONFIRM=true; fi - - name: Trigger calico/go-build pin updates + - if [ -z "${SEMAPHORE_GIT_PR_NUMBER}" ]; then make -C images calico-go-build-cd VALIDARCHES=$ARCH CONFIRM=true; fi + matrix: + - env_var: ARCH + values: ["amd64", "arm64", "ppc64le", "s390x"] + - name: Publish calico/go-build multi-arch manifests dependencies: - Publish calico/go-build images + run: + when: "branch = 'master' OR tag =~ '^1\\.\\d+\\.\\d-llvm\\d+\\.\\d\\.\\d-k8s1\\.\\d+\\.\\d'" + task: + jobs: + - name: Linux multi-arch manifests + commands: + - if [ -z "${SEMAPHORE_GIT_PR_NUMBER}" ]; then make -C images push-calico-go-build-manifests CONFIRM=true; fi + - name: Trigger calico/go-build pin updates + dependencies: + - Publish calico/go-build multi-arch manifests run: when: "tag =~ '^1\\.\\d+\\.\\d-llvm\\d+\\.\\d\\.\\d-k8s1\\.\\d+\\.\\d'" task: diff --git a/images/Makefile b/images/Makefile index fcdf1c92..0c4bdcca 100644 --- a/images/Makefile +++ b/images/Makefile @@ -75,9 +75,13 @@ sub-calico-go-build-image-%: $(MAKE) calico-go-build-image ARCH=$* .PHONY: calico-go-build-cd -calico-go-build-cd: calico-go-build-image-all +calico-go-build-cd: calico-go-build-image $(MAKE) BUILD_IMAGES=$(CALICO_GO_BUILD) cd-common +.PHONY: push-calico-go-build-manifests +push-calico-go-build-manifests: var-require-one-of-CONFIRM-DRYRUN var-require-all-BRANCH_NAME + $(MAKE) BUILD_IMAGES=$(CALICO_GO_BUILD) push-manifests IMAGETAG=$(if $(IMAGETAG_PREFIX),$(IMAGETAG_PREFIX)-)$(BRANCH_NAME) EXCLUDEARCH="$(EXCLUDEARCH)" + .PHONY: clean clean: rm -f $(QEMU_USER_STATIC_IMAGE_CREATED) @@ -88,4 +92,4 @@ clean: .PHONY: cd-common cd-common: var-require-one-of-CONFIRM-DRYRUN var-require-all-BRANCH_NAME - $(MAKE) retag-build-images-with-registries push-images-to-registries push-manifests IMAGETAG=$(if $(IMAGETAG_PREFIX),$(IMAGETAG_PREFIX)-)$(BRANCH_NAME) EXCLUDEARCH="$(EXCLUDEARCH)" + $(MAKE) retag-build-images-with-registries push-images-to-registries IMAGETAG=$(if $(IMAGETAG_PREFIX),$(IMAGETAG_PREFIX)-)$(BRANCH_NAME) EXCLUDEARCH="$(EXCLUDEARCH)" From 18cc4fc6e781d8e5aaac25f297bdcc41d2ae8429 Mon Sep 17 00:00:00 2001 From: Jiawei Huang Date: Thu, 16 Jan 2025 21:27:38 -0800 Subject: [PATCH 2/2] Use f1-standard-2 for CI --- .semaphore/semaphore.yml | 4 ---- 1 file changed, 4 deletions(-) diff --git a/.semaphore/semaphore.yml b/.semaphore/semaphore.yml index 9e6ee04c..fe9ee9dd 100644 --- a/.semaphore/semaphore.yml +++ b/.semaphore/semaphore.yml @@ -49,10 +49,6 @@ blocks: - name: calico/go-build image dependencies: [] task: - agent: - machine: - type: f1-standard-4 - os_image: ubuntu2204 env_vars: # The branch to test the current go-build against - name: CALICO_BRANCH