You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 31 Next »

How To Release Tez

GPG Keys Setup

Follow Apache guidelines on setting up your GPG keys and ensure that your fingerprint is updated at id.apache.org.
Also, append your keys to the KEYS file at https://dist.apache.org/repos/dist/release/incubator/tez/KEYS

gpg --armor --fingerprint --list-sigs <keyid>
gpg --armor --export <keyid>

Ensure that you publish your key at http://pgp.mit.edu/

Creating a Release Candidate

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
mvn versions:set -DnewVersion="x.y.z"
Modify CHANGES.txt to set the release date to when the vote will likely end ( +3 or 4 days from the vote start ).
Modify CHANGES.txt for this release's ChangeLog using "git log --pretty=online"
Commit and push all the changes.
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

Your .m2/settings.xml should have something along these lines:

<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0
                      http://maven.apache.org/xsd/settings-1.0.0.xsd">
  <servers>
    <server>
     <id>apache.staging.https</id>
     <username>XXXXXX</username>
     <password>YYYYYY</password>
    </server>
  </servers>
  <profiles>
    <profile>
      <id>gpg</id>
      <properties>
        <gpg.passphrase>XXXXXXX</gpg.passphrase>
        <gpg.executable>gpg2</gpg.executable>
      </properties>
    </profile>
  </profiles>
</settings>

To deploy jars, run:

mvn clean deploy -Psources,javadoc,sign -DskipTests=true

Log on to https://repository.apache.org and look at the Staging Repositories. "Close" the tez jars recently uploaded to get the temporary staging repo URL.

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
Create Binary Tarball as a helper for Users

TBD

Upload Artifacts for Release Vote

The artifacts ( source tarball, binary tarball, checksums ) need to be copied over to https://dist.apache.org/repos/dist/dev/incubator/tez/.

Release Voting process

Start a Vote

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/
Nexus Staging URL:

PGP release keys (signed using <GPG KEY>) http://pgp.mit.edu:11371/pks/lookup?op=vindex&search=<GPG KEY>
KEYS file available at https://dist.apache.org/repos/dist/release/incubator/tez/KEYS

One can look into the issues fixed in this release at https://issues.apache.org/jira/**

Vote will be open for atleast 72 hours.

[ ] +1 approve
[ ] +0 no opinion
[ ] -1 disapprove (and reason why)

Ending a Successful/Failed Vote

Once the vote passes/fails, send out an email with subject like "[RESULT][VOTE] 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.

List +1s, -1s, 0s with clear distinctions between IPMC, PPMC and general contributors.

Cancelling a Vote

For a cancelled vote due to any reason, change the subject to "[CANCEL][VOTE] Apache Tez x.y.z rc0"

After A Successful Vote

Copy the bits to distribution folder for Apache Tez

Copy the Release Candidate bits from https://dist.apache.org/repos/dist/dev/incubator/tez/ to https://dist.apache.org/repos/dist/release/incubator/tez/.

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.

Update website at tez.incubator.apache.org

Follow instructions from Updating the Tez Website 

Update podling status at incubator.apache.org/projects/tez.html

Follow instructions from Updating the Podling Status page

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

  • No labels