File: make-release

package info (click to toggle)
secnet 0.6.7
  • links: PTS
  • area: main
  • in suites: bookworm, trixie
  • size: 1,956 kB
  • sloc: ansic: 15,234; python: 1,057; perl: 966; sh: 596; tcl: 484; java: 231; asm: 114; yacc: 89; php: 64; makefile: 48; awk: 40
file content (49 lines) | stat: -rwxr-xr-x 943 bytes parent folder | download | duplicates (2)
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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
#!/bin/sh
# subdirmk - release script
# Copyright various contributors - see top level README.
# SPDX-License-Identifier: LGPL-2.0-or-later
# There is NO WARRANTY.

set -e

fail () { echo >&2 "error: $*"; $dryrun exit 1; }

case "$1" in
-n)	dryrun=: ; shift ;;
-*)	fail "unknown option $1" ;;
esac

x () { echo >&2 " $*"; $dryrun "$@"; }

head=$(git rev-parse HEAD~0)
for branch in master tested; do
	bv=$(git rev-parse refs/heads/$branch)
	test $bv = $head || fail "error: HEAD=$head, $branch=$bv"
done

status=$(git status --porcelain --ignored)
if [ "$status" ]; then
	printf >&2 '%s\n' "$status"
	fail 'tree not sufficiently clean'
fi

v="$1"

case "$v" in
subdirmk/*) v=${v#subdirmk/} ;;
esac

case "$v" in
[0-9]*.*) ;;
*) fail 'bad version' ;;
esac

tag=subdirmk/$v
key=0x559AE46C2D6B6D3265E7CBA1E3E3392348B50D39

export GPG_TTY=`tty` # wtf
x git tag -s -u $key -m "subdirmk $v" $tag

x git push origin master $tag

$dryrun echo 'done.'