#!/usr/bin/env bash # Manual multi-arch build + push fallback when Gitea Actions isn't available. # # One-time setup: # docker buildx create --name multi --use # docker run --privileged --rm tonistiigi/binfmt --install all # # Auth: # docker login rg.nl-ams.scw.cloud -u nologin -p # # Usage: # ./build.sh # tags :latest and : # TAG=v0.2.0 ./build.sh # additional explicit tag set -euo pipefail REGISTRY="${REGISTRY:-rg.nl-ams.scw.cloud/valinor}" IMAGE="${REGISTRY}/finrod" SHA="$(git rev-parse --short HEAD)" TAGS=(-t "${IMAGE}:latest" -t "${IMAGE}:${SHA}") if [[ -n "${TAG:-}" ]]; then TAGS+=(-t "${IMAGE}:${TAG}") fi cd "$(dirname "$0")" docker buildx build \ --platform linux/amd64,linux/arm64 \ "${TAGS[@]}" \ --push \ . echo echo "Pushed: ${IMAGE}:{latest,${SHA}${TAG:+,${TAG}}}"