Version 3 (modified by djay, 10 years ago)


ZOO-Project Release Procedure

  • If not already created, create a wiki page (like this this one using this scheme: Release/M.m.r/Notes), summarizing changes from the previous release, review the revision log (ref.).
  • That file should include new features, changed features, and deprecated features if any. Changes to the official documentation should be specifically noted along with other items that will cause breaking changes during upgrades.
  • Read the documentation and remove outdated parts.
  • Create release candidate as .zip and .tar.gz then add them on this page (by editing this wiki page: ref.)
  • Cut a release candidate once you think that everything is in order. Announce the release candidate for review for at least 1 week. In this period of time, it is also appropriate for you to deploy in production since you are asserting that it is stable and (significant) bug free. Publish a specific revision with this.
  • If significant bugs are reported, fix and cut a new release candidate. If no major bugs, then announce that the release candidate has officially been promoted to the official release (if you want, you can do this with a motion and support of the PSC).
  • Ensure that release exactly matches something in SVN. Tag and branch appropriately.
  • Update documentation as needed.
  • Announce on various email list and other locations (news_item@…, SlashGeo??, etc)

Creating an Official Release

Release versions lead to an update in documentation and standard tarballs. This is to help future administrators repeatably create releases.

  • Double check that the pages from the web site match the current version.
  • Double check that the latest build file matches the current revisions number.
    cd htdocs/libs/dojo*/util/buildscripts
  • Create a commit point for the code.
    # cd to the trunk directory.
    svn commit -m 'Updated build to ensure completeness before 2.X.Y release.'
  • If this is a new major release create a branch and a tag. (e.g. 2.6, 2.8)
    cd geomoose2/
    svn cp trunk branches/geomoose-2.6
    svn cp trunk tags/geomoose-2.6.0
  • If this is a major or minor relase, create a tag.
    svn cp branches/geomoose-2.6 tags/geomoose-2.6.1
  • Commit the tags or branches with the version numbers.
    svn commit -m 'Created branch/tags for the 2.X.Y release'
  • Login to the webserver and ...
    # get the latest changes from svn
    cd /srv/svn
    svn up
    # tag a version
    cd /srv/geomoose
    # update the nightly builds to the latest revision, from which we'll make a
    # version.  This doesn't work for branched versions.

    # now take the nightly and call it a version number
    ./ 2.6.0

    # Now let's build the docs.
    cd /srv/svn/geomoose2/tags/geomoose-2.6.0/sphinx-docs
    make html

    # And now for the API.
    cd /srv/svn/geomoose2/tags/geomoose-2.6.0/
    mkdir apidocs
    /srv/geomoose/naturaldocs/naturaldocs -i htdocs/geomoose -o html ./apidocs -p ./ntdocs
  • Phew, that was fun. Next we need to add a line to /srv/geomoose/httpd.confd/geomoose_2.6.0.conf
    Alias /2.6.0/api /srv/svn/geomoose2/tags/geomoose-2.6.0/apidocs/
    Alias /2.6.0 /srv/svn/geomoose2/tags/geomoose-2.6.0/sphinx-docs/build/html/

    <Location /2.6.0/>
            Allow from all
            Order allow,deny
            Options Indexes FollowSymLinks
  • Now we’ll point “Current” at the branch so that we can update docs without making an absolute release.
    rm /srv/geomoose/current
    ln -s /srv/svn/geomoose2/branches/geomoose-2.6 /srv/geomoose/current
  • And restart the web server. The release should now be happening.


ZOO Sponsors

Become a sponsor !

Knowledge partners

Become a knowledge partner

Related links