#!/usr/bin/env bash TAG=$1 function require() { if [ "$1" = "" ]; then echo "input '$2' required" print_help exit 1 fi } function print_help() { echo "build.sh" echo "" echo "Usage:" echo " build.sh [tag]" echo "" echo "Args:" echo " tag: The tag of the built container" } function build_image() { IMAGE=$1 ARCH=$2 docker build \ --pull \ --no-cache \ -f "Dockerfile.${ARCH}" \ -t "${IMAGE}:${TAG}-${ARCH}" \ -t "${IMAGE}:latest-${ARCH}" \ -t "${IMAGE}:latest" \ . docker push "${IMAGE}:${TAG}-${ARCH}" docker push "${IMAGE}:latest-${ARCH}" docker push "${IMAGE}:latest" } require "$TAG" tag if ! docker run --rm -it arm64v8/alpine:latest /bin/sh -c 'echo "docker is configured correctly"'; then echo "docker is not configured to run on qemu-emulated architectures, fixing will require sudo" sudo docker run --rm --privileged multiarch/qemu-user-static --reset -p yes fi set -xe build_image asonix/murmur arm64v8