hledger/tools/hackageupload
Simon Michael 839ebc18a8 dev: make hackageupload: do it only from a release branch
To avoid mishaps like yesterday's upload of 1.24.99, this will now
only work from a branch named VERSION-branch or (possible future
naming) VERSION-release.

This means major releases from master are no longer allowed; a release
branch is always required,
2021-12-11 08:52:33 -10:00

20 lines
670 B
Bash
Executable File

#!/usr/bin/env bash
set -e
BRANCH=$(git rev-parse --abbrev-ref HEAD)
if [[ $BRANCH =~ ^[0-9.]*-(branch|release) ]]; then
PACKAGES=$*
printf "\nReady to publish on hackage.haskell.org:\n\n"
for P in $PACKAGES; do
printf "%s %s\n" "$P" "$(grep ^version: "$P"/"$P".cabal | sed -E 's/version: +//')"
done
echo
read -rp "Ok ? Press enter to confirm, ctrl-c to abort: "
for P in $PACKAGES; do
stack upload "$P"
done
else
printf "%s: in $BRANCH branch, please upload from the latest release branch.\n" "$(basename "$0")"
printf "Perhaps: git switch %s\n" $(git branch | grep -E '[0-9.]+-(branch|release)' | tail -1)
fi