|Version 16 (modified by jml, 6 years ago) (diff)|
This document is a draft
How to do a pre-release
- File a ticket (e.g. #4290)
- Check buildbot to make sure all supported platforms are green (wait for pending builds if necessary).
- Make a branch (e.g. mkbranch Twisted release-4290)
- Run ./bin/admin/change-versions XX.YY.ZZpreN
- Commit the changes made by change-versions
- Run ./bin/admin/build-news .
- Commit the changes made by build-news
- Make a temporary directory for the tarballs to live in (e.g. mkdir /tmp/twisted-release)
- Run ./bin/admin/build-tarballs . /tmp/twisted-release/
- Upload the tarballs to a public website
- Announce the pre-release on
- the twisted-python mailing list
- on IRC in the #twisted topic
- in a blog post, ideally labs.twistedmatrix.com
- How do I decide the version number?
- Do we need to commit the changes from build-news for pre-releases?
- They leave the pre-release version in the NEWS files when doing pre-releases
- But build-tarballs won't work with uncommitted changes
- How do we manage the case where there are untested builds in trunk?
- How/when in this process are the Windows installers and/or MacOS .dmg files created?
- (I presume .deb and .rpm packages are left up to Linux distro packagers)
- How/when in this process are the docs built?
- When should the front page of the wiki be updated?
- Test change-versions with pre-releases
- There should be a template for release announcements
- Pre-release announcements should include an exhortation to test
- Release announcements should include actual NEWS summaries and maybe a pointer to the full thing
- There are missing scripts:
- for uploading pre-release tarballs
- for signing tarballs
- for uploading release tarballs
Suggestions for additions to pre-release steps
- pick a release quote :)
- bump copyrights in LICENSE and README
- Delete the news NNNN.bugfix etc files after building NEWS
- Check the milestone for the upcoming release, get rid of any non-critical bugs
- Check for any open tickets marked regressions, get them fixed
- A thought for future releases: since we'd really like folks to download the prereleases and try them out, perhaps we should put the NEWS file on the web somewhere official, too, so they can see all the cool stuff they can try out?
- "Other fixes" and maybe all tickets should be links when they are on the web
- Document how and when to tag releases in SVN.
For the release itself
- Remove the 'pre'
- Add the quote of the release
- Make new tarballs
- Upload to the official upload locations:
- <radix> jml: cube:/srv/www-data/twisted/Releases/ ; <Project>/<First two parts of version number>/*
- Announce more fully:
- Do we need to do anything for Debian / Ubuntu?
- OS X
- Packaging not necessary, there's no good way to make an installer that overrides the default Python
- Definitely need instructions for OS X-using developers who want to use a more recent version of Twisted