From e366e5352954e3c6108af45839fdd28e8557fdaa Mon Sep 17 00:00:00 2001 From: j842 Date: Tue, 10 Jun 2025 17:26:06 +1200 Subject: [PATCH] Convert to multi-arch docker image. --- build-base/build.sh | 7 ++++++- publish.sh | 9 ++++++++- 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/build-base/build.sh b/build-base/build.sh index 326b78e..c22c6f6 100755 --- a/build-base/build.sh +++ b/build-base/build.sh @@ -4,7 +4,12 @@ set -euo pipefail SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )" -docker build \ +# Create buildx builder if it doesn't exist +docker buildx create --name multiarch --use 2>/dev/null || docker buildx use multiarch + +# Build multi-platform image locally (store in builder cache) +docker buildx build \ + --platform linux/amd64,linux/arm64 \ -t "gitea.jde.nz/public/dropshell-build-base:latest" \ -f "${SCRIPT_DIR}/Dockerfile.dropshell-build-base" \ ${SCRIPT_DIR} diff --git a/publish.sh b/publish.sh index 1d63dfc..6407619 100755 --- a/publish.sh +++ b/publish.sh @@ -15,7 +15,14 @@ die() { # Publish gitea.jde.nz/public/dropshell-build-base:latest docker login -u "anything" -p "${DOCKER_PUSH_TOKEN}" gitea.jde.nz -docker push "gitea.jde.nz/public/dropshell-build-base:latest" + +# Push the multi-platform image that was built by build-base/build.sh +docker buildx build \ + --platform linux/amd64,linux/arm64 \ + -t "gitea.jde.nz/public/dropshell-build-base:latest" \ + -f "build-base/Dockerfile.dropshell-build-base" \ + --push \ + build-base/