release.html   [plain text]


<?xml version="1.0"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><title>Twisted Documentation: Releasing Twisted</title><link href="../howto/stylesheet.css" type="text/css" rel="stylesheet" /></head><body bgcolor="white"><h1 class="title">Releasing Twisted</h1><div class="toc"><ol><li><a href="#auto0">Pre-release</a></li><ul><li><a href="#auto1">Test</a></li><li><a href="#auto2">Documentation</a></li></ul><li><a href="#auto3">Release</a></li><ul><li><a href="#auto4">Ensure Debian correctness for alpha1</a></li><li><a href="#auto5">Update from previous RC for rcN &gt; 1</a></li><li><a href="#auto6">Run release-twisted</a></li><li><a href="#auto7">win32</a></li></ul><li><a href="#auto8">Post-release</a></li><ul><li><a href="#auto9">Upgrade pyramid</a></li><li><a href="#auto10">Distribute</a></li><li><a href="#auto11">Update Website</a></li><li><a href="#auto12">Announcements</a></li><li><a href="#auto13">Notify Packagers</a></li></ul></ol></div><div class="content"><span></span><h2>Pre-release<a name="auto0"></a></h2><h3>Test<a name="auto1"></a></h3><ul><li><p>run the unit tests.</p><pre class="shell">./admin/runtests</pre></li><li>Get someone to run the tests on Windows for win32eventreactor and default
  reactor.</li><li><p>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:</p><pre class="shell">WEBBROWSER='galeon -n' IRCCLIENT=epic4 ~/Projects/Twisted/admin/accepttests -b</pre></li><li>kill your regular personal server on pyramid, if you have one.</li><li><p> run the pre-release tests, on pyramid. When `less' comes up, <em>check for errors</em>.</p><pre class="shell">./admin/prereleasetests</pre></li><li>Restart your personal server. :-)</li></ul><h3>Documentation<a name="auto2"></a></h3><ul><li>ChangeLog.
  <ul><li>Browse through twisted-commits; if you see any updates that are
    significant but weren't mentioned in ChangeLog, retroactively add them</li><li>Add an entry: * .: Releasing Twisted $VERSION</li></ul></li><li>README: For a new non-alpha/RC, add a new Quote of the Release.</li></ul><h2>Release<a name="auto3"></a></h2><h3>Ensure Debian correctness for alpha1<a name="auto4"></a></h3><p>If you're doing an alpha1, make sure debian/changelog has been
updated to show the prior full-release. e.g., if doing 1.1.2alpha1,
make sure 1.1.1 is in debian/changelog, or else your new .deb will
have a broken Version.</p><h3>Update from previous RC for rcN &gt; 1<a name="auto5"></a></h3><p>If you're doing an rcN &gt; 1, then you need to base the release on
the previous RC. You do that with something like this:</p><pre class="shell">
cvs -dradix@cvs.twistedmatrix.com:/cvs co -r release-X_X_XrcN Twisted
mv Twisted Twisted.CVS
cd Twisted.CVS

# the following files should be updated on _every_ RC
cvs up -A README ChangeLog admin/twisted.spec twisted/copyright.py

# run cvs up -A for all other files which contained bugs and should be
# updated for this RC
cvs up -A $OTHER_FILES_WHICH_SHOULD_BE_UPDATED
cd ..
</pre><p>
After doing this, use the first command below. If you're doing a
release from HEAD (i.e., an alpha or rc1), use the second command.
</p><h3>Run release-twisted<a name="auto6"></a></h3><ul><li><p>
  If you are working from a CVS version of Twisted which you want to release,
  make sure it is named <code class="shell">Twisted.CVS</code>, and in the
  directory immediately
  above it there is nothing else (that can be done via symlinks), and run:
  </p><pre class="shell">
./Twisted.CVS/admin/release-twisted -V $VERSION -o $LASTVERSION \
--release=/twisted/Releases --upver --tag --exp --dist --docs \
--balls --rel --deb --debi
</pre></li><li><p>
  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
  </p><pre class="shell">
$SOMEWHERE/admin/release-twisted -V $VERSION -o $LASTVERSION --checkout \
--release=/twisted/Releases --upver --tag --exp --dist --docs --balls \
--rel --deb --debi
</pre></li></ul><h3>win32<a name="auto7"></a></h3><p>Run win32/bdist_wininst.bat.</p><h2>Post-release<a name="auto8"></a></h2><h3>Upgrade pyramid<a name="auto9"></a></h3><ul><li><p>Restart the main Twisted web server:</p><pre class="shell">sudo /etc/init.d/twisted-web stop
sudo /etc/init.d/twisted-web start
</pre></li><li><p>If necessary (only when distributed web changes protocols; this is very rare any more), restart snibril's server.</p><pre class="shell">su jh; ~jh/bin/stop; ~jh/bin/start; exit</pre></li></ul><h3>Distribute<a name="auto10"></a></h3><p>Upload to Sourceforge</p><pre class="shell">
$SOMEWHERE/admin/release-twisted -n $SFNAME -V $VERSION --sourceforge \
                  --release=/twisted/Releases
</pre><h3>Update Website<a name="auto11"></a></h3><ul><li>If everything's cool, edit WebSite/twistedmatrix.com/news.html, index, documents/index.html, products/get-current.epy and products/download.html</li><li>cvs commit those</li><li><p>deploy changes:</p><pre class="shell">cd /var/www/WebSite/twistedmatrix.com
./generate.sh
</pre></li></ul><h3>Announcements<a name="auto12"></a></h3><p>This is usually done by Itamar.</p><ul><li>Freshmeat</li><li>comp.lang.python</li><li>comp.lang.python.announce</li><li>parnassus</li><li>Linux Weekly News (email lwn at lwn.net)</li><li>PyPI</li></ul><h3>Notify Packagers<a name="auto13"></a></h3><p>All releases (alpha, RC, stable)</p><ul><li>Win32: Cory Dodt <a href="mailto:corydodt (at) twistedmatrix (dot) com">corydodt
      (at) twistedmatrix (dot) com</a></li><li>FreeBSD (while Johann is busy): <a href="mailto:nbm (at) mithrandr (dot) moria (dot) org">nbm (at) mithrandr (dot) moria (dot) org</a></li><li>Gentoo: <a href="mailto:lordvan (at) gentoo (dot) org">lordvan (at) gentoo (dot) org</a></li><li>RH9: <a href="mailto:alexander (dot) winston (at) comcast (dot) net">alexander (dot) winston (at) comcast (dot) net</a></li></ul><p>Stable</p><ul><li>Debian: Moshe Zadka <a href="mailto:moshez (at) twistedmatrix (dot) com">moshez (at) twistedmatrix (dot) com</a></li><li>SKIP (johann is busy): FreeBSD: Johann Visagie <a href="mailto:wjv (at) freebsd (dot) org">wjv (at) freebsd (dot) org</a></li></ul></div><p><a href="../howto/index.html">Index</a></p><span class="version">Version: 1.3.0</span></body></html>