[699] | 1 | .. _contribute_release: |
---|
| 2 | |
---|
| 3 | Release procedure |
---|
| 4 | ================================ |
---|
| 5 | |
---|
| 6 | General rules |
---|
| 7 | ------------------ |
---|
| 8 | |
---|
| 9 | The ZOO-Project release procedure is commonly defined by the following rules: |
---|
| 10 | |
---|
| 11 | * Any ZOO-Project commiter can ask for a release by asking the ZOO-Project PSC and pointing a release manager. This last will then vote for accepting both the manager and the release procedure to happen. |
---|
| 12 | * It is first needed to create a wiki page summarizing the changes from the previous release (extracted from the revision log file called |
---|
| 13 | `HISTORY <http://zoo-project.org/trac/browser/trunk/zoo-project/HISTORY.txt>`__ ). |
---|
| 14 | * That wiki page should include new features, changed features, and |
---|
| 15 | deprecated features if any. Changes to the official documentation |
---|
| 16 | should be specifically noted along with other items that will |
---|
| 17 | cause breaking changes during upgrades. |
---|
| 18 | * Read the documentation and remove outdated parts. |
---|
| 19 | * Compress the release candidate source code in .zip and .tar.bz2 |
---|
| 20 | formats, and then add them to the `Download |
---|
| 21 | <http://zoo-project.org/Download>`__ section of the ZOO-Project |
---|
| 22 | website. |
---|
| 23 | * Cut a release candidate once you think that everything is in |
---|
| 24 | order. Announce the release candidate for review for a duration |
---|
| 25 | of at least 1 week. During this time, it is also appropriate to |
---|
| 26 | deploy the release candidate in production since you are |
---|
| 27 | asserting that it is stable and (significant) bug free. Publish a |
---|
| 28 | specific revision with this. |
---|
| 29 | * If significant bugs are reported, fix and cut a new release |
---|
| 30 | candidate. If no major bugs, then announce that the release |
---|
| 31 | candidate has officially been promoted to the official release |
---|
| 32 | (This can optionally done with a motion and support of the |
---|
| 33 | PSC). |
---|
| 34 | * Ensure that release exactly matches something in SVN. Tag and branch appropriately. |
---|
| 35 | * Update documentation as needed. |
---|
| 36 | * Announce the release on the zoo-discuss list and various media |
---|
| 37 | |
---|
| 38 | Creating an official release |
---|
| 39 | --------------------- |
---|
| 40 | |
---|
| 41 | Release versions lead to an update in documentation and standard tarballs. This is to help future administrators repeatably create releases. |
---|
| 42 | |
---|
| 43 | * Double check that the pages from the ZOO-Project.org web site match the current version. |
---|
| 44 | * Double check that the latest build file matches the current revisions number. |
---|
| 45 | * If this is a new major release create a branch and a tag, as shown |
---|
| 46 | bellow: |
---|
| 47 | |
---|
| 48 | :: |
---|
| 49 | |
---|
| 50 | cd zoo-project-svn/ |
---|
| 51 | svn cp trunk branches/branch-1.6 |
---|
| 52 | svn cp trunk tags/rel-1.6.0 |
---|
| 53 | |
---|
| 54 | * If this is a major or minor relase, create a tag, as follow: |
---|
| 55 | |
---|
| 56 | :: |
---|
| 57 | |
---|
| 58 | svn cp branches/branch-1.6 tags/rel-1.6.1 |
---|
| 59 | |
---|
| 60 | * Commit the tags or branches with the version numbers. |
---|
| 61 | |
---|
| 62 | :: |
---|
| 63 | |
---|
| 64 | svn commit -m 'Created branch/tags for the X.Y.Z release' |
---|
| 65 | |
---|
| 66 | * Create version archives |
---|
| 67 | |
---|
| 68 | :: |
---|
| 69 | |
---|
| 70 | export VERSION=2.6.0 |
---|
| 71 | cd zoo-propject-svn |
---|
| 72 | cp -r trunk zoo-project-$VERSION |
---|
| 73 | cd zoo-project-$VERSION |
---|
| 74 | rm -rf $(find ./ -name ".svn") |
---|
| 75 | cd zoo-project/zoo-kernel |
---|
| 76 | autoconf |
---|
| 77 | cd ../../.. |
---|
| 78 | # Remove documentation from the archive |
---|
| 79 | rm -rf ./zoo-project-$VERSION/docs |
---|
| 80 | tar -cvjf ./zoo-project-$VERSION.tar.bz2 ./zoo-project-$VERSION |
---|
| 81 | zip -r ./zoo-project-$VERSION.zip ./zoo-project-$VERSION |
---|
| 82 | scp -P 1046 ./zoo-project-$VERSION.{zip,tar.bz2} zoo-project.org:/var/www/localhost/htdocs/dl/ |
---|
| 83 | |
---|
| 84 | * Update the `Download <http://zoo-project.org/Download>`__ section to add and link to the latest release. |
---|