#!/usr/bin/env bash PACKAGE="wstools-py3" set -o nounset set -o errexit #set -x if [ -n "$(git status --porcelain)" ]; then echo "There are uncomitted changes, please make sure all changes are comitted" >&2 exit 1 fi if ! [ -f "setup.py" ]; then echo "setver.sh must be run in the directory where setup.py is" >&2 exit 1 fi VER="${1:?You must pass a version of the format 0.0.0 as the only argument}" if git tag | grep -q "${VER}"; then echo "Git tag for version ${VER} already exists." >&2 exit 1 fi echo "Setting version to $VER" ## Update the setup.py #sed -i "s;^package_version.*=.*;package_version = '${VER}';" setup.py # Update the package version sed -i "s;.*version.*;__version__ = '${VER}';" wstools/version.py # Upload to pypi python setup.py sdist upload # Reset the commit, we don't want versions in the commit git commit -a -m "Updated to version ${VER}" git tag ${VER} git push git push --tags echo "Package deployed"