docker-py/scripts/release.sh

47 lines
1.1 KiB
Bash
Executable File

#!/bin/bash
#
# Create the official release
#
if [ -z "$(command -v pandoc 2> /dev/null)" ]; then
>&2 echo "$0 requires http://pandoc.org/"
>&2 echo "Please install it and make sure it is available on your \$PATH."
exit 2
fi
VERSION=$1
REPO=docker/docker-py
GITHUB_REPO=git@github.com:$REPO
if [ -z $VERSION ]; then
echo "Usage: $0 VERSION [upload]"
exit 1
fi
echo "##> Removing stale build files"
rm -rf ./build || exit 1
echo "##> Tagging the release as $VERSION"
git tag $VERSION
if [[ $? != 0 ]]; then
head_commit=$(git show --pretty=format:%H HEAD)
tag_commit=$(git show --pretty=format:%H $VERSION)
if [[ $head_commit != $tag_commit ]]; then
echo "ERROR: tag already exists, but isn't the current HEAD"
exit 1
fi
fi
if [[ $2 == 'upload' ]]; then
echo "##> Pushing tag to github"
git push $GITHUB_REPO $VERSION || exit 1
fi
pandoc -f markdown -t rst README.md -o README.rst || exit 1
echo "##> sdist & wheel"
python setup.py sdist bdist_wheel
if [[ $2 == 'upload' ]]; then
echo '##> Uploading sdist to pypi'
twine upload dist/docker-$VERSION*
fi