#!/bin/sh set -e remote="g.freya.cat" user="freya" architectures="linux/amd64,linux/arm64" init() { docker login "$remote" -u "$user" current="$(docker buildx inspect | head -n 1 | awk '{ print $2 }')" if [ "$current" != "builder" ]; then docker buildx create --name builder docker buildx use builder fi } build() { docker buildx build --push --platform "$architectures" "$1" -t "$remote/$user/$1:latest" } build_all() { images="$(find . -mindepth 1 -maxdepth 1 -type d | grep -v '\./\.' | tr -d './')" IFS=$'\n' for image in $images; do build "$image" done } init if [ "$#" -gt 0 ]; then build "$1" else build_all fi