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

* nothing except as noted below with @@

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 update > cvs status > status.text * Skim through docs one final time * Make sure all the version numbers and release dates are correct.

Cut release candidate

# Must be done on UNIX (or permissions are lost) * Make sure Properties.py's version has an 'rcX' added to it. * Make a fresh workspace as an anon user: > cvs -d:pserver:anonymous@cvs.Webware.sourceforge.net:/cvsroot/webware login > cvs -z3 -d:pserver:anonymous@cvs.Webware.sourceforge.net:/cvsroot/webware co Webware > cd Webware > cvs update -P > find . -name '.cvs*' -exec rm {} \; > find . -name 'CVS' -exec rm -rf {} \; > cd .. > tar czf Webware-VERrcX.tar.gz Webware > scp Webware-VERrcX.tar.gz USER@shell1.sourceforge.net:/home/groups/ftp/pub/webware * Download the release candidate, install and test * Check that the right version show up in the WebKit examples, including rcX. * Announce: * To: * webware-discuss@lists.sourceforge.net * python-web-modules@yahoogroups.com * ftp://webware.sourceforge.net/pub/webware/Webware-VERrcX.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: * ...

Prep release

# Must be done on UNIX (or permissions are lost) # For CVS tagging only: Use _ instead of . No .:, or other symbols # For example, # CVS_VER = 0_4 # VER = 0.4 * Make sure all Properties.py "rcX" version components are removed. # From a workspace: > cvs -q tag Release-CVS_VER > cvs co -r Release-CVS_VER Webware > # remove CVS/ and .cvsignore files # @@ use 'cvs export' instead? > cd Webware > find . -name .cvsignore -exec rm {} \; > find . -name CVS -exec rm -rf {} \; > cd .. > tar czf Webware-VER.tar.gz Webware

Release on SourceForge

FTP to SourceForge.net: > ncftpput -V upload.sourceforge.net /incoming Webware-VER.tar.gz The long way only if you need it: > ftp upload.sourceforge.net > user: ftp > pwd: > cd incoming > bin > hash > put 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, bug 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

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. [ ] Add a news item to the Webware Project Page @ SourceForge 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.