1. Ronald Oussoren
  2. pyobjc


pyobjc / Doc / release-process.html

The branch 'pyobjc-ancient' does not exist.
<?xml version="1.0" encoding="utf-8" ?>
<!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" xml:lang="en" lang="en">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
The PyObjC release process</title>
<h2>The PyObjC release process</h2>
<!-- :author: Ronald Oussoren -->
<p>This document gives an exhaustive overview of what needs to be done when 
building and releasing a new version of PyObjC.  It is meant for the project
administrators, and not of much use for users of PyObjC.</p>
<p>The timeframe is a guideline only and should be taken with a grain of salt.</p>
<h2><a name="release-date-2-weeks">Release date -2 weeks</a></h2>
<p>Full feature freeze, documentation updates and critical bug-fixes only.  At
this time:</p>
<li>Check if the NEWS file is up-to-date</li>
<li>Tests the tutorial(s)
Read the tutorial(s) and follow the instructions exactly, the tutorials
should be completely bug-free.</li>
<li>Proofread the documentation</li>
<li>Update the announcement messages.</li>
<h2><a name="release-date-3-days">Release-date -3 days</a></h2>
<p>Build the release tarball and dmg:</p>
<li>Add the correct date to the NEWS file, and set the right version in
<li>Run <code><span>python</span> <span>setup.py</span> <span>sdist</span></code> to build the source tarball.</li>
<li>Run <code><span>python</span> <span>setup.py</span> <span>bdist_dmg</span></code> to build a binary installer.  This should
be done for each supported version combination of Mac OS X and Python.</li>
<p>Trash you existing PyObjC installation and reinstall from the new release.
Test that the new release is working correctly.  Installing and testing should
be done for the binary installer and for the source archive.  The latter should
be done for all supported configurations.  Also test to make sure that an
upgrade from a previous release works as expected.</p>
<p>If the package works as expected, upload to a convenient location and ask some
other people (like the other maintainers) to test the new release.</p>
<h2><a name="release-date">Release-date</a></h2>
<li>Upload the release files to sourceforge</li>
<li>add a news item to the website and update the download page</li>
<li>add the latest documentation to the website (run scripts/doc2php in
the pyobjc-web tree).</li>
<dt>announce the new version at ADC news: </dt>
<dd><a href="http://developer.apple.com/devnews/submit.html">http://developer.apple.com/devnews/submit.html</a></dd>
<li>Organization: PyObjC Team</li>
<li>Name of Product... : PyObjC</li>
<li>URL: <a href="http://pyobjc.sourceforge.net">http://pyobjc.sourceforge.net</a></li>
<li>Describe your product... :<p>PyObjC is a bridge between Python and Objective-C and allows development
of full-fledged Cocoa programs in pure Python.</p>
<li>update the information at a number of software databases:<ul>
<li>versiontracker.com (bbum knows how)</li>
<li>freshmeat.net (ronald knows how)</li>
<li>PyPI database at python.org (run <code><span>python2.3</span> <span>setup.py</span> <span>register</span></code>)</li>
<li>send the announcement text to:<ul>
<li><a href="mailto:python-list@python.org">python-list@python.org</a></li>
<li><a href="mailto:python-announce-list@python.org">python-announce-list@python.org</a></li>
<li><a href="mailto:macosx-dev@omnigroup.com">macosx-dev@omnigroup.com</a></li>
<li><a href="mailto:pyobjc-dev@sourceforge.net">pyobjc-dev@sourceforge.net</a></li>
<li><a href="mailto:pythonmac-sig@python.org">pythonmac-sig@python.org</a></li>
<li><a href="mailto:cocoa-dev@lists.apple.com">cocoa-dev@lists.apple.com</a></li>