Work at SourceForge, help us to make it a better place! We have an immediate need for a Support Technician in our San Francisco or Denver office.

Close

[f00035]: doc / cheatsheets / making_a_release Maximize Restore History

Download this file

making_a_release    154 lines (109 with data), 3.7 kB

All code/doc changes should be committed in the release_1 branch.

To get the hg revision of the previous release:

    $ hg tags

Do "hg log" to see what's changed:

    $ hg log -v -r .:48

Append to: RELEASE_NOTES-1.0.txt

FILES TO CHANGE:
    - README
        Read through to see if anything has changed.  The following lines
        will always change:
        - line  3: Version: 1.0.2
        - line 23:     pyke_doc_html-1.0.2.tar.gz
        - line 55:     pyke-1.0.2-py2.5.egg
        - line 63:     pyke-1.0.2.tar.gz
        - line 68: Add any new examples
        - line 73:     pyke_examples-1.0.2.tar.gz
    - setup.py
        - line 11:  version = "1.0.2",
        - line 40:  - http://downloads.sourceforge.net/pyke/pyke-1.0.2-py2.5.egg
        - line 41:  - http://downloads.sourceforge.net/pyke/pyke-1.0.2-py2.6.egg
        - line 44:  "http://downloads.sourceforge.net/pyke/pyke-1.0.2.zip",
    - pyke/__init__.py
        - line 3: version = '1.0.2'
    - doc/source/index.txt
        - line 43: Release 1.0

REBUILD compiler_bc.py

    $ cd pyke/krb_compiler
    $ PYTHONPATH=../.. python
    >>> from pyke import krb_compiler
    >>> krb_compiler.compile_krb('compiler', 'compiled_krb', 'compiled_krb', 'compiler.krb')
    $ mv compiled_krb/compiler_bc.py .

COMMIT HG UPDATES

REBUILD DOCUMENTS

    $ cd doc/source
    $ bin/gen_html
    $ cd ../..

COMMIT HG UPDATES (if any)

CHECK FOR OTHER CHANGES

    $ hg fetch hg
    $ retest as necessary

COPY TO PYKE BRANCH:

    $ cd ../pyke_working
    $ hg pull -u hg (no merge should be required here!)
    $ hg fetch release_1
    $ ./testpyke
    $ hg push
    $ hg push hg

COPY TO PRE_2TO3_R1 BRANCH:

    $ cd ../pre_r1_working
    $ hg pull -u hg (no merge should be required here!)
    $ hg fetch ../r1_working
    $ cd doc/source
    $ bin/gen_html
    $ cd ../..
    $ hg commit (if gen_html made any changes)
    $ ./run_pre_test        (this also builds a source distribution)
    $ hg push
    $ hg push hg

COPY TO PRE_2TO3 BRANCH:

    $ cd ../pre_working
    $ hg pull -u hg (no merge should be required here!)
    $ hg fetch ../pre_r1_working
    $ cd doc/source
    $ bin/gen_html
    $ cd ../..
    $ hg commit (if gen_html made any changes)
    $ ./run_pre_test        (this also builds a source distribution)
    $ hg push
    $ hg push hg

BUILD RELEASE

    $ cd ../r1_working
    $ rm -rf build dist pyke.egg-info
    $ python setup.py sdist --formats zip
    $ cp ../pre_r1_working_test/dist/pyke*.zip dist

TAG RELEASE

    $ hg tag 1.0.2 (commit is automatic)

PUSH TO SOURCEFORGE

    $ hg push
    $ hg push hg

ADD NEW RELEASE TO SOURCEFORGE TRACKERS:

    Project Admin -> Feature Settings -> Manage (on Tracker line)

    Do: Bugs, Support Requests, and Patches

    Add release through "Add/Update Groups"

UPLOAD NEW DOCUMENTATION TO SOURCEFORGE

    see web.upload cheatsheet

UPLOAD DIST FILES TO SOURCEFORGE:

    $ cp RELEASE_NOTES-1.0.txt dist
    $ cd dist
    $ rsync -e ssh * mtnyogi,pyke@frs.sourceforge.net:/home/frs/project/p/py/pyke/pyke/1.0.2

    In the browser go to: Project Admin -> File Manager

    left click on RELEASE_NOTES-1.0.txt
    check the "Release Note" checkbox
    click Save
    left click on pyke-1.0.2.tar.gz
    set the "Release Notes for this file" (leave the "Label" blank)
    click Save

UPDATE PYPI LINK:

    $ python setup.py register

CREATE NEWS ANNOUNCEMENTS

    On Sourceforge: Project Admin -> Feature Settings
                                  -> Submit (on Project News line)

    On Google Groups: http://groups.google.com/group/pyke

TO TEST:

    $ cd ~/python
    $ virtualenv --no-site-packages pyketest
    $ cd pyketest
    $ bash
    $ unset PYTHONPATH
    $ source bin/activate