Skip to content

Commit 31ea0bb

Browse files
ci fix
1 parent 9e27f09 commit 31ea0bb

File tree

3 files changed

+34
-77
lines changed

3 files changed

+34
-77
lines changed

.github/workflows/build-image-release.yaml

Lines changed: 0 additions & 64 deletions
This file was deleted.

.github/workflows/image-release.yaml

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -18,10 +18,8 @@ jobs:
1818
fetch-depth: 0
1919
- name: Login registry
2020
run: |
21-
echo "${{ secrets.GITHUB_TOKEN }}" | docker login ghcr.io -u ${{ github.actor }} --password-stdin
22-
- name: Make
21+
echo "${{ secrets.REGISTRY_PASSWORD }}" | docker login ${{ secrets.REGISTRY_RELEASE_NAME }} -u ${{ secrets.REGISTRY_USER }} --password-stdin
22+
- name: Make and push
2323
run: |
24-
make karmada-operator
25-
- name: Push
26-
run: |
27-
make upload-image
24+
make push-multi-architecture-images
25+

Makefile

Lines changed: 30 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,7 @@ GOOS ?= $(shell go env GOOS)
22
GOARCH ?= $(shell go env GOARCH)
33
SOURCES := $(shell find ./cmd/controller-manager -type f -name '*.go')
44

5-
BUILD_ARCH ?= linux/$(GOARCH)
6-
5+
RELEASE_ARCHS ?= amd64 arm64
76
# Git information
87
GIT_VERSION ?= $(shell git describe --tags --abbrev=8 --dirty) # attention: gitlab CI: git fetch should not use shallow
98
GIT_COMMIT_HASH ?= $(shell git rev-parse HEAD)
@@ -70,20 +69,44 @@ all: karmada-operator-imgs
7069

7170
.PHONY: karmada-operator
7271
karmada-operator: $(SOURCES)
73-
echo "Building karmada-operator for arch = $(BUILD_ARCH)"
72+
echo "Building karmada-operator for arch = $(GOARCH)"
7473
export DOCKER_CLI_EXPERIMENTAL=enabled ;\
75-
! ( docker buildx ls | grep karmada-operator-builder ) && docker buildx create --use --platform=$(BUILD_ARCH) --name karmada-operator-builder ;\
74+
! ( docker buildx ls | grep karmada-operator-builder ) && docker buildx create --use --platform=linux/$(GOARCH) --name karmada-operator-builder ;\
7675
docker buildx build \
7776
--build-arg karmada-operator_version=$(KARMADA_OPERATOR_VERSION) \
7877
--build-arg UBUNTU_MIRROR=$(UBUNTU_MIRROR) \
7978
--builder karmada-operator-builder \
80-
--platform $(BUILD_ARCH) \
81-
--tag $(REGISTRY_REPO)/karmada-operator:$(KARMADA_OPERATOR_IMAGE_VERSION) \
82-
--tag $(REGISTRY_REPO)/karmada-operator:latest \
79+
--platform linux/$(GOARCH) \
80+
--tag $(REGISTRY_REPO)/karmada-operator-$(GOARCH):$(KARMADA_OPERATOR_IMAGE_VERSION) \
81+
--tag $(REGISTRY_REPO)/karmada-operator-$(GOARCH):latest \
8382
-f ./Dockerfile \
8483
--load \
8584
.
8685

86+
87+
.PHONY: push-multi-architecture-images
88+
push-multi-architecture-images: clean-multi-architecture-images
89+
set -e; \
90+
images=""; \
91+
latest_images=""; \
92+
for arch in $(RELEASE_ARCHS); do \
93+
GOARCH=$$arch $(MAKE) karmada-operator; \
94+
image=$(REGISTRY_REPO)/karmada-operator-$$arch:$(KARMADA_OPERATOR_IMAGE_VERSION); \
95+
docker push $(REGISTRY_REPO)/karmada-operator-$$arch:$(KARMADA_OPERATOR_IMAGE_VERSION); \
96+
images="$$images $$image"; \
97+
latest_image=$(REGISTRY_REPO)/karmada-operator-$$arch:latest; \
98+
docker push $(REGISTRY_REPO)/karmada-operator-$$arch:latest; \
99+
latest_images="$$latest_images $$latest_image"; \
100+
done; \
101+
docker manifest create $(REGISTRY_REPO)/karmada-operator:$(KARMADA_OPERATOR_IMAGE_VERSION) $$images; \
102+
docker manifest push $(REGISTRY_REPO)/karmada-operator:$(KARMADA_OPERATOR_IMAGE_VERSION); \
103+
docker manifest create $(REGISTRY_REPO)/karmada-operator:latest $$latest_images; \
104+
docker manifest push $(REGISTRY_REPO)/karmada-operator:latest;
105+
106+
.PHONY: clean-multi-architecture-images
107+
clean-multi-architecture-images:
108+
docker manifest rm $(REGISTRY_REPO)/karmada-operator:$(KARMADA_OPERATOR_IMAGE_VERSION) 2>/dev/null;\
109+
docker manifest rm $(REGISTRY_REPO)/karmada-operator:latest 2>/dev/null; exit 0
87110
.PHONY: upload-image
88111
upload-image: karmada-operator-imgs
89112
@echo "push images to $(REGISTRY_REPO)"

0 commit comments

Comments
 (0)