Mercurial > kallithea
view scripts/make-release @ 8297:2fa9f497faac
repos: separate repo creation from form validation
The broad catching of Exception in the repo creation controller is conceptually
bad. It also caused misleading "Error creating repository None" when form
validation failed with anything but formencode.Invalid . For now, just
constrain the broad exception handling to only cover repo creation. It is a bug
if form validation fails in unexpected ways, and we want it reported as a crash
that we can fix.
author | Mads Kiilerich <mads@kiilerich.com> |
---|---|
date | Tue, 17 Mar 2020 17:15:59 +0100 |
parents | 89e9aef9b983 |
children | 61bd04b90f58 |
line wrap: on
line source
#!/bin/bash set -e set -x 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" python3 -m venv "$venv" . "$venv/bin/activate" echo "Install/verify tools needed for building and uploading stuff" pip install --upgrade -e . -r dev_requirements.txt twine python-ldap python-pam echo "Cleanup and update copyrights ... and clean checkout" scripts/run-all-cleanup scripts/update-copyrights.py hg up -cr . echo "Make release build from clean checkout in build/" rm -rf build dist hg archive build cd build echo "Check that each entry in MANIFEST.in match something" sed -e 's/[^ ]*[ ]*\([^ ]*\).*/\1/g' MANIFEST.in | xargs ls -lad echo "Build dist" python3 setup.py compile_catalog python3 setup.py sdist echo "Verify VERSION from kallithea/__init__.py" namerel=$(cd dist && echo Kallithea-*.tar.gz) namerel=${namerel%.tar.gz} version=${namerel#Kallithea-} ls -l $(pwd)/dist/$namerel.tar.gz echo "Releasing Kallithea $version in directory $namerel" echo "Verify dist file content" diff -u <((hg mani | grep -v '^\.hg\|^kallithea/i18n/en/LC_MESSAGES/kallithea.mo$') | 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) echo "Verify docs build" python3 setup.py build_sphinx # the results are not actually used, but we want to make sure it builds echo "Shortlog for inclusion in the release announcement" scripts/shortlog.py "only('.', branch('stable') & tagged() & public() & not '.')" cat - << EOT 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 EOT echo "Verify current revision is tagged for $version" hg log -r "'$version'&." | grep . echo -n "Enter \"pypi\" to upload Kallithea $version to pypi: " read answer [ "$answer" = "pypi" ] echo "Rebuild readthedocs for docs.kallithea-scm.org" xdg-open https://readthedocs.org/projects/kallithea/ curl -X POST http://readthedocs.org/build/kallithea xdg-open https://readthedocs.org/projects/kallithea/builds xdg-open http://docs.kallithea-scm.org/en/latest/ # or whatever the branch is twine upload dist/* xdg-open https://pypi.python.org/pypi/Kallithea