From 936cc80c8e8969985ed5bf71213f6ccf29ee6c31 Mon Sep 17 00:00:00 2001 From: Peter Svensson Date: Mon, 19 Jan 2026 08:26:49 +0100 Subject: [PATCH] build: support multi-architecture builds in Dockerfile Add ARG directives for TARGETOS and TARGETARCH to enable multi-architecture support. Modify the build command to use the specified target OS and architecture for more flexible and portable builds. Ensure compatibility with different deployment environments. --- Dockerfile | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index f120ed6..0d48fef 100644 --- a/Dockerfile +++ b/Dockerfile @@ -4,6 +4,9 @@ ADD go.* /build RUN go mod download FROM deps as build +ARG TARGETOS +ARG TARGETARCH + ENV CGO_ENABLED=0 ADD . /build RUN if [ $(go mod tidy -v 2>&1 | grep -c unused) != 0 ]; then echo "Unused modules, please run 'go mod tidy'"; exit 1; fi @@ -14,7 +17,7 @@ RUN ["/bin/bash", "-c", "cat coverage.txt.tmp | grep -v -f <(find . -type f | xa RUN go tool cover -html=coverage.txt -o coverage.html RUN go tool cover -func=coverage.txt RUN rm coverage.txt.tmp -RUN GOOS=linux GOARCH=amd64 CGO_ENABLED=0 go build -mod=readonly -o release/default-request-adder -ldflags '-w -s' +RUN iGOOS=${TARGETOS} GOARCH=${TARGETARCH} CGO_ENABLED=0 go build -mod=readonly -o release/default-request-adder -ldflags '-w -s' FROM scratch as export COPY --from=build /build/coverage.txt /