| 1 | = Release Checklist for Genshi = |
| 2 | |
| 3 | == Review tasks == |
| 4 | |
| 5 | * Review milestone description, and make sure it is updated with important changes for the version. |
| 6 | * Beta / release candidates are released under the main milestone and should be documented there (see milestone:0.6) |
| 7 | * There should be no open issues for main releases (open issues are OK for beta / release candidates that are work-in-progress snapshots) |
| 8 | |
| 9 | == Prepare source for release == |
| 10 | |
| 11 | Verify: |
| 12 | |
| 13 | * Build docs with command: `./setup.py build_doc` |
| 14 | * Run unittests on all major platforms |
| 15 | * Test build a few packages / eggs. |
| 16 | * Test building with and without speedups (`--with-speedups` and `--without-speedups`). |
| 17 | |
| 18 | Make and commit changes: |
| 19 | |
| 20 | * Update version in `setup.py` |
| 21 | * Drop `[egg_info]` section `setup.cfg` |
| 22 | * Update `ChangeLog` with release information and changes - make changes in trunk and merge to stable branch |
| 23 | * Before first major releases: |
| 24 | * `svn copy trunk -> /branches/<major>.x` |
| 25 | |
| 26 | == Tag release == |
| 27 | |
| 28 | * svn copy /branches/stable/<major>.x -> /tags/<major>.<minor><beta?> |
| 29 | * Commit message should contain a link to `[milestone:<major><minor>]`. |
| 30 | |
| 31 | == Adjust source trees == |
| 32 | |
| 33 | Make and commit changes: |
| 34 | |
| 35 | * Reset version information in `setup.py` to new next version + add back `[egg_info]` section |
| 36 | * Add new empty section in `ChangeLog` for coming version |
| 37 | |
| 38 | == Make releases == |
| 39 | |
| 40 | * Checkout/export the freshly tagged code and use it to make releases. |
| 41 | * Build docs (`./setup.py build_doc` and open doc/index.html in a browser to verify result). |
| 42 | * Build and upload installers to FTP site in following formats and versions[[BR]] |
| 43 | ('''Note''': run `./setup.py clean` and remove `build` diretory whenever changing architecture or distribution): |
| 44 | * .tar.gz (`sdist` *nix) and .zip (`sdist` Windows) |
| 45 | * py27.egg (`bdist_egg` using any Python) |
| 46 | * py26.egg (`bdist_egg` using any Python) |
| 47 | * py25.egg (`bdist_egg` using any Python) |
| 48 | * py24.egg (`bdist_egg` using any Python) |
| 49 | * amd64.exe (`bdist_wininst` using 64-bit Windows Python) |
| 50 | * .exe (`bdist_wininst` using 32-bit Windows Python) |
| 51 | * Run `update-latest.sh` script in FTP directory to make 'latest' links and md5 checksums. |
| 52 | * Update wiki:Download page with new links. |
| 53 | * Update PyPI entry using `./setup.py register` from the tagged release folder. |
| 54 | |
| 55 | == Announce == |
| 56 | |
| 57 | * Write an email to Genshi mailing list. |
| 58 | |
| 59 | == Admin == |
| 60 | |
| 61 | * Final markers on milestone, and close milestone if it is a main release. |
| 62 | * Update Milestone admin to set a new default milestone if that needs changing. |
| 63 | * Add a 'Version' so that new tickets can be classified to use the new release. |
| 64 | |
| 65 | == Questions... == |
| 66 | |
| 67 | * None at the moment. |