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 Biopython and Martel (which is kept in sync with the Biopython version) by editing the Bio/__init__/py and Martel/__init__.py files. Make sure to commit the modified files 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
- Are there any new modules which should get installed?
- You don't need to update version in setup.py itself (this is now done in Bio/__init__.py as described above)
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
- add the new version to Bugzilla
20. clean up the tmp directories I made
21. send email to biopython@biopython.org and biopython-announce@biopython.org (see mailing lists)