forked from nltk/nltk
-
Notifications
You must be signed in to change notification settings - Fork 0
/
RELEASE-HOWTO.txt
84 lines (74 loc) · 3.13 KB
/
RELEASE-HOWTO.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
Building an NLTK distribution
----------------------------------
1. Testing
- Ensure CI server isn't reporting any test failures
https://nltk.ci.cloudbees.com/job/nltk/
- Optionally test demonstration code locally
make demotest
- Optionally test individual modules:
tox-3.4 -e py34 nltk.package.module
- Check the data index is up-to-date:
cd ../nltk_data; make; push
2. Documentation
- Check the copyright year is correct and update if necessary
e.g. ./tools/global_replace.py 2001-2015 2001-2017
- Check that installation instructions are up-to-date
(including the range of Python versions that are supported)
edit web/install.rst setup.py
- Rebuild the API docs
- make sure you have the current revision of the web pages
cd nltk.github.com; git pull
- build
cd ../nltk/web
make (slow; lots of warning messages about cross references)
- publish
cd ../../nltk.github.com
git add _modules _sources _static api *.html objects.inv searchindex.js
git status (missing any important looking files?)
git commit -m "updates for version 3.X.Y"
git push origin master
3. Create a new version
- Optionally do this in a release branch, branching from develop branch
git checkout -b release-3.X.Y develop
- Update version number
edit nltk/VERSION and web/conf.py
- Update the ChangeLog (for nltk, nltk_data)
git log --since=20XX-YY-ZZ
edit ChangeLog
- Add a new entry to the news page in nltk/web/news.rst
- Tag this version:
git tag -a 3.X.Y -m "version 3.X.Y"
git push --tags
verify that it shows up here: https://github.com/nltk/nltk/releases
- Optionally merge with master branch
git checkout master
git merge --no-ff release-3.X.Y
4. Release
- Make the distributions
make clean; make dist; ls dist/
- Log in to http://pypi.python.org/pypi
go to the "Package Submission" page
upload ./nltk.egg-info/PKG-INFO via the web form
- Go to files tab and upload tar.gz and exe distributions
only specify version, e.g. 3.4, for exe
5. Announce
- Post announcement to NLTK the mailing lists:
nltk-dev (for beta releases)
nltk-users (for final releases)
nltk (for final releases)
nltk twitter account
- announce to external mailing lists, for major N.N releases only
mailing lists for any local courses using NLTK
6. Optionally update to new version
- we don't want builds from the repository to have the same release number
e.g. after release X.Y.4, update repository version to X.Y.5a (alpha)
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@ BOOK BUILD
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
The build requires docutils, pdflatex, python imaging library, epydoc,
cdrtools, ImageMagick
1. Check out a clean copy of the subversion repository (or make clean)
and install locally with sudo python setup.py install; make clean
2. make doc (slow; see doc/ for the results) and commit