add file which helps releases

This commit is contained in:
Motiejus Jakštys 2021-08-24 13:57:30 +03:00
parent 6dd7678e64
commit d3dc675d07
2 changed files with 33 additions and 1 deletions

View File

@ -9,7 +9,7 @@ GOOSARCHS = $(sort \
windows/amd64/.exe \ windows/amd64/.exe \
windows/arm64/.exe) windows/arm64/.exe)
VSN = $(shell git describe --dirty) VSN ?= $(shell git describe --dirty)
VSNHASH = $(shell git rev-parse --verify HEAD) VSNHASH = $(shell git rev-parse --verify HEAD)
LDFLAGS = -ldflags "-X main.Version=$(VSN) -X main.VersionHash=$(VSNHASH)" LDFLAGS = -ldflags "-X main.Version=$(VSN) -X main.VersionHash=$(VSNHASH)"

32
release Executable file
View File

@ -0,0 +1,32 @@
#!/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"