Building a release
(Note on Python 3.2 Windows installer) |
|||
| (37 intermediate revisions by 3 users not shown) | |||
| Line 1: | Line 1: | ||
Build Biopython in 21 easy steps!! | Build Biopython in 21 easy steps!! | ||
| + | |||
| + | These instructions are for a Unix machine, with a Windows machine also needed to test and prepare the Windows installers. | ||
1. make sure I have the latest code | 1. make sure I have the latest code | ||
| − | drevil:~biopython> | + | drevil:~biopython> git pull origin master |
| − | 2. bump version | + | 2. bump version numbers: |
| + | * Biopython version - edit Bio/__init__.py | ||
| + | * Biopython Tutorial - update the date/version line in the Doc/Tutorial.tex file | ||
| + | * Make sure to commit the modified files to github. | ||
| − | 3. make sure README still up to date | + | 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 git changes like this (adjust the date accordingly): | ||
| + | git log --since="2009/08/30" --reverse --pretty="medium" | ||
| + | |||
5. make sure CONTRIB still current | 5. make sure CONTRIB still current | ||
| − | 6. make sure setup.py still up to date | + | 6. make sure setup.py is still up to date |
| − | * update version | + | * 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 | 7. do last check to make sure things are checked in | ||
> rm -r build | > rm -r build | ||
| − | |||
> rm Tests/*.pyc | > rm Tests/*.pyc | ||
| − | > make clean -C | + | > make clean -C Doc |
| − | > | + | > git status |
| − | 8. do last regression test | + | 8. build Biopython and do last regression test |
| − | drevil:~biopython | + | drevil:~biopython> python setup.py build |
| + | drevil:~biopython> python setup.py test | ||
| + | |||
| + | Ideally do this with a clean checkout on your Windows machine too. Assuming you have setup your compilers etc appropriately just do this: | ||
| + | |||
| + | C:\python25\python setup.py build | ||
| + | C:\python25\python setup.py test | ||
| + | |||
| + | C:\python25\python setup.py build | ||
| + | C:\python25\python setup.py test | ||
| + | |||
| + | C:\python27\python setup.py build | ||
| + | C:\python27\python setup.py test | ||
| + | |||
| + | Running the tests simultaneously is risky, as two threads may both try and read/write to the same temp files. | ||
9. check out clean version somewhere else | 9. check out clean version somewhere else | ||
| − | drevil:~tmp1/> | + | drevil:~tmp1/> git clone git://github.com/biopython/biopython.git |
| + | drevil:~tmp1/> cd biopython | ||
| − | 10. make documentation PDF, text and HTML in Doc | + | 10. make documentation PDF, text and HTML files in Doc |
| + | drevil:~biopython> cd Doc | ||
| + | drevil:~biopython/Doc> make | ||
| + | drevil:~biopython/Doc> make clean | ||
| + | drevil:~biopython/Doc> cd .. | ||
11. make MANIFEST. First, make sure MANIFEST.in up to date. | 11. make MANIFEST. First, make sure MANIFEST.in up to date. | ||
| − | |||
> python setup.py sdist --manifest-only | > python setup.py sdist --manifest-only | ||
| − | 12 | + | 12. make the source distribution |
| − | + | ||
| − | + | ||
| − | + | ||
drevil:~tmp1/biopython> python setup.py sdist --formats=gztar,zip | drevil:~tmp1/biopython> python setup.py sdist --formats=gztar,zip | ||
| − | + | 13. untar the file somewhere else | |
| − | drevil:~tmp2> | + | drevil:~tmp2> tar -xzvf ../tmp1/biopython/dist/biopython-1.53.tar.gz |
| − | * Check to make sure it includes | + | * Check to make sure it includes the HTML and PDF files under Doc |
| + | |||
| + | 14. make sure I can build and test it | ||
| + | drevil:~tmp2/biopython-1.53/> python setup.py build | ||
| + | drevil:~tmp2/biopython-1.53/> python setup.py test | ||
| + | drevil:~tmp2/biopython-1.53/> python setup.py install --root . | ||
| + | |||
| + | 15. add git tag | ||
| + | drevil:~biopython> git tag biopython-159 | ||
| + | drevil:~biopython> git push origin master --tags | ||
| + | |||
| + | 16. Update API documentation using Epydoc. | ||
| + | * Go to the /usr/local/lib/python2.6/site-packages (or equivalent) directory. Running epydoc in your git tree works, but can miss some packages due to import errors. | ||
| + | epydoc -v -o ~/api -u http://biopython.org -n Biopython --docformat plaintext Bio BioSQL | ||
| + | * Move the generated ~/api directory to replace /home/websites/biopython.org/html/static/DIST/docs/api/ on biopython.org (aka portal.open-bio.org). | ||
| + | |||
| + | 17. On your windows machine, build the Windows installers (either from a clean checkout, or the an unzipped copy of the source code bundle made earlier). Build the installers first, if you do a build/test/install before hand you seem to get a bloated setup exe. Assuming you have setup your compilers etc appropriately just do this: | ||
| − | + | C:\python25\python setup.py bdist_wininst | |
| − | + | C:\python26\python setup.py bdist_wininst | |
| − | + | C:\python27\python setup.py bdist_wininst | |
| − | + | C:\python32\python setup.py bdist_wininst | |
| + | copy build\py3.2\dist\biopython-1.60.win32-py3.2.exe dist\biopython-1.60.win32-py3.2-beta.exe | ||
| − | + | 18. Remove any prior Biopython installations on your windows machine, and confirm the Windows installers work. | |
| − | + | ||
| − | + | 19. 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). | |
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | 20. Upload to the python package index: | |
| − | + | > python setup.py register sdist upload | |
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | You need to have a login on pypi and be registered with Biopython to be able to upload the new version. | |
| − | 21. send email to biopython@biopython.org | + | 21. Update the [[website]] and announce the release: |
| + | * add to [[Main_Page|main page]] and [[Download|downloads page]] (through the wiki), make sure the links work | ||
| + | * post the announcement on [http://news.open-bio.org news.open-bio.org] (which will update the [[News|news page]] and [http://twitter.com/Biopython twitter] via the news feed) | ||
| + | * add the new version to [http://bugzilla.open-bio.org/ Bugzilla] | ||
| + | * send email to biopython@biopython.org and biopython-announce@biopython.org (see [[Mailing_lists|mailing lists]]) | ||
Latest revision as of 09:38, 25 June 2012
Build Biopython in 21 easy steps!!
These instructions are for a Unix machine, with a Windows machine also needed to test and prepare the Windows installers.
1. make sure I have the latest code
drevil:~biopython> git pull origin master
2. bump version numbers:
- Biopython version - edit Bio/__init__.py
- Biopython Tutorial - update the date/version line in the Doc/Tutorial.tex file
- Make sure to commit the modified files to github.
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 git changes like this (adjust the date accordingly):
git log --since="2009/08/30" --reverse --pretty="medium"
5. make sure CONTRIB still current
6. make sure setup.py is 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 Tests/*.pyc > make clean -C Doc > git status
8. build Biopython and do last regression test
drevil:~biopython> python setup.py build drevil:~biopython> python setup.py test
Ideally do this with a clean checkout on your Windows machine too. Assuming you have setup your compilers etc appropriately just do this:
C:\python25\python setup.py build C:\python25\python setup.py test
C:\python25\python setup.py build C:\python25\python setup.py test
C:\python27\python setup.py build C:\python27\python setup.py test
Running the tests simultaneously is risky, as two threads may both try and read/write to the same temp files.
9. check out clean version somewhere else
drevil:~tmp1/> git clone git://github.com/biopython/biopython.git drevil:~tmp1/> cd biopython
10. make documentation PDF, text and HTML files in Doc
drevil:~biopython> cd Doc drevil:~biopython/Doc> make drevil:~biopython/Doc> make clean drevil:~biopython/Doc> cd ..
11. make MANIFEST. First, make sure MANIFEST.in up to date.
> python setup.py sdist --manifest-only
12. make the source distribution
drevil:~tmp1/biopython> python setup.py sdist --formats=gztar,zip
13. untar the file somewhere else
drevil:~tmp2> tar -xzvf ../tmp1/biopython/dist/biopython-1.53.tar.gz
- Check to make sure it includes the HTML and PDF files under Doc
14. make sure I can build and test it
drevil:~tmp2/biopython-1.53/> python setup.py build drevil:~tmp2/biopython-1.53/> python setup.py test drevil:~tmp2/biopython-1.53/> python setup.py install --root .
15. add git tag
drevil:~biopython> git tag biopython-159 drevil:~biopython> git push origin master --tags
16. Update API documentation using Epydoc.
- Go to the /usr/local/lib/python2.6/site-packages (or equivalent) directory. Running epydoc in your git tree works, but can miss some packages due to import errors.
epydoc -v -o ~/api -u http://biopython.org -n Biopython --docformat plaintext Bio BioSQL
- Move the generated ~/api directory to replace /home/websites/biopython.org/html/static/DIST/docs/api/ on biopython.org (aka portal.open-bio.org).
17. On your windows machine, build the Windows installers (either from a clean checkout, or the an unzipped copy of the source code bundle made earlier). Build the installers first, if you do a build/test/install before hand you seem to get a bloated setup exe. Assuming you have setup your compilers etc appropriately just do this:
C:\python25\python setup.py bdist_wininst C:\python26\python setup.py bdist_wininst C:\python27\python setup.py bdist_wininst C:\python32\python setup.py bdist_wininst copy build\py3.2\dist\biopython-1.60.win32-py3.2.exe dist\biopython-1.60.win32-py3.2-beta.exe
18. Remove any prior Biopython installations on your windows machine, and confirm the Windows installers work.
19. 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).
20. Upload to the python package index:
> python setup.py register sdist upload
You need to have a login on pypi and be registered with Biopython to be able to upload the new version.
21. Update the website and announce the release:
- add to main page and downloads page (through the wiki), make sure the links work
- post the announcement on news.open-bio.org (which will update the news page and twitter via the news feed)
- add the new version to Bugzilla
- send email to biopython@biopython.org and biopython-announce@biopython.org (see mailing lists)