Edgewall Software

Release Checklist for Genshi

Review tasks

  • 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

Verify:

  • Build docs with command: ./setup.py build_doc
  • Run unittests on all major platforms
  • Test build a few packages / eggs.
  • Test building with and without speedups (--with-speedups and --without-speedups).

Make and commit changes:

  • Update version in setup.py and genshi/__init__.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

Tag release

  • svn copy /branches/stable/<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

Make releases

  • 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
    (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.
  • Update wiki:Download page with new links.
  • Update PyPI entry using ./setup.py register from the tagged release folder.

Announce

  • Write an email to Genshi mailing list.

Admin

  • 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.

Questions…

  • None at the moment.
Last modified 12 years ago Last modified on Jan 27, 2013, 4:36:40 PM