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