From 6c636fb4ec04e55d0ef587f770ada6bc3356b7b2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alberto=20Mart=C3=ADnez=20P=C3=A9rez?= Date: Fri, 20 Feb 2026 01:43:37 +0100 Subject: [PATCH 01/11] feat: test multiarch images build and push --- .github/workflows/e2e-tests.yml | 2 +- .github/workflows/release.yml | 21 +++++++++++---------- Makefile | 12 ++++++++++-- cmd/main.go | 2 +- 4 files changed, 23 insertions(+), 14 deletions(-) diff --git a/.github/workflows/e2e-tests.yml b/.github/workflows/e2e-tests.yml index 7167a66..4fd38ee 100644 --- a/.github/workflows/e2e-tests.yml +++ b/.github/workflows/e2e-tests.yml @@ -7,7 +7,7 @@ permissions: on: pull_request: - branches: [main] + branches: [no-launch] paths-ignore: ['docs/**'] workflow_dispatch: diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 96ae329..552d735 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -3,10 +3,7 @@ name: ๐Ÿš€ Release permissions: read-all -on: - release: - types: - - created +on: workflow_dispatch env: REGISTRY: ghcr.io @@ -76,16 +73,20 @@ jobs: username: ${{ github.actor }} password: ${{ secrets.GITHUB_TOKEN }} + - name: Set up QEMU + uses: docker/setup-qemu-action@v3 + + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v3 + - name: ๐Ÿ—๏ธ Build and push Operator image run: | - make docker-build IMAGE_TAG_BASE=${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} - make docker-push IMAGE_TAG_BASE=${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} - - name: ๐Ÿ—๏ธ Build and push Operator bundle + make docker-build-and-push-multiarch IMAGE_TAG_BASE=${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} + - name: ๐Ÿ—๏ธ Build and push Operator bundle image run: | make bundle IMAGE_TAG_BASE=${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} - make bundle-build IMAGE_TAG_BASE=${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} - make bundle-push IMAGE_TAG_BASE=${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} - - name: ๐Ÿ—๏ธ Build and push Operator catalog + make bundle-build-and-push-multiarch IMAGE_TAG_BASE=${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} + - name: ๐Ÿ—๏ธ Build and push Operator catalog image run: | make catalog-build IMAGE_TAG_BASE=${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} make catalog-push IMAGE_TAG_BASE=${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} diff --git a/Makefile b/Makefile index f0cff40..ca83c83 100644 --- a/Makefile +++ b/Makefile @@ -6,7 +6,7 @@ SHELL := /bin/bash NAME := redkey-operator -VERSION := 0.1.0 +VERSION := test ROBIN_VERSION := 0.1.0 GOLANG_VERSION := 1.25.7 DELVE_VERSION := 1.25 @@ -524,13 +524,21 @@ endif # https://github.com/operator-framework/community-operators/blob/7f1438c/docs/packaging-operator.md#updating-your-existing-operator .PHONY: catalog-build catalog-build: opm ## Build a catalog image. - $(OPM) index add --container-tool $(CONTAINER_TOOL) --mode semver --tag $(CATALOG_IMG) --bundles $(BUNDLE_IMGS) $(FROM_INDEX_OPT) + $(OPM) index add --container-tool $(CONTAINER_TOOL) --mode replaces --tag $(CATALOG_IMG) --bundles $(BUNDLE_IMGS) $(FROM_INDEX_OPT) # Push the catalog image. .PHONY: catalog-push catalog-push: ## Push a catalog image. $(MAKE) docker-push IMG=$(CATALOG_IMG) +docker-build-and-push-multiarch: test ## Build and push operator docker image for multiple architectures (uses `${IMG}` image name). + $(info $(M) building and pushing operator docker image for multiple architectures) + $(CONTAINER_TOOL) buildx build --platform linux/amd64,linux/arm64 -t ${IMG} --build-arg GOLANG_VERSION=$(GOLANG_VERSION) . --push + +bundle-build-and-push-multiarch: ## Build and push bundle docker image for multiple architectures (uses `${BUNDLE_IMG}` image name). + $(info $(M) building and pushing bundle docker image for multiple architectures) + $(CONTAINER_TOOL) buildx build --platform linux/amd64,linux/arm64 -t ${BUNDLE_IMG} . --push + ##@ Test TEST_PATHS := ./controllers/ ./internal/*/ ./api/*/ diff --git a/cmd/main.go b/cmd/main.go index 53ba6cd..170cedd 100644 --- a/cmd/main.go +++ b/cmd/main.go @@ -32,7 +32,7 @@ import ( const ( USER_AGENT_NAME = "redkey-cluster-operator" - USER_AGENT_VERSION = "0.1.0" + USER_AGENT_VERSION = "test" ) var ( From 6dad73ef69d9fff1ab6d05170eaac6702b7624f1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alberto=20Mart=C3=ADnez=20P=C3=A9rez?= Date: Fri, 20 Feb 2026 01:49:15 +0100 Subject: [PATCH 02/11] feat: test multiarch images build and push --- .github/workflows/release.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 552d735..6d47335 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -3,7 +3,7 @@ name: ๐Ÿš€ Release permissions: read-all -on: workflow_dispatch +on: push env: REGISTRY: ghcr.io From 01d4412e09f60f15ee4accacfb653fb6faa46fd8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alberto=20Mart=C3=ADnez=20P=C3=A9rez?= Date: Fri, 20 Feb 2026 01:51:58 +0100 Subject: [PATCH 03/11] feat: test multiarch images build and push --- Makefile | 2 +- cmd/main.go | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Makefile b/Makefile index ca83c83..8591319 100644 --- a/Makefile +++ b/Makefile @@ -7,7 +7,7 @@ SHELL := /bin/bash NAME := redkey-operator VERSION := test -ROBIN_VERSION := 0.1.0 +ROBIN_VERSION := 0.0.1 GOLANG_VERSION := 1.25.7 DELVE_VERSION := 1.25 diff --git a/cmd/main.go b/cmd/main.go index 170cedd..44de60b 100644 --- a/cmd/main.go +++ b/cmd/main.go @@ -32,7 +32,7 @@ import ( const ( USER_AGENT_NAME = "redkey-cluster-operator" - USER_AGENT_VERSION = "test" + USER_AGENT_VERSION = "0.0.1" ) var ( From 2e53c3bb1c715e0d649ad4a66a9c115f08b900d7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alberto=20Mart=C3=ADnez=20P=C3=A9rez?= Date: Fri, 20 Feb 2026 01:56:29 +0100 Subject: [PATCH 04/11] feat: test multiarch images build and push --- Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile b/Makefile index 8591319..9a1cfad 100644 --- a/Makefile +++ b/Makefile @@ -535,7 +535,7 @@ docker-build-and-push-multiarch: test ## Build and push operator docker image fo $(info $(M) building and pushing operator docker image for multiple architectures) $(CONTAINER_TOOL) buildx build --platform linux/amd64,linux/arm64 -t ${IMG} --build-arg GOLANG_VERSION=$(GOLANG_VERSION) . --push -bundle-build-and-push-multiarch: ## Build and push bundle docker image for multiple architectures (uses `${BUNDLE_IMG}` image name). +bundle-build-and-push-multiarch: ## Build and push bundle docker image for multiple architectures (uses `${BUNDLE_IMG}` image name). $(info $(M) building and pushing bundle docker image for multiple architectures) $(CONTAINER_TOOL) buildx build --platform linux/amd64,linux/arm64 -t ${BUNDLE_IMG} . --push From 57de88492306b2a4918e2f6f3e2ff682a92abb36 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alberto=20Mart=C3=ADnez=20P=C3=A9rez?= Date: Fri, 20 Feb 2026 01:58:34 +0100 Subject: [PATCH 05/11] feat: test multiarch images build and push --- Makefile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Makefile b/Makefile index 9a1cfad..8d5568e 100644 --- a/Makefile +++ b/Makefile @@ -6,8 +6,8 @@ SHELL := /bin/bash NAME := redkey-operator -VERSION := test -ROBIN_VERSION := 0.0.1 +VERSION := 0.0.1 +ROBIN_VERSION := 0.1.0 GOLANG_VERSION := 1.25.7 DELVE_VERSION := 1.25 From 1043dcc5bb185ef06862084688bea7a1637e3af2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alberto=20Mart=C3=ADnez=20P=C3=A9rez?= Date: Fri, 20 Feb 2026 02:01:10 +0100 Subject: [PATCH 06/11] feat: test multiarch images build and push --- .github/workflows/release.yml | 13 +------------ 1 file changed, 1 insertion(+), 12 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 6d47335..6cb1a17 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -21,7 +21,7 @@ jobs: uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4 with: fetch-depth: 0 - - name: Check bundle generation ๐Ÿงช + - name: ๐Ÿงช Check bundle generation run: | make bundle IMAGE_TAG_BASE=${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} @@ -41,17 +41,6 @@ jobs: run: | echo "version: ${{ needs.release.outputs.version }}" echo "user_agent_version: ${{ needs.release.outputs.user_agent_version }}" - echo "tag_name: ${{ github.event.release.tag_name }}" - - if [ "${{ github.event.release.tag_name }}" != "${{ needs.release.outputs.version }}" ]; then - echo "Version in Makefile does not match release tag" - exit 1 - fi - - if [ "${{ github.event.release.tag_name }}" != "${{ needs.release.outputs.user_agent_version }}" ]; then - echo "Version in main.go/USER_AGENT_VERSION does not match release tag" - exit 1 - fi build: name: ๐Ÿ› ๏ธ Build Operator images From d2929dd0cf1f762f8619f2dbd39b3642675070ee Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alberto=20Mart=C3=ADnez=20P=C3=A9rez?= Date: Fri, 20 Feb 2026 02:15:49 +0100 Subject: [PATCH 07/11] feat: test multiarch images build and push --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index 8ec5e5b..35add19 100644 --- a/Dockerfile +++ b/Dockerfile @@ -26,7 +26,7 @@ COPY controllers/ controllers/ COPY internal/ internal/ # Build -RUN CGO_ENABLED=0 GOOS=linux GOARCH=amd64 GO111MODULE=on go build -o manager ./cmd/ +RUN CGO_ENABLED=0 GOOS=linux GO111MODULE=on go build -o manager ./cmd/ ### Final stage From 64fc13416ac90aba8284e6a84c82403530111555 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alberto=20Mart=C3=ADnez=20P=C3=A9rez?= Date: Fri, 20 Feb 2026 03:03:45 +0100 Subject: [PATCH 08/11] fix: show step icon at the beginning --- Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile b/Makefile index 8d5568e..61202ca 100644 --- a/Makefile +++ b/Makefile @@ -524,7 +524,7 @@ endif # https://github.com/operator-framework/community-operators/blob/7f1438c/docs/packaging-operator.md#updating-your-existing-operator .PHONY: catalog-build catalog-build: opm ## Build a catalog image. - $(OPM) index add --container-tool $(CONTAINER_TOOL) --mode replaces --tag $(CATALOG_IMG) --bundles $(BUNDLE_IMGS) $(FROM_INDEX_OPT) + $(OPM) index add --container-tool $(CONTAINER_TOOL) --mode semver --tag $(CATALOG_IMG) --bundles $(BUNDLE_IMGS) $(FROM_INDEX_OPT) # Push the catalog image. .PHONY: catalog-push From 8e9208039c4d00ece7f8524069820ae87c0e716a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alberto=20Mart=C3=ADnez=20P=C3=A9rez?= Date: Fri, 20 Feb 2026 03:49:13 +0100 Subject: [PATCH 09/11] fix: show step icon at the beginning --- .github/workflows/release.yml | 2 ++ Makefile | 4 ++-- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 6cb1a17..b38bb1d 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -71,10 +71,12 @@ jobs: - name: ๐Ÿ—๏ธ Build and push Operator image run: | make docker-build-and-push-multiarch IMAGE_TAG_BASE=${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} + make docker-push IMAGE_TAG_BASE=${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} - name: ๐Ÿ—๏ธ Build and push Operator bundle image run: | make bundle IMAGE_TAG_BASE=${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} make bundle-build-and-push-multiarch IMAGE_TAG_BASE=${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} + make bundle-push IMAGE_TAG_BASE=${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} - name: ๐Ÿ—๏ธ Build and push Operator catalog image run: | make catalog-build IMAGE_TAG_BASE=${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} diff --git a/Makefile b/Makefile index 61202ca..435445c 100644 --- a/Makefile +++ b/Makefile @@ -533,11 +533,11 @@ catalog-push: ## Push a catalog image. docker-build-and-push-multiarch: test ## Build and push operator docker image for multiple architectures (uses `${IMG}` image name). $(info $(M) building and pushing operator docker image for multiple architectures) - $(CONTAINER_TOOL) buildx build --platform linux/amd64,linux/arm64 -t ${IMG} --build-arg GOLANG_VERSION=$(GOLANG_VERSION) . --push + $(CONTAINER_TOOL) buildx build --platform linux/amd64,linux/arm64 -t ${IMG} --build-arg GOLANG_VERSION=$(GOLANG_VERSION) . bundle-build-and-push-multiarch: ## Build and push bundle docker image for multiple architectures (uses `${BUNDLE_IMG}` image name). $(info $(M) building and pushing bundle docker image for multiple architectures) - $(CONTAINER_TOOL) buildx build --platform linux/amd64,linux/arm64 -t ${BUNDLE_IMG} . --push + $(CONTAINER_TOOL) buildx build --platform linux/amd64,linux/arm64 -t ${BUNDLE_IMG} . ##@ Test From 39dd721ea07fc1f319e448d2cbb0bb84a73798d7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alberto=20Mart=C3=ADnez=20P=C3=A9rez?= Date: Fri, 20 Feb 2026 04:19:37 +0100 Subject: [PATCH 10/11] fix: show step icon at the beginning --- Makefile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Makefile b/Makefile index 435445c..ddd2f39 100644 --- a/Makefile +++ b/Makefile @@ -533,11 +533,11 @@ catalog-push: ## Push a catalog image. docker-build-and-push-multiarch: test ## Build and push operator docker image for multiple architectures (uses `${IMG}` image name). $(info $(M) building and pushing operator docker image for multiple architectures) - $(CONTAINER_TOOL) buildx build --platform linux/amd64,linux/arm64 -t ${IMG} --build-arg GOLANG_VERSION=$(GOLANG_VERSION) . + $(CONTAINER_TOOL) build --platform linux/amd64,linux/arm64 -t ${IMG} --build-arg GOLANG_VERSION=$(GOLANG_VERSION) . --load bundle-build-and-push-multiarch: ## Build and push bundle docker image for multiple architectures (uses `${BUNDLE_IMG}` image name). $(info $(M) building and pushing bundle docker image for multiple architectures) - $(CONTAINER_TOOL) buildx build --platform linux/amd64,linux/arm64 -t ${BUNDLE_IMG} . + $(CONTAINER_TOOL) build --platform linux/amd64,linux/arm64 -t ${BUNDLE_IMG} . --load ##@ Test From c36bcd64339a949b3579cfa4781d128d9e3da76d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alberto=20Mart=C3=ADnez=20P=C3=A9rez?= Date: Fri, 20 Feb 2026 04:26:07 +0100 Subject: [PATCH 11/11] fix: show step icon at the beginning --- Makefile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Makefile b/Makefile index ddd2f39..1bfbcaf 100644 --- a/Makefile +++ b/Makefile @@ -533,11 +533,11 @@ catalog-push: ## Push a catalog image. docker-build-and-push-multiarch: test ## Build and push operator docker image for multiple architectures (uses `${IMG}` image name). $(info $(M) building and pushing operator docker image for multiple architectures) - $(CONTAINER_TOOL) build --platform linux/amd64,linux/arm64 -t ${IMG} --build-arg GOLANG_VERSION=$(GOLANG_VERSION) . --load + $(CONTAINER_TOOL) buildx build --platform linux/amd64,linux/arm64 -t ${IMG} --build-arg GOLANG_VERSION=$(GOLANG_VERSION) . --load bundle-build-and-push-multiarch: ## Build and push bundle docker image for multiple architectures (uses `${BUNDLE_IMG}` image name). $(info $(M) building and pushing bundle docker image for multiple architectures) - $(CONTAINER_TOOL) build --platform linux/amd64,linux/arm64 -t ${BUNDLE_IMG} . --load + $(CONTAINER_TOOL) buildx build --platform linux/amd64,linux/arm64 -t ${BUNDLE_IMG} . --load ##@ Test