Pre-release
Test
run the unit tests.
./admin/runtests
- Get someone to run the tests on Windows for win32eventreactor and default reactor.
run the accepttests. It's important that you run the accepttests with a non-relative command line (stupid bug that still isn't fixed. Too easy to work around :)). I use:
WEBBROWSER='galeon -n' IRCCLIENT=epic4 ~/Projects/Twisted/admin/accepttests -b
- kill your regular personal server on pyramid, if you have one.
run the pre-release tests, on pyramid. When `less' comes up, check for errors.
./admin/prereleasetests
- Restart your personal server. :-)
Documentation
- ChangeLog.
- Browse through twisted-commits; if you see any updates that are significant but weren't mentioned in ChangeLog, retroactively add them
- Add an entry: * .: Releasing Twisted $VERSION
- README: For a new non-alpha/RC, add a new Quote of the Release.
Release
win32
Run win32/bdist_wininst.bat.
Unix
If you are working from a CVS version of Twisted which you want to release, make sure it is named
Twisted.CVS
, and in the directory immediately above it there is nothing else (that can be done via symlinks), and run:./Twisted.CVS/admin/release-twisted -V $VERSION -o $LASTVERSION \ --release=/twisted/Releases --upver --tag --exp --dist --docs \ --balls --rel --deb --debi
If you want to release the latest CVS version of Twisted, have a reasonably recent checkout of Twisted in $SOMEWHERE, and in an empty directory do
$SOMEWHERE/admin/release-twisted -V $VERSION -o $LASTVERSION --checkout \ --release=/twisted/Releases --upver --tag --exp --dist --docs --balls \ --rel --deb --debi
Post-release
Upgrade pyramid
Restart the main Twisted web server:
sudo /etc/init.d/twisted-web stop sudo /etc/init.d/twisted-web start
If necessary (only when distributed web changes protocols; this is very rare any more), restart snibril's server.
su jh; ~jh/bin/stop; ~jh/bin/start; exit
Distribute
Upload to Sourceforge
$SOMEWHERE/admin/release-twisted -n $SFNAME -V $VERSION --sourceforge \ --release=/twisted/Releases
Update Website
- If everything's cool, edit WebSite/twistedmatrix.com/news.html, index, documents/index.html, products/get-current.epy and products/download.html
- cvs commit those
deploy changes:
cd /var/www/WebSite/twistedmatrix.com ./generate.sh
Announcements
This is usually done by Itamar.
- Freshmeat
- comp.lang.python
- comp.lang.python.announce
- parnassus
- Linux Weekly News (email lwn at lwn.net)
- PyPI
Notify Packagers
All releases (alpha, RC, stable)
- Win32: Cory Dodt corydodt (at) yahoo (dot) com
- FreeBSD (while Johann is busy): nbm (at) mithrandr (dot) moria (dot) org
- Gentoo: lordvan (at) gentoo (dot) org
- RH9: alexander (dot) winston (at) comcast (dot) net
Stable
- Debian: Moshe Zadka moshez (at) twistedmatrix (dot) com
- SKIP (johann is busy): FreeBSD: Johann Visagie wjv (at) freebsd (dot) org