@@ -13,7 +13,16 @@ VIRT_ARTIFACTS_SERVER ?= $(REGISTRY_NAMESPACE)/virt-artifacts-server
13
13
LDFLAGS ?= -w -s
14
14
GOLANDCI_LINT_VERSION ?= v1.57.0
15
15
HCO_BUMP_LEVEL ?= minor
16
+ UNAME_ARCH := $(shell uname -m)
17
+ ifeq ($(UNAME_ARCH ) ,x86_64)
18
+ TEMP_ARCH = amd64
19
+ else ifeq ($(UNAME_ARCH),aarch64)
20
+ TEMP_ARCH = arm64
21
+ else
22
+ TEMP_ARCH := $(UNAME_ARCH)
23
+ endif
16
24
25
+ ARCH ?= $(TEMP_ARCH )
17
26
18
27
# Prow doesn't have docker command
19
28
DO =./hack/in-docker.sh
@@ -88,11 +97,19 @@ hack-clean: ## Run ./hack/clean.sh
88
97
89
98
container-build : container-build-operator container-build-webhook container-build-operator-courier container-build-functest container-build-artifacts-server
90
99
100
+ build-push-multi-arch-images : build-push-multi-arch-operator-image build-push-multi-arch-webhook-image build-push-multi-arch-functest-image build-push-multi-arch-artifacts-server
101
+
91
102
container-build-operator :
92
- . " hack/cri-bin.sh" && $$ CRI_BIN build -f build/Dockerfile -t $(IMAGE_REGISTRY ) /$(OPERATOR_IMAGE ) :$(IMAGE_TAG ) --build-arg git_sha=$(SHA ) .
103
+ . " hack/cri-bin.sh" && $$ CRI_BIN build --platform=linux/$(ARCH ) -f build/Dockerfile -t $(IMAGE_REGISTRY ) /$(OPERATOR_IMAGE ) :$(IMAGE_TAG ) --build-arg git_sha=$(SHA ) .
104
+
105
+ build-push-multi-arch-operator-image :
106
+ IMAGE_NAME=$(IMAGE_REGISTRY ) /$(OPERATOR_IMAGE ) :$(IMAGE_TAG ) SHA=SHA DOCKER_FILE=build/Dockerfile ./hack/build-push-multi-arch-images.sh
93
107
94
108
container-build-webhook :
95
- . " hack/cri-bin.sh" && $$ CRI_BIN build -f build/Dockerfile.webhook -t $(IMAGE_REGISTRY ) /$(WEBHOOK_IMAGE ) :$(IMAGE_TAG ) --build-arg git_sha=$(SHA ) .
109
+ . " hack/cri-bin.sh" && $$ CRI_BIN build --platform=linux/$(ARCH ) -f build/Dockerfile.webhook -t $(IMAGE_REGISTRY ) /$(WEBHOOK_IMAGE ) :$(IMAGE_TAG ) --build-arg git_sha=$(SHA ) .
110
+
111
+ build-push-multi-arch-webhook-image :
112
+ IMAGE_NAME=$(IMAGE_REGISTRY ) /$(WEBHOOK_IMAGE ) :$(IMAGE_TAG ) SHA=$(SHA ) DOCKER_FILE=" build/Dockerfile.webhook" ./hack/build-push-multi-arch-images.sh
96
113
97
114
container-build-operator-courier :
98
115
podman build -f tools/operator-courier/Dockerfile -t hco-courier .
@@ -101,11 +118,17 @@ container-build-validate-bundles:
101
118
podman build -f tools/operator-sdk-validate/Dockerfile -t operator-sdk-validate-hco .
102
119
103
120
container-build-functest :
104
- . " hack/cri-bin.sh" && $$ CRI_BIN build -f build/Dockerfile.functest -t $(IMAGE_REGISTRY ) /$(FUNC_TEST_IMAGE ) :$(IMAGE_TAG ) --build-arg git_sha=$(SHA ) .
121
+ . " hack/cri-bin.sh" && $$ CRI_BIN build --platform=linux/$(ARCH ) -f build/Dockerfile.functest -t $(IMAGE_REGISTRY ) /$(FUNC_TEST_IMAGE ) :$(IMAGE_TAG ) --build-arg git_sha=$(SHA ) .
122
+
123
+ build-push-multi-arch-functest-image :
124
+ IMAGE_NAME=$(IMAGE_REGISTRY ) /$(FUNC_TEST_IMAGE ) :$(IMAGE_TAG ) SHA=$(SHA ) DOCKER_FILE=" build/Dockerfile.functest" ./hack/build-push-multi-arch-images.sh
105
125
106
126
container-build-artifacts-server :
107
127
podman build -f build/Dockerfile.artifacts -t $(IMAGE_REGISTRY ) /$(VIRT_ARTIFACTS_SERVER ) :$(IMAGE_TAG ) --build-arg git_sha=$(SHA ) .
108
128
129
+ build-push-multi-arch-artifacts-server :
130
+ IMAGE_NAME=$(IMAGE_REGISTRY ) /$(VIRT_ARTIFACTS_SERVER ) :$(IMAGE_TAG ) SHA=$(SHA ) DOCKER_FILE=" build/Dockerfile.artifacts" ./hack/build-push-multi-arch-images.sh
131
+
109
132
container-push : container-push-operator container-push-webhook container-push-functest container-push-artifacts-server
110
133
111
134
quay-login :
@@ -121,7 +144,7 @@ container-push-functest:
121
144
. " hack/cri-bin.sh" && $$ CRI_BIN push $$ CRI_INSECURE $(IMAGE_REGISTRY ) /$(FUNC_TEST_IMAGE ) :$(IMAGE_TAG )
122
145
123
146
container-push-artifacts-server :
124
- podman push $(IMAGE_REGISTRY ) /$(VIRT_ARTIFACTS_SERVER ) :$(IMAGE_TAG )
147
+ . " hack/cri-bin.sh " && $$ CRI_BIN manifest push $(IMAGE_REGISTRY ) /$(VIRT_ARTIFACTS_SERVER ) :$(IMAGE_TAG )
125
148
126
149
cluster-up :
127
150
./cluster/up.sh
@@ -292,4 +315,9 @@ bump-hco:
292
315
lint-monitoring \
293
316
sanity \
294
317
goimport \
295
- bump-hco
318
+ bump-hco \
319
+ build-push-multi-arch-operator-image \
320
+ build-push-multi-arch-webhook-image \
321
+ build-push-multi-arch-functest-image \
322
+ build-push-multi-arch-artifacts-server \
323
+ build-push-multi-arch-images
0 commit comments