mirror of
https://github.com/SpaceVim/SpaceVim.git
synced 2025-02-03 06:00:05 +08:00
53 lines
1.2 KiB
Bash
53 lines
1.2 KiB
Bash
#!/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
|
|
|
|
BASE_DIR=$(dirname $(readlink -f "$0"))
|
|
cd $BASE_DIR
|
|
|
|
git fetch --tags
|
|
|
|
PROJECT_NAME=parso
|
|
BRANCH=master
|
|
BUILD_FOLDER=build
|
|
|
|
[ -d $BUILD_FOLDER ] || mkdir $BUILD_FOLDER
|
|
# Remove the previous deployment first.
|
|
# Checkout the right branch
|
|
cd $BUILD_FOLDER
|
|
rm -rf $PROJECT_NAME
|
|
git clone .. $PROJECT_NAME
|
|
cd $PROJECT_NAME
|
|
git checkout $BRANCH
|
|
|
|
# Test first.
|
|
pytest
|
|
|
|
# Create tag
|
|
tag=v$(python3 -c "import $PROJECT_NAME; print($PROJECT_NAME.__version__)")
|
|
|
|
master_ref=$(git show-ref -s heads/$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 -a $tag
|
|
git push --tags
|
|
fi
|
|
|
|
# Package and upload to PyPI
|
|
#rm -rf dist/ - Not needed anymore, because the folder is never reused.
|
|
echo `pwd`
|
|
python3 setup.py sdist bdist_wheel
|
|
# Maybe do a pip install twine before.
|
|
twine upload dist/*
|
|
|
|
cd $BASE_DIR
|
|
# The tags have been pushed to this repo. Push the tags to github, now.
|
|
git push --tags
|