forked from nltk/nltk
-
Notifications
You must be signed in to change notification settings - Fork 3
/
RELEASE-HOWTO.txt
79 lines (68 loc) · 2.81 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
Building an NLTK distribution
----------------------------------
1. Testing
- Check no errors are reported in our continuous integration service:
https://github.com/nltk/nltk/actions
- 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 "$(git describe --tags --abbrev=0)..HEAD" --oneline
edit ChangeLog
3. Build Documentation
- Check the copyright year is correct and update if necessary
e.g. ./tools/global_replace.py 2001-2022 2001-2023
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
- Ensure that nltk_theme is installed and updated
pip install -U nltk_theme
- Rebuild the API docs
sphinx-build -E ./web ./build
- Publish them
cd ../nltk.github.com; git pull (begin with current docs repo)
cp -r ../nltk/build/* .
git add .
git commit -m "updates for version 3.X.Y"
git push origin master
4. Create a new version
- Tag this version:
cd ../nltk
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
This is important for the website, as the footer will link to the
tag with the version from web/conf.py.
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
7. Optionally update repo 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