#!/bin/sh
set -eu

DATE="$1"
VVERSION="v$2"
PROJECT="$3"

if git show "$VVERSION" 1>/dev/null 2>/dev/null; then
	echo "Version '$VVERSION' already exists." >&2
	exit 1
fi

if [ "$DATE" != "$(git log -1 --format=%cd --date=short HEAD)" ]; then
	echo "Date '$DATE' is not up-to-date." >&2
	exit 1
fi

if [ "Release $VVERSION" != "$(git log --format=%B -1 HEAD | head -n1)" ]; then
	echo "Commit message isn't 'Release $VVERSION'." >&2
	exit 1
fi

sh aux/workflow/assert-changelog.sh "$PROJECT"

git tag "$VVERSION"

sh aux/workflow/sign-tarballs.sh "$PROJECT"
