From afbcd0018b0f0836af3e3222ac6c1c7e66c1041c Mon Sep 17 00:00:00 2001 From: Daniel Wagner Date: Wed, 10 Jan 2018 13:04:18 +0100 Subject: [PATCH] scripts: Add release script Signed-off-by: Daniel Wagner --- scripts/release.sh | 71 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 71 insertions(+) create mode 100755 scripts/release.sh diff --git a/scripts/release.sh b/scripts/release.sh new file mode 100755 index 0000000..8713f55 --- /dev/null +++ b/scripts/release.sh @@ -0,0 +1,71 @@ +#!/bin/bash + +OLD_VERSION=${1:-} +NEW_VERSION=${2:-} + +usage() { + echo "$0: OLD_VERSION NEW_VERSION" + echo "" + echo "example:" + echo " $0 0.15.0 0.16.0" +} + +if [ -z "$OLD_VERSION" ] || [ -z "$NEW_VERSION" ] ; then + usage + exit 1 +fi + +echo "$NEW_VERSION" > newchangelog +git shortlog "$OLD_VERSION".. >> newchangelog +cat CHANGELOG.md >> newchangelog + +emacs newchangelog + +echo -n "All fine, ready to release? [y/N]" +read a +a=$(echo "$a" | tr '[:upper:]' '[:lower:]') +if [ "$a" != "y" ]; then + echo "no not happy, let's stop doing the release" + exit 1 +fi + +mv newchangelog CHANGELOG.md +sed -i "s,\(__version__ =\).*,\1 \'$NEW_VERSION\'," kas/__version__.py + +git add CHANGELOG.md +git add kas/__version__.py + +git commit -m "Release $NEW_VERSION" +git tag -s -m "Release $NEW_VERSION" "$NEW_VERSION" +git push --follow-tags + +# http://peterdowns.com/posts/first-time-with-pypi.html +python setup.py sdist upload -r pypitest +python setup.py sdist upload -r pypi + +authors=$(git shortlog -s "$OLD_VERSION".."$NEW_VERSION" | cut -c8- | paste -s -d, - | sed -e 's/,/, /g') +highlights=$(cat CHANGELOG.md | sed -e "/$OLD_VERSION/,\$d") + +prolog=release-email.txt +echo \ +" +Subject: [ANNOUNCE] Release $NEW_VERSION + +Hi, + +A new release $NEW_VERSION is available. A big thanks to all contributors: +$authors + +Highlights in $highlights + +Thanks, +Daniel + +https://github.com/siemens/kas/releases/tag/$NEW_VERSION +https://hub.docker.com/r/kasproject/kas/ + +"> $prolog + +git shortlog $OLD_VERSION..$NEW_VERSION >> $prolog + +neomutt -s "[ANNOUNCE] Release $NEW_VERSION" kas-devel@googlegroups.com < $prolog