undocker/release

33 lines
701 B
Bash
Executable File

#!/bin/bash
set -euo pipefail
err() {
>&2 echo "ERROR: $*"
exit 1
}
git status --porcelain | grep -q "" &&
err "working tree is dirty, commit your changes first."
[[ ! "$1" =~ ^v([0-9]+)\.([0-9]+)(\.([0-9]+))?$ ]] && \
err "arg1 accepts the following formats: v1.0 v1.0.0"
git tag | grep -q "^$1$" &&
err "tag $1 already exists"
last_tag=$(git tag | tail -1)
make -B -j"$(nproc)" VSN="$1" sha256sum.txt.asc
{
echo undocker "$1"
echo
echo Changelog since "$last_tag":
git log --pretty=format:"- [%cn] %s" "$last_tag"..HEAD
echo
echo
echo sha256sums of released binaries:
cat sha256sum.txt
echo
} | git tag -u motiejus@jakstys.lt -F - "$1"