images/build.sh
2024-06-06 21:41:32 -04:00

36 lines
641 B
Bash
Executable file

#!/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