diff --git a/deploy.sh b/deploy.sh index 296902d..8529a85 100755 --- a/deploy.sh +++ b/deploy.sh @@ -1,10 +1,33 @@ #!/usr/bin/env bash +# The script creates a separate folder in build/ and creates tags there, pushes +# them and then uploads the package to PyPI. set -eu -o pipefail +cd CORRECT_FOLDER + +PROJECT_NAME=parso +PROJECT=git-clone +BRANCH=master +FOLDER=build/$PROJECT + +cd $FOLDER +git checkout $BRANCH + # Create tag -git tag v$(python -c 'import parso; print(parso.__version__)') -git push --tags +tag=v$(python -c "import $PROJECT_NAME; print($PROJECT_NAME.__version__)") + +master_ref=$(git show-ref -s $BRANCH) +tag_ref=$(git show-ref -s $tag | true) +if [ $tag_ref ]; then + if [ $tag_ref != $master_ref ]; then + echo 'Cannot tag something that has already been tagged with another commit.' + exit 1 + fi +else + git tag $BRANCH + git push --tags +fi # Package and upload to PyPI rm -rf dist/