#!/bin/bash # vim: ai:ts=8:sw=8:noet set -EeufCo pipefail export SHELLOPTS # propagate set to children by default IFS=$'\t\n' # check required commands are in place command -v docker >/dev/null 2>&1 || { echo 'please install docker-client' exit 1 } docker login --username "chn2guevara" \ --password-stdin <<<"$DOCKERHUB_TOKEN" BUILDER_SUFFIX=$(head /dev/urandom | tr -dc A-Za-z0-9 | head -c 5 ; echo '') docker run --privileged --rm tonistiigi/binfmt --install arm64 docker buildx create --use --name "multi-arch-builder-${BUILDER_SUFFIX}" trap "docker buildx rm 'multi-arch-builder-""${BUILDER_SUFFIX}""'" EXIT TAG_PREFIX="" if [ "$BRANCH_NAME" != "master" ]; then TAG_PREFIX="${BRANCH_NAME//\//-}-" fi docker buildx build \ --platform linux/amd64,linux/arm64 \ --builder "multi-arch-builder-${BUILDER_SUFFIX}" \ --no-cache \ --pull \ --push \ --build-arg "NEOVIM_VERSION=${1}" \ --tag "chn2guevara/nvim:${TAG_PREFIX}${1}" \ .