From 12f22b0d73f9c793de39968eb6186f39228a8d06 Mon Sep 17 00:00:00 2001 From: hime Date: Mon, 25 Nov 2024 22:10:07 +0000 Subject: [PATCH] Set GOARCH through TARGETPLATFORM to correctly build for ARM machines. --- Makefile | 8 ++++---- cmd/csi_driver/Dockerfile | 3 ++- cmd/metadata_prefetch/Dockerfile | 3 ++- cmd/sidecar_mounter/Dockerfile | 3 ++- cmd/webhook/Dockerfile | 3 ++- 5 files changed, 12 insertions(+), 8 deletions(-) diff --git a/Makefile b/Makefile index e74f3120..b1ce6e2b 100755 --- a/Makefile +++ b/Makefile @@ -52,19 +52,19 @@ all: driver sidecar-mounter webhook metadata-prefetch driver: mkdir -p ${BINDIR} - CGO_ENABLED=0 GOOS=linux GOARCH=$(shell dpkg --print-architecture) go build -mod vendor -ldflags "${LDFLAGS}" -o ${BINDIR}/${DRIVER_BINARY} cmd/csi_driver/main.go + CGO_ENABLED=0 GOOS=linux go build -mod vendor -ldflags "${LDFLAGS}" -o ${BINDIR}/${DRIVER_BINARY} cmd/csi_driver/main.go sidecar-mounter: mkdir -p ${BINDIR} - CGO_ENABLED=0 GOOS=linux GOARCH=$(shell dpkg --print-architecture) go build -mod vendor -ldflags "${LDFLAGS}" -o ${BINDIR}/${SIDECAR_BINARY} cmd/sidecar_mounter/main.go + CGO_ENABLED=0 GOOS=linux go build -mod vendor -ldflags "${LDFLAGS}" -o ${BINDIR}/${SIDECAR_BINARY} cmd/sidecar_mounter/main.go metadata-prefetch: mkdir -p ${BINDIR} - CGO_ENABLED=0 GOOS=linux GOARCH=$(shell dpkg --print-architecture) go build -mod vendor -ldflags "${LDFLAGS}" -o ${BINDIR}/${PREFETCH_BINARY} cmd/metadata_prefetch/main.go + CGO_ENABLED=0 GOOS=linux go build -mod vendor -ldflags "${LDFLAGS}" -o ${BINDIR}/${PREFETCH_BINARY} cmd/metadata_prefetch/main.go webhook: mkdir -p ${BINDIR} - CGO_ENABLED=0 GOOS=linux GOARCH=$(shell dpkg --print-architecture) go build -mod vendor -ldflags "${LDFLAGS}" -o ${BINDIR}/${WEBHOOK_BINARY} cmd/webhook/main.go + CGO_ENABLED=0 GOOS=linux go build -mod vendor -ldflags "${LDFLAGS}" -o ${BINDIR}/${WEBHOOK_BINARY} cmd/webhook/main.go download-gcsfuse: mkdir -p ${BINDIR}/linux/amd64 ${BINDIR}/linux/arm64 diff --git a/cmd/csi_driver/Dockerfile b/cmd/csi_driver/Dockerfile index 8a8a3510..c8e3509e 100644 --- a/cmd/csi_driver/Dockerfile +++ b/cmd/csi_driver/Dockerfile @@ -17,10 +17,11 @@ FROM --platform=$BUILDPLATFORM golang:1.23.3 AS driver-builder ARG STAGINGVERSION +ARG TARGETPLATFORM WORKDIR /gcs-fuse-csi-driver ADD . . -RUN make driver BINDIR=/bin +RUN GOARCH=$(echo $TARGETPLATFORM | cut -f2 -d '/') make driver BINDIR=/bin # Start from Kubernetes Debian base. FROM gke.gcr.io/debian-base:bookworm-v1.0.2-gke.2 AS debian diff --git a/cmd/metadata_prefetch/Dockerfile b/cmd/metadata_prefetch/Dockerfile index 74bf24a2..c8a6e7e1 100644 --- a/cmd/metadata_prefetch/Dockerfile +++ b/cmd/metadata_prefetch/Dockerfile @@ -17,10 +17,11 @@ FROM --platform=$BUILDPLATFORM golang:1.23.3 AS metadata-prefetch-builder ARG STAGINGVERSION +ARG TARGETPLATFORM WORKDIR /gcs-fuse-csi-driver ADD . . -RUN make metadata-prefetch BINDIR=/bin +RUN GOARCH=$(echo $TARGETPLATFORM | cut -f2 -d '/') make metadata-prefetch BINDIR=/bin # go/gke-releasing-policies#base-images FROM gke.gcr.io/debian-base:bookworm-v1.0.4-gke.2 AS debian diff --git a/cmd/sidecar_mounter/Dockerfile b/cmd/sidecar_mounter/Dockerfile index 6f1b35c3..690d0357 100644 --- a/cmd/sidecar_mounter/Dockerfile +++ b/cmd/sidecar_mounter/Dockerfile @@ -17,10 +17,11 @@ FROM --platform=$BUILDPLATFORM golang:1.23.3 AS sidecar-mounter-builder ARG STAGINGVERSION +ARG TARGETPLATFORM WORKDIR /gcs-fuse-csi-driver ADD . . -RUN make sidecar-mounter BINDIR=/bin +RUN GOARCH=$(echo $TARGETPLATFORM | cut -f2 -d '/') make sidecar-mounter BINDIR=/bin # go/gke-releasing-policies#base-images # We use `gcr.io/distroless/base` because it includes glibc. diff --git a/cmd/webhook/Dockerfile b/cmd/webhook/Dockerfile index 0d443ea8..78131b2a 100644 --- a/cmd/webhook/Dockerfile +++ b/cmd/webhook/Dockerfile @@ -17,10 +17,11 @@ FROM --platform=$BUILDPLATFORM golang:1.23.3 AS webhook-builder ARG STAGINGVERSION +ARG TARGETPLATFORM WORKDIR /gcs-fuse-csi-driver ADD . . -RUN make webhook BINDIR=/bin +RUN GOARCH=$(echo $TARGETPLATFORM | cut -f2 -d '/') make webhook BINDIR=/bin FROM gcr.io/distroless/static