Learn how easy it is to sync an existing GitHub or Google Code repo to a SourceForge project! See Demo

Close

HowToMakeARelease

Neil Muller

How to Make a Release

  • Check that the CHANGELOG and version in the branch are up to date.
  • Tag the revision of the stable branch which is being released using a command like:

      $ svn cp \
      https://sutekh.svn.sourceforge.net/svnroot/sutekh/releases/stable-branches/<stable-branch, e.g. 0.8.x> \
      https://sutekh.svn.sourceforge.net/svnroot/sutekh/releases/stable-tags/<release, e.g. 0.8.2>
    
  • Get a working copy of the new tag by running, for example:

      $ svn up.
    
  • Change directory to the new tag folder.

  • Register the new release with Cheese Shop:

      $ python setup.py register
    
  • Build eggs for at least Python 2.7, Python 2.6, Python 2.5 and Python 2.4 using something like:

     $ python2.4 setup.py bdist_egg upload
     $ python2.5 setup.py bdist_egg upload
     $ python2.6 setup.py bdist_egg upload
     $ python2.7 setup.py bdist_egg upload
     $ python2.7 setup.py sdist upload
    

inside the checkout of the new tag. The 'upload' part sends the eggs to the Cheese Shop. Currently the bdist_egg or sdist and upload need to be part of the same setup.py command. Setuptools may fix this at some point.
* Build debs for Ubuntu using and upload to ppa:

     $ ./sutekh-makedeb <signer name and email address>
     $ for f in deb_dist/*.changes ; do dput ppa:sutekh/staging "$f" ; done
     $ # when happy with results of uploading to staging, upload to main ppa:
     $ for f in deb_dist/*.changes ; do dput -f ppa:sutekh/ppa "$f" ; done
  • Build RPMs:

     $ ./sutekh-makerpm
    
  • Build Windows installer using:

      $ ./sutekh-wine-py2exe
      $ ./sutekh-makensis sutekh-py2exe.nsi .
    
  • Upload files to Sourceforge:

    • Create new release folder on Sourceforge, e.g. "Sutekh 0.8.0rc1 (stable)".
    • Run sf-upload.sh for each file you want to release:

        $ ./sf-upload.sh <username> <version, e.g. 0.8.0rc1> <file, e.g. dist/Sutekh-0.8.0rc1-py2.7.egg>
      
    • Files that should be released include the source tar ball, eggs, RPMs and the Windows installer.

    • Write something for the release notes and put them in a file named README.rst.
    • There is a template in trunk/docs/README-template.rst.
    • Copy and paste the relevant parts of the changelog into README.rst.
    • Upload README.rst file to the release folder.
    • Mark the Windows installer as the default download for Windows.
    • Update the release history.
    • Update the front page if appropriate.
    • Send out release announcements:
    • There is a template in trunk/docs/ANNOUNCE-template.rst
    • Places to announce to:
    • Mailing lists: sutekh-users, sutekh-devel, vtes-ct and vtes-gt.
    • VEKN.net announcements forum.
    • Jyhad newsgroup.
    • Google+, Facebook, Twitter.

Related

Wiki: Home
Wiki: ReleaseHistory