##// END OF EJS Templates
scripts/make-release: print out shortlog for inclusion in release announcements...
Thomas De Schampheleire -
r7500:08de75df default
parent child Browse files
Show More
@@ -1,79 +1,82 b''
1 1 #!/bin/bash
2 2 set -e
3 3 set -x
4 4
5 5 cleanup()
6 6 {
7 7 echo "Removing venv $venv"
8 8 rm -rf "$venv"
9 9 }
10 10
11 11 echo "Checking that you are NOT inside a virtualenv"
12 12 [ -z "$VIRTUAL_ENV" ]
13 13
14 14 venv=$(mktemp -d --tmpdir kallithea-release-XXXXX)
15 15 trap cleanup EXIT
16 16
17 17 echo "Setting up a fresh virtualenv in $venv"
18 18 virtualenv -p python2 "$venv"
19 19 . "$venv/bin/activate"
20 20
21 21 echo "Install/verify tools needed for building and uploading stuff"
22 22 pip install --upgrade -e .
23 23 pip install --upgrade -r dev_requirements.txt twine
24 24
25 25 echo "Cleanup and update copyrights ... and clean checkout"
26 26 scripts/run-all-cleanup
27 27 scripts/update-copyrights.py
28 28 hg up -cr .
29 29
30 30 echo "Make release build from clean checkout in build/"
31 31 rm -rf build dist
32 32 hg archive build
33 33 cd build
34 34
35 35 echo "Check that each entry in MANIFEST.in match something"
36 36 sed -e 's/[^ ]*[ ]*\([^ ]*\).*/\1/g' MANIFEST.in | xargs ls -lad
37 37
38 38 echo "Build dist"
39 39 python2 setup.py compile_catalog
40 40 python2 setup.py sdist
41 41
42 42 echo "Verify VERSION from kallithea/__init__.py"
43 43 namerel=$(cd dist && echo Kallithea-*.tar.gz)
44 44 namerel=${namerel%.tar.gz}
45 45 version=${namerel#Kallithea-}
46 46 ls -l $(pwd)/dist/$namerel.tar.gz
47 47 echo "Releasing Kallithea $version in directory $namerel"
48 48
49 49 echo "Verify dist file content"
50 50 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)
51 51
52 52 echo "Verify docs build"
53 53 python2 setup.py build_sphinx # the results are not actually used, but we want to make sure it builds
54 54
55 echo "Shortlog for inclusion in the release announcement"
56 scripts/shortlog.py "only('.', branch('stable') & tagged() & public() & not '.')"
57
55 58 cat - << EOT
56 59
57 60 Now, make sure
58 61 * all tests are passing
59 62 * release note is ready
60 63 * announcement is ready
61 64 * source has been pushed to https://kallithea-scm.org/repos/kallithea
62 65
63 66 EOT
64 67
65 68 echo "Verify current revision is tagged for $version"
66 69 hg log -r "'$version'&." | grep .
67 70
68 71 echo -n "Enter \"pypi\" to upload Kallithea $version to pypi: "
69 72 read answer
70 73 [ "$answer" = "pypi" ]
71 74
72 75 echo "Rebuild readthedocs for docs.kallithea-scm.org"
73 76 xdg-open https://readthedocs.org/projects/kallithea/
74 77 curl -X POST http://readthedocs.org/build/kallithea
75 78 xdg-open https://readthedocs.org/builds/kallithea/
76 79 xdg-open http://docs.kallithea-scm.org/en/latest/ # or whatever the branch is
77 80
78 81 twine upload dist/*
79 82 xdg-open https://pypi.python.org/pypi/Kallithea
General Comments 0
You need to be logged in to leave comments. Login now