How To Release Tez
Create or Checkout the Release Branch
git checkout origin/branch-x.y.z
Run Basic Release checks
mvn clean install -DskipTests=true mvn clean apache-rat:check
Update Version Number if Required
Update pom.xml in the top-level to change the version number.
Commit and push the version change.
Create a Release Tag
git tag -a release-x.y.z-rc0 -m 'Tez x.y.z RC0' git push --tags origin
Deploy the jars to Staging
mvn deploy -Dgpg.passphrase=yourpassphrase
Create a Release tarball for the Source
git clean -f -x -d cd .. cp -R tez-git-x.y.z tez-x.y.z-incubating tar --exclude=.git -zcvf tez-x.y.z-incubating.tar.gz tez-x.y.z-incubating
Sign the Release
gpg2 --armor --output tez-{x.y.z}-incubating.tar.gz.asc --detach-sig tez-{x.y.z}-incubating.tar.gz
Generate MD5 checksums
md5sum tez-x.y.z-incubating.tar.gz > tez-x.y.z-incubating.tar.gz.md5 sha1sum tez-x.y.z-incubating.tar.gz > tez-x.y.z-incubating.tar.gz.sha
or
openssl md5 tez-x.y.z-incubating.tar.gz > tez-x.y.z-incubating.tar.gz.md5 openssl sha1 tez-x.y.z-incubating.tar.gz > tez-x.y.z-incubating.tar.gz.sha
Upload Artifacts for Release Vote
The artifacts ( tarball, checksums ) need to be copied over to public_html/tez-release-rc/tez-x.y.z-rc0/ on people.apache.org.
Release Voting process
Call for a vote on the dev mailing list and CC general@incubator.apache.org with something like this:
Email subject should be: VOTE Release Apache Tez-x.y.z-incubating RC0
I have created an tez-x.y.z-incubating release candidate rc0.
GIT source tag (r***)
https://git-wip-us.apache.org/repos/asf/incubator-tez/repo?p=incubator-tez.git;a=log;h=refs/tags/release-x.y.z-rc0
Staging site: http://people.apache.org/user_name/tez-release-rc/tez-x.y.z-rc0/
PGP release keys (signed using <GPG KEY>) http://pgp.mit.edu:11371/pks/lookup?op=vindex&search=<GPG KEY>
One can look into the issues fixed in this release at https://issues.apache.org/jira/**
Vote will be open for 72 hours.
[ ] +1 approve
[ ] +0 no opinion
[ ] -1 disapprove (and reason why)
Once the vote passes/fails, send out an email with subject like "RESULTVOTE Apache Tez x.y.z rc0" to general@incubator.apache.org and tez-dev@incubator.apache.org. For the vote to pass, 3 +1 votes are required from IPMC members.
For a cancelled vote due to any reason, change the subject to "CANCELVOTE Apache Tez x.y.z rc0"
After A Successful Vote
Copy the bits to distribution folder for Apache Tez
ssh people.apache.org
cd /www/www.apache.org/dist/incubator/tez/
mkdir tez-x.y.z
cp ~/public_html/tez-release-rc/tez-x.y.z/* tez-x.y.z
ln -sfn tez-x.y.z current
Create the release tag
git tag -a release-x.y.z -m 'Tez x.y.z'
git push --tags origin
Note that it takes 24 hours for the changes to propagate to the mirrors.
Wait 24 hours and verify that the bits are available in the mirrors before sending an announcement.
Release Announcement
Send out Announcement to dev@tez.incubator.apache.org, user@tez.incubator.apache.org and general@incubator.apache.org
Suject: ANNOUNCE Apache Tez x.y.z. ( Incubating )
The Apache Tez team is proud to announce the release of Apache Tez version x.y.z (incubating)
The Apache Tez project is aimed at building an application framework which allows for a complex directed-acyclic-graph of tasks for processing data.
The release bits are at: http://www.apache.org/dyn/closer.cgi/incubator/tez.
We would like to thank all the contributors that made the release possible.
Regards,
The Tez Team