Instructions for releasing a new version of Bowtie 2 ==================================================== Author: Ben Langmead (langmea@cs.jhu.edu) Date: 12/21/2012 Prerequisites: - Need a way of building Linux binaries. It's recommended that you not build on a Linux 3.X distro (for portability reasons) - Need a way of building binaries for Mac OS X. - Need a way of building Windows binaries, both 32-bit and 64-bit. - Need "pandoc" installed on at least one of those machines. - Need access to the GitHub repository. - Need a sourceforge account with the appropriate permissions. - TBB is now the default threading library and should be installed either from source or using a package manager 1. Check that the code compiles with no issues, including with very recent versions of g++, and with clang on a Mac. - To use clang on the Mac: "make CPP=clang++ allall" 2. Check that all the simple tests pass: "make simple-test" 3. Check that random tests pass: "make random-test" 4. Check that performance, sensitivity and accuracy are not substantially changed. - TODO! Need infrastructure for this. 5. Update BOWTIE2_VERSION with new version number if this hasn't already been done. 6. Update NEWS and doc/website/recent_news.ssi if this hasn't already been done. (And even if it has, make sure the release date mentioned in those documents is correct.) - In both cases, add a section at the top describing the new release, along with bullet points describing improvements and changes in that release. - For recent_news.ssi, hyperlink concepts or command-line options so that they point into the manual. - Make sure to update the version numbers mentioned in the paragraph at the beginning of the NEWS file. - Potentially move an entry or two from the bottom of doc/website/recent_news.ssi to the top of doc/website/old_news.ssi if it gets too long. 7. Update the text and html version of the manual, which are derived from the source MANUAL.markdown file. - In Bowtie 2 root directory, do "make doc" (you'll have to have 'pandoc' installed). The output will be stored both in MANUAL and doc/manual.html. - In doc/manual.html, highlight and copy everything from