summaryrefslogtreecommitdiff
path: root/RELEASE-CHECKLIST
blob: af1cbc1571cdcc34f2a6c590fad974f808673a3b (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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
#!/bin/bash
# This is for the benefit of the upstream maintainers of GNU adns
#
#  * Maybe rerun autoconf
#  * Ensure changelog reflects changes
#  * Ensure NEWS reflects changes
#  * Maybe update MAJOR and/or MINOR in common.make.in
#  * Update DISTVERSION in Makefile.in
#  * Update ADNS_VERSION_STRING in client/client.h
#
#  * Run this script
#      ./RELEASE-CHECKLIST
#
#  * On chiark, maybe, replace ~ian/public-html/adns/current
#    with symlink to web-$(version) (as directed by script)
#
#  * Send release announcement (use last one as template)
#
#  * Update DISTVERSION, ADNS_VERSION_STRING and start new changelog entry

set -e

version=`sed -n <Makefile.in 's/^DISTVERSION=[	]*//p'`

gpgkey='-u 0x48B50D39'
chiark=chiark:/u/ian/public-html/adns
chiarkftp=$chiark/ftp

x () { echo "----- $* -----"; "$@"; }

x git clean -xdff
x ./configure
x make -j4
x make check
x make dist
rm -rf web
x make web-install

distfile=adns-$version.tar.gz
x test -f $distfile

tag=adns-${version//\~/-}
webout=docs-$version

x gpg --detach-sign $distfile
x git tag -s $gpgkey -m "adns release $version" $tag
x git push origin $tag~0:master $tag

distfiles="$distfile $distfile.sig"
x rsync -vP $distfiles $chiarkftp/

x rsync -rvP web/. $chiark/$webout

x sha256sum $distfiles

cat <<END

TO UPDATE WEB PAGE DOCS:
  ssh ${chiark%%:*}
  cd ${chiark#*:}
  rm -f docs.tmp
  ln -s $webout docs.tmp
  mv -Tf docs.tmp docs
END