= ZOO-Project Release Procedure = * Any ZOO-Project commiter can ask for release providing a release manager to the ZOO-Project PSC. This last will then vote for accepting both the manager and the release procedure to happen. * If not already created, create a wiki page (like this [http://zoo-project.org/trac/wiki/Release/1.3.0/Notes this one] using this scheme: Release/M.m.r/Notes), summarizing changes from the previous release (extracted from the revision log [http://zoo-project.org/trac/browser/trunk/zoo-project/HISTORY.txt 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.bz2 then add them on this [http://zoo-project.org/site/Downloads page] (by editing this wiki page: [http://zoo-project.org/trac/wiki/Downloads 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@osgeo.org, !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 [http://zoo-project.org/ the ZOO-Project.org web site] match the current version. * Double check that the latest build file matches the current revisions number. * If this is a new major release create a branch and a tag. {{{ cd zoo-project-svn/ svn cp trunk branches/branch-1.6 svn cp trunk tags/rel-1.6.0 }}} * If this is a major or minor relase, create a tag. {{{ svn cp branches/branch-1.6 tags/rel-1.6.1 }}} * Commit the tags or branches with the version numbers. {{{ svn commit -m 'Created branch/tags for the X.Y.Z release' }}} * Create version archives {{{ export VERSION=2.6.0 cd zoo-propject-svn cp -r trunk zoo-project-$VERSION cd zoo-project-$VERSION rm -rf $(find ./ -name ".svn") cd zoo-project/zoo-kernel autoconf cd ../../.. tar -cvjf ./zoo-project.$VERSION.tar.bz2 ./zoo-project-$VERSION zip -r ./zoo-project-$VERSION.zip ./zoo-project-$VERSION scp -P 1046 ./zoo-project-$VERSION.{zip,tar.bz2} zoo-project.org:/var/www/localhost/htdocs/dl/ }}} * Update the [http://zoo-project.org/site/Downloads Downloads page] to add the latest release (by editing this [http://zoo-project.org/trac/wiki/Downloads wiki page]).