...
Tag the release. Do it from the release branch and push the created tag to the remote repository:
Code Block # create a signed tag git tag -s release-X.Y.Z -m "ZooKeeper X.Y.Z release." # push the newly created release tag to the remote repo. git push <remote> release-X.Y.Z
- Update the version number in build.xml to the next logical SNAPSHOT version (e.g. X.Y.Z to X.Y.Z+1-SNAPSHOT)
Commit this change.
Code Block # check for modified files git status # add modified files one by one git add <modified files> # commit and push the changes to remote repo branch-X.Y git commit -m "Prepare for the next release: update the version to X.Y.Z-SNAPSHOT" git push <remote> branch-X.Y
Check in release files to the distribution server
Code Block svn co https://dist.apache.org/repos/dist/release/zookeeper/ zookeeper_dist cd zookeeper_dist mkdir zookeeper-X.Y.Z # copy tgz/asc/md5/sha1 files from your public_html to zookeeper-X.Y.Z svn add zookeeper-X.Y.Z svn ci -m "Add ZooKeeper X.Y.Z release"
- After checking in the release, you'll receive an automated email from reporter.apache.org with a link requesting additional details about the release. This form must be completed by a PMC member. If you are a PMC members, follow the link and complete the form. If you are not a PMC member, forward the email to dev@zookeeper.apache.org and ask for assistance from a PMC member.
The release directory usually contains just two releases, the most recent from two branches, with a link named 'stable' to the most recent recommended version.
Code Block cd zookeeper_dist # don't do the following rm for the time being, until we are sure the new rel is actually stable --> ### rm -rf zookeeper-A.B.C rm stable; rm current ln -s zookeeper-A.B.D stable ln -s zookeeper-A.B.D current svn ci -m 'Updating links'
- Release the Maven artifacts on Apache Nexus:
- Click on 'Staging repositories'.
- Select the repository corresponding to the release candidate.
- Click on the 'Release' button and follow instructions.
- Wait 24 hours for release to propagate to mirrors.
Prepare to edit the website.
Code Block svn co https://svn.apache.org/repos/asf/zookeeper/site
Copy the new release documentation into the content/doc directory
Code Block cd site/trunk/content/doc mkdir rX.Y.Z cd rX.Y.Z tar xvf /www/www.apache.org/dist/zookeeper/zookeeper-X.Y.Z/zookeeper-X.Y.Z.tar.gz 'zookeeper-X.Y.Z/docs' mv zookeeper-X.Y.Z/docs/* . rm -r zookeeper-X.Y.Z cd .. svn add rX.Y.Z
- Update the release news in site/trunk/content/releases.textile
- Update the nav panel to include X.Y.Z (which may now be "current") site/trunk/templates/sidenav.textile
Regenerate the site, review it, then commit it. (checkout https://svn.apache.org/repos/infra/websites/cms/build if you haven't already)
Code Block cd site/trunk .../apache_cms_build/build_site.pl --source-base . --target-base /tmp/sitegen <open /tmp/sitegen/index.html in your browser and verify the site> svn commit -m "Updated site for release X.Y.Z."
Update the "current" doc pointer if necessary (as CMS doesn't currently support symlinks in build/staging we need to push this directly to production)
Code Block svn co https://svn.apache.org/repos/infra/websites/production/zookeeper/content cd content/doc rm current ln -s rX.Y.Z current svn commit -m "Updated current pointer for release X.Y.Z"
- Review your changes on the staging site: http://zookeeper.staging.apache.org
Deploy your site changes.
Code Block https://cms.apache.org/redirect?uri=http%3A//zookeeper.apache.org/ publish the site changes
Send announcements to the user and developer lists once the site changes are visible. Here is a sample email:
No Format Subject: [ANNOUNCE] Apache ZooKeeper X.Y.Z The Apache ZooKeeper team is proud to announce Apache ZooKeeper version X.Y.Z ZooKeeper is a high-performance coordination service for distributed applications. It exposes common services - such as naming, configuration management, synchronization, and group services - in a simple interface so you don't have to write them from scratch. You can use it off-the-shelf to implement consensus, group management, leader election, and presence protocols. And you can build on it for your own, specific needs. For ZooKeeper release details and downloads, visit: http://zookeeper.apache.org/releases.html ZooKeeper X.Y.Z Release Notes are at: http://zookeeper.apache.org/doc/rX.Y.Z/releasenotes.html We would like to thank the contributors that made the release possible. Regards, The ZooKeeper Team
- In Jira, ensure that only issues in the "Fixed" state have a "Fix Version" set to release X.Y.Z.
- In Jira, "release" the version. Visit the "Administer Project" page, then the "Manage versions" page. You need to have the "Admin" role in ZooKeeper's Jira for this step and the next.
- In Jira, close issues resolved in the release. Disable mail notifications for this bulk change.
...