moth/build/ci/ci.sh

43 lines
727 B
Bash
Executable File

#! /bin/sh
set -e
ACTION=$1
BASE=$2
if [ -z "$ACTION" ] || [ -z "$BASE" ]; then
echo "Usage: $0 ACTION BASE"
exit 1
fi
log () {
printf "=== %s\n" "$*" 1>&2
}
fail () {
printf "\033[31;1m=== FAIL: %s\033[0m\n" "$*" 1>&2
exit 1
}
tags () {
pfx=$1
for base in ghcr.io/dirtbags/moth dirtbags/moth; do
echo $pfx $base:${CI_COMMIT_REF_SLUG}
echo $pfx $base:${CI_COMMIT_REF_SLUG%.*}
echo $pfx $base:${CI_COMMIT_REF_SLUG%.*.*}
done | uniq
}
case $ACTION in
publish)
docker build \
--file build/package/Containerfile \
$(tags)
docker push $(tags --destination)
;;
*)
echo "Unknown action: $1" 1>&2
exit 1
;;
esac