Building a release
Build Biopython in 21 easy steps!!
1. make sure I have the latest code
drevil:~biopython> cvs update -P -d
2. bump version number of Martel (sync with Biopython version?) by editing Martel/__init__.py so that any changes will be installed on new downloads. Make sure to commit the modified Martel to CVS.
3. make sure the README file is still up to date
4. add any important info to NEWS or DEPRECATED - you can get a log of recent CVS changes like this (adjust the date accordingly):
> cvs log -b -N -S -d'>2008-09-08'
5. make sure CONTRIB still current
6. make sure setup.py still up to date
- update version
7. do last check to make sure things are checked in
> rm -r build > rm Martel/*.pyc > rm Tests/*.pyc > make clean -C Doc > cvs update -P -d
8. build Biopython and do last regression test
drevil:~biopython> python setup.py build drevil:~biopython> python setup.py install drevil:~biopython/Tests> python run_tests.py
9. check out clean version somewhere else
drevil:~tmp1/> cvs -d :ext:jchang@pub.open-bio.org:/home/repository/biopython checkout biopython
10. make documentation PDF, text and HTML files in Doc
> make clean -C Doc
11. make MANIFEST. First, make sure MANIFEST.in up to date.
> python setup.py sdist --manifest-only
12. make sure the regression tests run here
drevil:~tmp1/biopython/Tests/> python run_tests.py
13. make the source distribution
drevil:~tmp1/biopython> python setup.py sdist --formats=gztar,zip
14. untar the file somewhere else
drevil:~tmp2> tar -xzvf ../tmp1/biopython/dist/biopython-1.00a1.tar.gz
- Check to make sure it includes Martel
- Check to make sure it includes the HTML and PDF files under Doc
15. make sure I can build and test it
drevil:~tmp2/biopython-1.00a1/> python setup.py build drevil:~tmp2/biopython-1.00a1/> python setup.py test drevil:~tmp2/biopython-1.00a1/> python setup.py install --root .
16. add CVS tag
drevil:~biopython> cvs tag biopython-100a1
17. Update API documentation using Epydoc.
- Go to the /usr/local/lib/python2.4/site-packages (or equivalent) directory. Running epydoc in your CVS tree works, but can miss some packages due to import errors.
epydoc -o api -u http://biopython.org -n Biopython --docformat plaintext Bio BioSQL Martel
- Move the generated api directory to replace /home/websites/biopython.org/html/static/DIST/docs/api/ on biopython.org (aka portal.open-bio.org).
18. scp or ftp the .tar.gz, .zip and Windows installer files to the Biopython website, folder /home/websites/biopython.org/html/static/DIST/ on biopython.org (aka portal.open-bio.org).
19. update the website:
- add to main page and downloads page (through the wiki)
- post the announcement on news.open-bio.org (which will update the news page via the news feed)
- make sure links work
20. clean up the tmp directories I made
21. send email to biopython@biopython.org and biopython-announce@biopython.org (see mailing lists)