From 1b6989b5d9b9e54e99822cd024b0c00e615e3d98 Mon Sep 17 00:00:00 2001 From: Nathan Coad Date: Thu, 19 Feb 2026 13:21:18 +1100 Subject: [PATCH] feat: Add multi-platform support and experimental features to Docker build --- .drone.yml | 6 ++++++ Dockerfile | 10 ++++++++-- 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/.drone.yml b/.drone.yml index 4f1f61e..37bad0c 100644 --- a/.drone.yml +++ b/.drone.yml @@ -47,6 +47,8 @@ steps: registry: registry.coadcorp.com repo: registry.coadcorp.com/nathan/invertergui dockerfile: Dockerfile + platform: linux/amd64,linux/arm64 + experimental: true buildx_options_semicolon: --platform=linux/amd64,linux/arm64;--provenance=false username: nathan password: @@ -63,6 +65,8 @@ steps: registry: registry.coadcorp.com repo: registry.coadcorp.com/nathan/invertergui dockerfile: Dockerfile + platform: linux/amd64,linux/arm64 + experimental: true buildx_options_semicolon: --platform=linux/amd64,linux/arm64;--provenance=false username: nathan password: @@ -82,6 +86,8 @@ steps: registry: registry.coadcorp.com repo: registry.coadcorp.com/nathan/invertergui dockerfile: Dockerfile + platform: linux/amd64,linux/arm64 + experimental: true buildx_options_semicolon: --platform=linux/amd64,linux/arm64;--provenance=false username: nathan password: diff --git a/Dockerfile b/Dockerfile index 34a3b31..78b9e0b 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,9 +1,15 @@ -FROM golang:1.26-alpine as builder +FROM --platform=$BUILDPLATFORM golang:1.26-alpine as builder + +ARG TARGETOS=linux +ARG TARGETARCH +ARG TARGETVARIANT RUN mkdir /build COPY . /build/ WORKDIR /build -RUN CGO_ENABLED=0 go build -o invertergui ./cmd/invertergui +RUN set -eux; \ + GOARM="${TARGETVARIANT#v}"; \ + CGO_ENABLED=0 GOOS="${TARGETOS}" GOARCH="${TARGETARCH}" GOARM="${GOARM}" go build -o invertergui ./cmd/invertergui FROM scratch