Source

pyobjc / Doc / release-process.txt

==========================
The PyObjC release process
==========================

.. :author: Ronald Oussoren

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.

The timeframe is a guideline only and should be taken with a grain of salt.

Release date -2 weeks
---------------------

Full feature freeze, documentation updates and critical bug-fixes only.  At
this time:

* Check if the NEWS file is up-to-date

* Tests the tutorial(s)
  Read the tutorial(s) and follow the instructions exactly, the tutorials
  should be completely bug-free.

* Proofread the documentation

* Update the announcement messages.

Release-date -3 days
---------------------

Build the release tarball and dmg:

* Add the correct date to the NEWS file, and set the right version in
  ``Modules/objc/pyobjc.h``.

* Run ``python setup.py sdist`` to build the source tarball.

* Run ``python setup.py bdist_dmg`` to build a binary installer.  This should
  be done for each supported version combination of Mac OS X and Python.

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.

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.

Release-date
------------

* Upload the release files to sourceforge

* add a news item to the website and update the download page

* add the latest documentation to the website (run scripts/doc2php in
  the pyobjc-web tree).

* announce the new version at ADC news: 
	http://developer.apple.com/devnews/submit.html

  - Organization: PyObjC Team
  
  - Name of Product... : PyObjC

  - URL: http://pyobjc.sourceforge.net

  - Describe your product... :
    
    PyObjC is a bridge between Python and Objective-C and allows development
    of full-fledged Cocoa programs in pure Python.


* update the information at a number of software databases:

  - versiontracker.com (bbum knows how)

  - macupdate.com

  - freshmeat.net (ronald knows how)

  - PyPI database at python.org (run ``python2.3 setup.py register``)

* send the announcement text to:

  - python-list@python.org

  - python-announce-list@python.org
  
  - macosx-dev@omnigroup.com

  - pyobjc-dev@sourceforge.net

  - pythonmac-sig@python.org

  - cocoa-dev@lists.apple.com
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.