Versions Compared

Key

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

...

  • Check out the branch you are making the release of:

    Code Block
    git clone -b branch-X.Y https://gitbox.apache.org/repos/asf/zookeeper.git


  • If you are creating a point release (almost always the case) then follow this step. The exception to this is typically only when creating a new release candidate because the previous candidate failed during voting (rc0 failed and you are creating rc1+) – in which case skip this step.

    Create a branch for X.Y.Z (the current release candidate)

    Code Block
    git branch branch-X.Y.Z
    git push <remote> branch-X.Y.Z


  • Remove the "-SNAPSHOT" from the version in all pom.xml.
    For example, to do the first release candidate on 3.5.5, run:

    Code Block
    languagexml
    title.m2 settings
    mvn clean org.codehaus.mojo:versions-maven-plugin:2.7:set -DnewVersion=3.5.5

    Note: we do not add "-RC0" at the and, because if votes passes on the Release Candidate, this will be the release we deploy to maven central.

    Also update the version number in src/c/configure.acsrc/c/CMakeLists.txt, and src/c/include/zookeeper_version.h to the next logical SNAPSHOT version (e.g. X.Y.Z to X.Y.(Z+1)-SNAPSHOT)

  • Update the copyright years in NOTICE.txt if it's outdated.
  • Do a search in the project for the version with the attached -SNAPSHOT to make sure it is changed everywhere. Some files (other than pom.xml) might also contain a hard coded version.

  • Clean your working directory:

    Code Block
    languagexml
    mvn clean
    git clean -fxd


  • ToDO: rat here?

  • 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.Z


  • 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


...