Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  1. Check out the branch with:

    Code Block
    git clone -b branch-X.Y https://git-wip-us.apache.org/repos/asf/zookeeper.git
  2. If not already done, merge desired patches from master into the branch-X.Y and commit these changes. You can find the revision hash using git log in the branch-X.Y and in master. Then merge each commit from the remote master into the branch-X.Y individually (again in order), allowing conflicts to be recorded for each commit. If there are conflicts, then resolve it manually.

    TODO: Need to document git commands to do merging and committing the changes to the branch.

  3. Do a final pass regeneration of docs by running "ant -Dforrest.home=<path to Forrest> clean docs".  If there are any modifications, then they'll show up under the docs folder.  If there are any changes, then commit them.  However, DO NOT commit changes in docs/releasenotes.html or docs/releasenotes.pdf.  (Release notes are handled in a separate step.)  Release notes should be regenerated each time a documentation patch is committed.  This final pass before the release is intended to catch mistakes in case this step was missed at commit time.
  4. Update docs/releasenotes.html with release notes for this release. You can get the HTML by following the "Release Notes" link for the relevant release on the https://issues.apache.org/jira/browse/ZOOKEEPER?report=com.sourcelabs.jira.plugin.portlet.releases:releases-projecttab#selectedTab=com.atlassian.jira.plugin.system.project%3Aroadmap-panel tab in Jira. Note that you need to exclude the won't fix or invalid tickets.
  5. TODO - document howto generate the release notes using the new mechanism
  6. Update the version number in build.xml to be ''X.Y.Z''
  7. Update the version number in src/c/include/winconfig.hsrc/c/configure.ac, and src/c/include/zookeeper_version.h to be ''X.Y.Z''
  8. Update the copyright years in NOTICE.txt if it's outdated.
  9. Commit these changes.

    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 "Preparing for release X.Y.Z"
    git push <remote> branch-X.Y
  10. Tag the release candidate (R is the release candidate number, and starts from 0):

    Code Block
    # create a signed tag
    git tag -s release-X.Y.Z-rcR -m "ZooKeeper X.Y.Z-rcR release."
     
    # push the newly created rc tag to the remote repo.
    git push <remote> release-X.Y.Z-rcR

...