========================== 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