forked from nltk/nltk
-
Notifications
You must be signed in to change notification settings - Fork 0
/
RELEASE-HOWTO.txt
87 lines (76 loc) · 3.2 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
85
86
87
Building an NLTK distribution
----------------------------------
1. Testing
- Ensure CI server isn't reporting any test failures
https://www.travis-ci.org/nltk/nltk
- Optionally test demonstration code locally
make demotest
- Optionally test individual modules:
tox-3.8 -e py38 nltk.package.module
- Check the data index is up-to-date:
cd ../nltk_data; make; push
2. Update Version Number and ChangeLog
- Update version number
edit nltk/VERSION and web/conf.py (version and release)
- Check web/install.rst mentions latest version of Python
- Check setup.py lists correct range of Python versions
- Add a new entry to the news page in nltk/web/news.rst
- Update the ChangeLog (for nltk, nltk_data)
git log --since=20XX-YY-ZZ
edit ChangeLog
3. Build Documentation
- Check the copyright year is correct and update if necessary
e.g. ./tools/global_replace.py 2001-2021 2001-2022
check web/conf.py copyright line
- 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
4. Create a new version
- (Optionally do this in a release branch, branching from develop branch
git checkout -b release-3.X.Y develop)
- 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)
5. Release
- Make the distributions
make clean; make dist; ls dist/
- Upload the distributions
python -m twine upload dist/*
- Check upload
https://pypi.python.org/pypi/nltk
6. Announce
- Post announcement to NLTK the mailing lists:
nltk-dev (for beta releases)
nltk-users (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
7. 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