make-release
79 lines
| 2.2 KiB
| text/plain
|
TextLexer
/ scripts / make-release
Mads Kiilerich
|
r5507 | #!/bin/bash | ||
set -e | ||||
set -x | ||||
Thomas De Schampheleire
|
r7138 | cleanup() | ||
{ | ||||
echo "Removing venv $venv" | ||||
rm -rf "$venv" | ||||
} | ||||
echo "Checking that you are NOT inside a virtualenv" | ||||
[ -z "$VIRTUAL_ENV" ] | ||||
venv=$(mktemp -d --tmpdir kallithea-release-XXXXX) | ||||
trap cleanup EXIT | ||||
echo "Setting up a fresh virtualenv in $venv" | ||||
virtualenv -p python2 "$venv" | ||||
. "$venv/bin/activate" | ||||
Thomas De Schampheleire
|
r7136 | echo "Install/verify tools needed for building and uploading stuff" | ||
pip install --upgrade -e . | ||||
Thomas De Schampheleire
|
r7499 | pip install --upgrade -r dev_requirements.txt twine | ||
Thomas De Schampheleire
|
r7136 | |||
echo "Cleanup and update copyrights ... and clean checkout" | ||||
Mads Kiilerich
|
r7116 | scripts/run-all-cleanup | ||
Thomas De Schampheleire
|
r7136 | scripts/update-copyrights.py | ||
hg up -cr . | ||||
Mads Kiilerich
|
r5507 | |||
Thomas De Schampheleire
|
r7136 | echo "Make release build from clean checkout in build/" | ||
rm -rf build dist | ||||
hg archive build | ||||
cd build | ||||
Mads Kiilerich
|
r7378 | echo "Check that each entry in MANIFEST.in match something" | ||
sed -e 's/[^ ]*[ ]*\([^ ]*\).*/\1/g' MANIFEST.in | xargs ls -lad | ||||
Thomas De Schampheleire
|
r7136 | |||
echo "Build dist" | ||||
python2 setup.py compile_catalog | ||||
Mads Kiilerich
|
r5507 | python2 setup.py sdist | ||
Thomas De Schampheleire
|
r7136 | echo "Verify VERSION from kallithea/__init__.py" | ||
Mads Kiilerich
|
r5507 | namerel=$(cd dist && echo Kallithea-*.tar.gz) | ||
namerel=${namerel%.tar.gz} | ||||
version=${namerel#Kallithea-} | ||||
Thomas De Schampheleire
|
r7136 | ls -l $(pwd)/dist/$namerel.tar.gz | ||
Mads Kiilerich
|
r5507 | echo "Releasing Kallithea $version in directory $namerel" | ||
Thomas De Schampheleire
|
r7136 | echo "Verify dist file content" | ||
Mads Kiilerich
|
r7116 | diff -u <((hg mani | grep -v '^\.hg') | LANG=C sort) <(tar tf dist/Kallithea-$version.tar.gz | sed "s|^$namerel/||" | grep . | grep -v '^kallithea/i18n/.*/LC_MESSAGES/kallithea.mo$\|^Kallithea.egg-info/\|^PKG-INFO$\|/$' | LANG=C sort) | ||
Thomas De Schampheleire
|
r7136 | |||
echo "Verify docs build" | ||||
Thomas De Schampheleire
|
r7498 | python2 setup.py build_sphinx # the results are not actually used, but we want to make sure it builds | ||
Thomas De Schampheleire
|
r7136 | |||
cat - << EOT | ||||
Mads Kiilerich
|
r5507 | |||
Thomas De Schampheleire
|
r7136 | Now, make sure | ||
* all tests are passing | ||||
* release note is ready | ||||
* announcement is ready | ||||
* source has been pushed to https://kallithea-scm.org/repos/kallithea | ||||
Mads Kiilerich
|
r5507 | |||
Thomas De Schampheleire
|
r7136 | EOT | ||
Mads Kiilerich
|
r5507 | |||
Thomas De Schampheleire
|
r7136 | echo "Verify current revision is tagged for $version" | ||
hg log -r "'$version'&." | grep . | ||||
Mads Kiilerich
|
r5507 | |||
echo -n "Enter \"pypi\" to upload Kallithea $version to pypi: " | ||||
read answer | ||||
[ "$answer" = "pypi" ] | ||||
Thomas De Schampheleire
|
r7136 | echo "Rebuild readthedocs for docs.kallithea-scm.org" | ||
Mads Kiilerich
|
r5507 | xdg-open https://readthedocs.org/projects/kallithea/ | ||
curl -X POST http://readthedocs.org/build/kallithea | ||||
xdg-open https://readthedocs.org/builds/kallithea/ | ||||
xdg-open http://docs.kallithea-scm.org/en/latest/ # or whatever the branch is | ||||
Thomas De Schampheleire
|
r7136 | |||
Thomas De Schampheleire
|
r7499 | twine upload dist/* | ||
Thomas De Schampheleire
|
r7136 | xdg-open https://pypi.python.org/pypi/Kallithea | ||