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