Versions Compared

Key

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

Release process.

Note: The first release candidate is rc0. The following documented process assumes rc0, but replace it with the appropriate rc number as required.

...

Preparing for release

Email dev@ambari.apache.org mailing list expressing your interest in volunteering to be the release manager for Apache Ambari X.Y.Z release:

Code Block
Subject: Release Manager for Ambari X.Y.Z

Hi all,
I would like to volunteer to be the release manager for Ambari X.Y.Z
Thanks

 

Wait for three +1s. 

Email dev@ambari.apache.org mailing list notifying that you will be creating the release branch soon

Code Block
Subject: Preparing Ambari X.Y.Z branch

Hi developers and PMCs,

I am proposing cutting the branch for Ambari X.Y.Z on __________  as per the outlined tasks in the Ambari Feature + Roadmap page (https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=30755705).
After making the branch, we (i.e., development community) should only accept blocker or critical bug fixes into the branch and harden it until it meets a high enough quality bar. 
If you have a bug fix, it should first be committed to trunk, and after ensuring that it does not break any tests (including smoke tests), then it should be integrated to the Ambari X.Y.Z branch.
If you have any doubts whether a fix should be committed into the X.Y.Z branch, please email me for input at ____________
Stay tuned for updates on the release process.


Thanks

Create the release branch

Create a branch for a release using branch-<version> X.Y.Z as the name of the branch.

Checkout the release branch

Code Block
git checkout branch-X.Y.Z

Update release version

Make sure once the branch is created the version is set as appropriate:. Make sure that all versions are updated. Commit the changes to the release branch.

Code Block
Steps followed for 2.0.0 release as a reference


# Update the release version
mvn versions:set -DnewVersion=2.0.0.0
pushd ambari-metrics
mvn versions:set -DnewVersion=2.0.0.0
popd
pushd contrib/ambari-log4j
mvn versions:set -DnewVersion=2.0.0.0
popd
pushd contrib/ambari-scom
mvn versions:set -DnewVersion=2.0.0.0
popd
pushd docs
Code Block
mvn versions:set -DnewVersion=<version>=2.0.0.0
popd


Update the ambari.version properties in all pom.xml
$grep -r --include "pom.xml" "ambari.version" .
./ambari-web/pom.xml:                  <arg value="${basedir}${dirsep}set-ambari-version.${fileextension.shell}"/>
./contrib/ambari-scom/ambari-scom-server/pom.xml:        <ambari.version>1.3.0-SNAPSHOT</ambari.version>
./contrib/ambari-scom/ambari-scom-server/pom.xml:            <version>${ambari.version}</version>
./contrib/views/hive/pom.xml:    <ambari.version>1.3.0-SNAPSHOT</ambari.version>
./contrib/views/jobs/pom.xml:        <version>${ambari.version}</version>
./contrib/views/pig/pom.xml:    <ambari.version>2.0.0-SNAPSHOT</ambari.version>
./contrib/views/pom.xml:    <ambari.version>2.0.0-SNAPSHOT</ambari.version>
./contrib/views/tez/pom.xml:      <version>${ambari.version}</version>
./docs/pom.xml:        <ambari.version>1.0.0-SNAPSHOT</ambari.version>
./docs/pom.xml:        <final.name>${project.artifactId}-${ambari.version}</final.name>


Update any 2.0.0-SNAPSHOT references in pom.xml
$ grep -r --include "pom.xml" "2.0.0-SNAPSHOT" .
./ambari-views/examples/property-validator-view/pom.xml:      <version>2.0.0-SNAPSHOT</version>


Remove .versionsBackup files
git clean -f -x -d
 
#review and commit the changes to branch-X.Y.Z
git commit

Update KEYS

If this is the first time you have taken release management responsibilities, make sure to update the KEYS file and commit the updated KEYS in both the ambari trunk branch and the release branch. Also in addition to updating the KEYS file in the tree, you also need to push the KEYS file to https://dist.apache.org/repos/dist/release/ambari/ 

Code Block
#update the KEYS file
gpg2 --list-keys jluniya@apache.org >> KEYS
gpg2 --armor --export jluniya@apache.org >> KEYS
 
# commit the changes to both trunk and new release branch
git commit
 
# push the updated KEYS file to https://dist.apache.org/repos/dist/release/ambari/
svn co https://dist.apache.org/repos/dist/release/ambari ambari_svn
cp {path_to_keys_file}/KEYS ambari_svn/KEYS
svn update KEYS
svn commit -m "Updating KEYS for Ambari"

Creating Release Candidate

Note: The first release candidate is rc0. The following documented process assumes rc0, but replace it with the appropriate rc number as required.
 

Checkout the release branch

Code Block
git checkout branch-X.Y.Z

...

Code Block
public_html/apache-ambari-X.Y.Z-rc0

Voting on Release Candidate

Call for a vote on the dev@ambari.apache.org mailing list with something like this:

...

Once the vote passes/fails, send out an email with subject like "[RESULT] [VOTE] Apache Ambari x.y.z rc0" to dev@ambari.apache.org. For the vote to pass, 3 +1 votes are required. If the vote does not pass another release candidate will need to be created after addressing the feedback from the community.

Publishing and Announcement 

After the vote passes:

Verify your PGP key is provided to Apache. Apache verifies that distributions are correctly signed.

...