source: git/make_release @ 3c7ab9a

stereo-2025
Last change on this file since 3c7ab9a was f6edb9e, checked in by Olly Betts <olly@…>, 11 months ago

make_release: Adjust for building win32 in CI

  • Property mode set to 100755
File size: 1.6 KB
Line 
1#! /bin/sh
2
3# This script automates most of the process on making a new release.
4
5set -e
6
7rel=yes
8if test x"$1" = x-t ; then
9   rel=
10   shift
11fi
12
13if test x"$rel" = xyes ; then
14  # Check there are no uncommitted changes.
15  if git commit -a --dry-run >/dev/null 2>/dev/null ; then
16    echo 'There are uncommitted changes - please rectify'
17    echo 'If you just want to test, run with option -t'
18    exit 1
19  fi
20
21  test ! -f Makefile || make distclean
22  cp -u /usr/share/misc/config.guess .
23  cp -u /usr/share/misc/config.sub .
24  mv INSTALL INSTALL.keep
25  autoreconf --force -i
26  mv INSTALL.keep INSTALL
27  ./configure CC=gcc CXX=g++
28  # Don't error out on new GCC8 and GCC9 warnings for now.
29  make CFLAGS='-Werror' CXXFLAGS='-Werror -Wno-error=cast-function-type -Wno-error=deprecated-copy -Wno-error=ignored-qualifiers'
30  VALGRIND=valgrind make distcheck VERBOSE=1
31else
32  make dist
33fi
34
35if test x"$rel" = xyes ; then
36  rm -rf "$tardir"
37else
38  exit 0
39fi
40
41VERSION=`sed 's/^VERSION *= *//p;d' Makefile`
42HOST=thyestes.tartarus.org
43
44echo 'Tagging'
45git tag -s -m"Survex $VERSION" "v$VERSION"
46
47echo 'Pushing'
48git push --follow-tags
49ssh "$HOST" bin/survex-git-mirror
50
51win32=survex-win32-$VERSION.exe
52echo "Download and unzip $win32 into `pwd`"
53
54while test ! -f "$win32" ; do sleep 1 ; done
55
56FILES="survex-$VERSION.tar.gz $win32"
57echo "SHA256 checksums:"
58sha256sum $FILES
59echo
60
61for f in $FILES ; do
62    gpg --detach-sign --armour "$f"
63    FILES="$FILES $f.asc"
64done
65
66echo "To upload to the webserver, run:"
67
68echo ssh "$HOST" mkdir /srv/www/survex.com/software/"$VERSION"
69echo scp $FILES "$HOST":/srv/www/survex.com/software/"$VERSION"
Note: See TracBrowser for help on using the repository browser.