Release Procedures

Webware for Python

Preface

These notes have expanded and changed upon every release. Carefully, consider each step as you make it. Look for opportunities to improve. Also, update these notes immediately following a release.

To Do

* ReleaseHelper.py * cvs tags * Add notes on download mirror scp Webware-VER.tar.gz esterbro@ebad.pair.com:public_html/python/webware/

Last minute tweaks

* Run all regression test suites > cd SomeKit/Tests > python Test.py * Update all version numbers: * Properties.py * */Properties.py * WebKit/AppServer.py * WebKit/Application.py * */Docs/*.html * Make sure there are no empty directories or zero length files (such as __init__.py). Old unarchivers often ignore these, leading to problems for users. * Release notes * Search webware-discuss and webware-devel archives for "update" in the subject, since the date of the last release. * Make sure the workspace is up to date and all files are checked in. > cvs upd -dP * Skim through docs one final time * Make sure all the version numbers and release dates are correct.

Prep release

Releases often go alpha 1, alpha 2, beta 1, beta 2, ... with suffixes a1, a2, b1, b2 as in 0.6.1b1. Must be done on UNIX (or permissions are lost). For CVS tagging only: Use _ instead of . No .:, or other symbols For example, VER = 0.4 CVS_VER = 0_4 * Make sure Properties.py's version has an a1, a2, b1, or b2, etc. * Check out a copy and upload: > cvs -z3 -d:ext:$USER@cvs.Webware.sourceforge.net:/cvsroot/webware co Webware > Webware/bin/ReleaseHelper.py * Download the release, install and test * Check that the right versions show up in the WebKit examples, including b1. * Tag the release > cvs -q tag Release-CVS_VER * If you want to get a particular release: > cvs co -r Release-CVS_VER Webware

Release on SourceForge

FTP to SourceForge.net: > ncftpput -V upload.sourceforge.net /incoming Webware-VER.tar.gz * Log into sourceforge.net. * Go to the Webware Project Page @ SourceForge. * Click 'Admin' in the top menu bar. * Click 'Edit/Release Files' in the second menu bar. * Proceed to completion, but don't send users notification of release until final test is performed and the web site is updated. * Reference for the above: "Making File Releases" * Download the release and test. * Review the trove categorization and update if necessary * Go to Admin * Read down and see the link for trove categorization

Update Home Page

Webware Home Page: * Update: * Last updated (at top of page) * Version number, including links * File size * Project status * Testimonials * Review all text and links * You have to copy and install Webware in the web page directory so the documentation can be browsed online: > scp index.html USER@shell.sourceforge.net:/home/groups/webware/htdocs > ssh -l echuck webware.sourceforge.net > cd ... @@ complete this # @@ instead of FTP, try scp or ncftpget > ftp download.sourceforge.net > bin > hash > cd /pub/sourceforge/Webware > get Webware-VER.tar.gz > quit > rm -rf Webware > tar xzf Webware-VER.tar.gz > cd Webware > python install.py * Add a news item to the Webware Project Page @ SourceForge

Notify

Create a new announcement text file containing the text for the general announcement, SourceForge news and freshmeat.net update. Use the previous releases as examples. For pre-releases, just the following: * To: webware-discuss@lists.sourceforge.net * http://prdownloads.sourceforge.net/webware/Webware-VER.tar.gz * Report all problems to webware-discuss@lists.sourceforge.net. Please include all appropriate version numbers including Webware, Python, web server, op sys, browser, database, etc. If running the app server, please specify flavor (eg, ThreadedAppServer) and adapter. * Expected release date for X.Y is MONTH, DAY. * Changes since last release date are: * ... Announce on mailing lists: [ ] python-list@python.org [ ] python-announce@python.org [ ] webware-announce@lists.sourceforge.net [ ] python-web-modules@yahoogroups.com [ ] pywx@idyll.org [ ] db-sig@python.org - Only if MiddleKit was updated - Make custom message focused on MiddleKit Update: [ ] Vaults of Parnassus [ ] Python Web Modules (the pboddie page, not the mailing list) [ ] freshmeat.net [ ] Review/search for other places where the announcement can be made.

Post-release

[ ] Update these Release Procedures. [ ] Check that the following were updated: [ ] Vaults of Parnassus [ ] Python Web Modules [ ] freshmeat.net [ ] Look for follow up messages on comp.lang.python [ ] Test drive the home page, project page and download. [ ] Check the download counter and activity statistics on SourceForge.