Release Procedures (Webware for Python)

#

##

##

##

##

##

##

##

##

    Release ProceduresWebware 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.