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