Release Checklist for Bitten
- Review milestone description, and make sure it is updated with important changes for the version.
- Beta / release candidates are released under the main milestone and should be documented there (see milestone:0.6)
- There should be no open issues for main releases (open issues are OK for beta / release candidates that are work-in-progress snapshots)
Prepare source for release
- Build docs with command: ./setup.py build_doc
- Run unittests on all major platforms
- Test build a few packages / eggs. Make sure that Bitten distributions are quite a bit larger than those from BittenSlave.
Make and commit changes:
- Update version in setup.py
- Drop [egg_info] section setup.cfg
- Update ChangeLog with release information and changes - make changes in trunk and merge to stable branch
- Before first major releases:
- svn copy trunk -> /branches/<major>.x
- svn copy /branches/<major>.x -> /tags/<major>.<minor><beta?>
- Commit message should contain a link to [milestone:<major><minor>].
Adjust source trees
Make and commit changes:
- Reset version information in setup.py to new next version + add back [egg_info] section
- Add new empty section in ChangeLog for coming version
- Checkout/export the freshly tagged code and use it to make releases.
- Build docs (./setup.py build_doc and open doc/index.html in a browser to verify result).
- Build and upload installers to FTP site in following formats and versions - for both 'Bitten' and 'Bitten-Slave'
(Note: run ./setup.py clean and remove build diretory whenever changing architecture or distribution):
- .tar.gz (sdist *nix) and .zip (sdist Windows)
- py27.egg (bdist_egg using any Python)
- py26.egg (bdist_egg using any Python)
- py25.egg (bdist_egg using any Python)
- py24.egg (bdist_egg using any Python)
- amd64.exe (bdist_wininst using 64-bit Windows Python)
- .exe (bdist_wininst using 32-bit Windows Python)
- Run update-latest.sh script in FTP directory to make 'latest' links and md5 checksums (also make a similar script for Bitten-Slave when that is ready)
- Update wiki:Download page with new links
- Write an email to bitten mailing list.
- Final markers on milestone, and close milestone if it is a main release.
- Update Milestone admin to set a new default milestone if that needs changing.
- Add a 'Version' so that new tickets can be classified to use the new release.
- What about PYPI? Entries for both Bitten and Bitten-Slave?