flow/contrib/make_release

57 lines
1.1 KiB
Bash
Executable file

#!/bin/bash
set -e
DESTDIR="$(pwd)/release"
BASEDIR="$(cd "$(dirname "$0")/.." && pwd)"
APPNAME="$(basename "$BASEDIR")"
cd "$BASEDIR"
if [ -e "$DESTDIR" ]; then
echo directory \"release\" already exists
exit 1
fi
echo running tests...
./zig build test
echo building...
./zig build -Dpackage_release --prefix "$DESTDIR/build"
cd "$DESTDIR/build"
VERSION=$(/bin/cat version)
TARGETS=$(/bin/ls)
for target in $TARGETS; do
if [ -d "$target" ]; then
cd "$target"
if [ "${target:0:8}" == "windows-" ]; then
echo packing zip "$target"...
zip -r "../../${APPNAME}-${VERSION}-${target}.zip" ./*
cd ..
else
echo packing tar "$target"...
tar -czf "../../${APPNAME}-${VERSION}-${target}.tar.gz" -- *
cd ..
fi
fi
done
cd ..
rm -r build
TARFILES=$(/bin/ls)
for tarfile in $TARFILES; do
echo signing "$tarfile"...
gpg --local-user 4E6CF7234FFC4E14531074F98EB1E1BB660E3FB9 --detach-sig "$tarfile"
sha256sum -b "$tarfile" >"${tarfile}.sha256"
done
echo "done making release $VERSION @ $DESTDIR"
echo
/bin/ls -lah