mirror of
https://github.com/simonmichael/hledger.git
synced 2024-10-06 10:57:30 +03:00
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,
This commit is contained in:
parent
16124eba14
commit
839ebc18a8
4
Makefile
4
Makefile
@ -913,8 +913,8 @@ tag-project: $(call def-help,tag-project, make a git release tag for the project
|
||||
# for p in $(PACKAGES); do cabal upload $$p/dist/$$p-$(VERSION).tar.gz -v2 --check; done
|
||||
|
||||
hackageupload: \
|
||||
$(call def-help,hackageupload, upload all packages to hackage )
|
||||
for p in $(PACKAGES); do stack upload $$p; done
|
||||
$(call def-help,hackageupload, upload all packages to hackage from a release branch)
|
||||
tools/hackageupload $(PACKAGES)
|
||||
|
||||
# showreleasestats stats: \
|
||||
# showreleasedays \
|
||||
|
19
tools/hackageupload
Executable file
19
tools/hackageupload
Executable file
@ -0,0 +1,19 @@
|
||||
#!/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
|
Loading…
Reference in New Issue
Block a user