33 lines
707 B
Plaintext
33 lines
707 B
Plaintext
|
#!/bin/bash
|
||
|
set -euo pipefail
|
||
|
|
||
|
err() {
|
||
|
>&2 echo "ERROR: $*"
|
||
|
exit 1
|
||
|
}
|
||
|
|
||
|
[[ -n "$(git status --porcelain)" ]] && \
|
||
|
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"
|
||
|
|
||
|
[[ -n "$(git tag | grep "^$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"
|