source: git/make_release @ dc9dcf5

stereo-2025
Last change on this file since dc9dcf5 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
RevLine 
[d7acd89]1#! /bin/sh
[ae1309f]2
[088d34f]3# This script automates most of the process on making a new release.
4
[098acb1]5set -e
6
[ae1309f]7rel=yes
[e66be9a]8if test x"$1" = x-t ; then
[ae1309f]9   rel=
[f30265a0]10   shift
[d7acd89]11fi
[dd7674d]12
[ae1309f]13if test x"$rel" = xyes ; then
[9d5aa63]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'
[d2980d2]17    echo 'If you just want to test, run with option -t'
18    exit 1
19  fi
[098acb1]20
[d2980d2]21  test ! -f Makefile || make distclean
22  cp -u /usr/share/misc/config.guess .
23  cp -u /usr/share/misc/config.sub .
[f5baa8c]24  mv INSTALL INSTALL.keep
[d2980d2]25  autoreconf --force -i
[f5baa8c]26  mv INSTALL.keep INSTALL
[d2980d2]27  ./configure CC=gcc CXX=g++
[148c993]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'
[8ea94ea]30  VALGRIND=valgrind make distcheck VERBOSE=1
[f78ad72]31else
[d2980d2]32  make dist
[e719df1]33fi
[098acb1]34
[d2980d2]35if test x"$rel" = xyes ; then
36  rm -rf "$tardir"
[004b1c2]37else
38  exit 0
[d2980d2]39fi
[7b12c6d]40
[9c9fd6b]41VERSION=`sed 's/^VERSION *= *//p;d' Makefile`
[f6edb9e]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"
[f4671eb]57echo "SHA256 checksums:"
58sha256sum $FILES
[8430216]59echo
60
[179a57b]61for f in $FILES ; do
[201310c]62    gpg --detach-sign --armour "$f"
[179a57b]63    FILES="$FILES $f.asc"
64done
65
[f6edb9e]66echo "To upload to the webserver, run:"
[e11c235]67
68echo ssh "$HOST" mkdir /srv/www/survex.com/software/"$VERSION"
[8430216]69echo scp $FILES "$HOST":/srv/www/survex.com/software/"$VERSION"
Note: See TracBrowser for help on using the repository browser.