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

Download this file

making_a_release    152 lines (108 with data), 4.0 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

Write: RELEASE_NOTES-1.0.2

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.tar.gz",
    - 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

COMMIT HG UPDATES (if any)

CHECK FOR OTHER CHANGES

    $ hg fetch hg
    $ retest as necessary

BUILD RELEASE

    $ cd ../..
    $ rm -rf build
    $ python setup.py bdist_egg sdist
    $ python2.6 setup.py bdist_egg
    $ ./make_doc_tarball dist/pyke_doc_html-1.0.2.tar.gz
    $ ./make_examples_tarball dist/pyke_examples-1.0.2.tar.gz

TAG RELEASE

    $ hg tag 1.0.2
 ?? $ hg commit

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:

    In the browser, go to: https://frs.sourceforge.net/webupload and upload
    the 5 files:
                pyke-1.0.2-py2.5.egg 
                pyke-1.0.2-py2.6.egg 
                pyke-1.0.2.tar.gz
                pyke_doc_html-1.0.2.tar.gz
                pyke_examples-1.0.2.tar.gz

    Go to: Project Admin -> Feature Settings
                         -> Manage (on File Release System line)
    Click on "Add Release", Enter: 1.0.2
    Click "Preserve my pre-formatted text." on the Release Notes (upload the
        RELEASE_NOTES-1.0.2 file).
    Follow the rest of the instructions there...
        After you've selected the files to include, you have to go through
        settings for each file ONE AT A TIME.  (Each file has its own Update
        button which erases any information you've entered for subsequent
        files).

        Pick "Platform Independant" for all of the files.

        Pick ".zip" for the .egg files.
        Pick "Source .gz" for the source .gz file.
        Pick ".gz" for the doc .gz file.
        Pick ".gz" for the examples .gz file.


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

COPY TO PYKE BRANCH:

    $ cd ../pyke_working
    $ hg pull -u hg (no merge should be required here!)
    $ hg fetch release_1
    $ (test)
    $ 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 pyke
    $ (clone, run 2to3 and test)
    $ hg push
    $ hg push hg