37 lines
852 B
Bash
Executable file
37 lines
852 B
Bash
Executable file
#!/bin/bash
|
|
|
|
set -e
|
|
|
|
cd $(dirname "$0")/..
|
|
|
|
tools/test.sh
|
|
|
|
if [ ! -t 0 ] ; then
|
|
echo "release.sh should be run with a terminal attached to stdin" >&2
|
|
exit 1
|
|
fi
|
|
|
|
git status
|
|
|
|
echo -n "Previous version: v"
|
|
./setup.py --version
|
|
read -p "Enter new version: v" version
|
|
|
|
sed -i 's/version=".*"/version="'"$version"'"/' setup.py
|
|
sed -i 's/## \[Unreleased\]/&\n\n## ['"$version"'] - '"$(date --utc +%Y-%m-%d)"'/' CHANGELOG.md
|
|
echo; echo "Inspect CHANGELOG..."
|
|
${EDITOR:-nano} CHANGELOG.md
|
|
git add setup.py CHANGELOG.md
|
|
git commit -m "Bump version to $version"
|
|
|
|
tagid=v"$version"
|
|
echo "Creating git tag $tagid"
|
|
git tag -s -m "Version $version" "$tagid"
|
|
|
|
./setup.py sdist bdist_wheel
|
|
|
|
read -p "Upload to Git and PyPI? (y/N) " confirm
|
|
if [ ! "$confirm" = y ]; then "Abort"; exit 1; fi
|
|
|
|
python3 -m twine upload dist/*-${version}*
|
|
git push origin "$tagid" master
|