aboutsummaryrefslogtreecommitdiff
path: root/.scripts.d/20-publish.sh
blob: a911a7578550f376a99baf7d39c8fa3bb0c9f0c6 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
#!/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}" \
	.