aboutsummaryrefslogtreecommitdiff
path: root/release.sh
blob: 62baf4153b2ef061c5242cd2b0dcf0b2616875b5 (plain)
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
#!/bin/sh -eu

prev=$(git describe --tags --abbrev=0)
next=$(meson rewrite kwargs info project / 2>&1 >/dev/null | jq -r '.kwargs["project#/"].version')

case "$next" in
*-dev)
	echo "This is a development version"
	exit 1
	;;
esac

if [ "$prev" = "$next" ]; then
	echo "Version not bumped in meson.build"
	exit 1
fi

if ! git diff-index --quiet HEAD -- meson.build; then
	echo "meson.build not committed"
	exit 1
fi

shortlog="$(git shortlog --no-merges "$prev..")"
(echo "sway $next"; echo ""; echo "$shortlog") | git tag "$next" -ase -F -

prefix=sway-$next
archive=$prefix.tar.gz
git archive --prefix="$prefix/" -o "$archive" "$next"
gpg --output "$archive".sig --detach-sig "$archive"

gh release create "sway $next" -t "$next" -n "" -d "$archive" "$archive.sig"