THIS IS A TEST INSTANCE. ALL YOUR CHANGES WILL BE LOST!!!!
...
- Build the release and run unit tests:
Code Block umask 0022 ant clean ant test ant -Dhcatalog.version=X.Y.Z-incubating -Dforrest.home=<Forrest installation dir> tar
- Test the tar file by unpacking the release and
- building hcatalog.jar:
ant
- running unit tests
ant test
- building hcatalog.jar:
- Generate the MD5 checksum of the release file:
Code Block cd build md5sum hcatalog-X.Y.Z-incubating.tar.gz > hcatalog-X.Y.Z-incubating.tar.gz.md5
- If you do not have a gpg key pair, do the following steps:
- Generating key pair using the following command. You can simply accept all default settings and give your name, email and Passphase.
Code Block gpg --gen-key
- Export your public key.
Code Block gpg --armor --output pubkey.txt --export 'Your Name'
- Open pubkey.txt, copy the full text and append it to the following files by pasting, then commit these changes:
Code Block https://svn.apache.org/repos/asf/incubator/hcatalog/branches/branch-X.Y.Z/KEYS https://svn.apache.org/repos/asf/incubator/hcatalog/trunk/KEYS
- Upload updated KEYS to Apache.
Code Block scp KEYS people.apache.org:/www/www.apache.org/dist/incubator/hcatalog/KEYS
- Export your private key, keep it with you.
Code Block gpg --export-secret-key -a "Your Name" > private.key
- Generating key pair using the following command. You can simply accept all default settings and give your name, email and Passphase.
- Sign the release (see Step-By-Step Guide to Mirroring Releases for more information).
Code Block gpg --armor --output hcatalog-X.Y.Z-incubating.tar.gz.asc --detach-sig hcatalog-X.Y.Z-incubating.tar.gz
- Verify gpg signature.
Code Block gpg --import KEYS (if necessarily) gpg --verify hcatalog-X.Y.Z-incubating.tar.gz.asc hcatalog-X.Y.Z-incubating.tar.gz
- Copy release files to a public place (usually into public_html in your home directory):
TheCode Block ssh people.apache.org mkdir public_html/hcatalog-X.Y.Z-incubating-candidate-0 scp -p hcatalog-X.Y.Z-incubating.tar.gz* people.apache.org:public_html/hcatalog-X.Y.Z-incubating-candidate-0 cd .. scp RELEASE_NOTES.txt people.apache.org:public_html/hcatalog-X.Y.Z-incubating-candidate-0 scp rat_report people.apache.org:public_html/hcatalog-X.Y.Z-incubating-candidate-0
rat_report
is the report generated in the Updating Release Branch section above. - Call a release vote for the Podling PMC (PPMC). This vote must receive a minimum of 3 PPMC members +1s, and more +1s than -1s. The email should be sent to hcatalog-user@incubator.apache.org. The mail should:
Wiki Markup have a subject line "\[VOTE\] Release HCatalog X.Y.Z-incubating (candidate a)" where X.Y.Z is the version number and {{a}} is the candidate number for this release.
- State what is new in this release.
- Tell where the keys used to sign the release can be found.
- State where the release, md5 signature, gpg signature, and rat report can be found.
- Request that users and developers download it, test it, and vote.
- State when the vote closes. The vote must remain open for at least 72 hours. It can be longer at your discretion (e.g. around major holidays).
Here is a sample email:Code Block Subject: [VOTE] Release HCatalog 0.1.0-incubating (candidate 0) Hi, I have created a candidate build for HCatalog 0.1.0-incubating. This is the initial release of HCatalog. Keys used to sign the release are available at http://svn.apache.org/viewvc/hcatalog/trunk/KEYS?view=markup. Please download, test, and try it out: http://people.apache.org/~you/hcatalog-0.1.0-incubating-candidate-0 The release, md5 signature, gpg signature, and rat report can all be found at the above address. Should we release this? Vote closes on Thursday, June 16th. Me
...
- If the PPMC approves the release, call an Incubator PMC (IPMC) vote. This vote must receive a minimum of 3 IPMC member +1s, and more +1s than -1s. The email sent should look similar.
Publish
If both votes pass, the release , after the vote closes at least three PPMC members have voted for it and a majority of voters approved the released, it needs to be published.
- Tag the release:
Code Block svn move https://svn.apache.org/repos/asf/incubator-hcatalog/tags/release-X.Y.Z-rcR \ https://svn.apache.org/repos/asf/incubator-hcatalog/tags/release-X.Y.Z -m "HCatalog X.Y.Z release."
- Copy release files to the distribution directory and make them writable by the
hcatalog
group.Code Block ssh people.apache.org cp -pr public_html/hcatalog-X.Y.Z-incubating-candidate-0 /www/www.apache.org/dist/incubator/hcatalog/hcatalog-X.Y.Z-incubating cd /www/www.apache.org/dist/incubator/hcatalog chgrp -R incubator hcatalog-X.Y.Z-incubating chmod -R g+w hcatalog-X.Y.Z-incubating
- The release directory usually contains just two releases, the most recent from two branches, with a link named 'stable' to the most recent recommended version.
Code Block ssh people.apache.org cd /www/www.apache.org/dist/incubator/hcatalog rm -rf hcatalog-A.B.C-incubating; rm stable ln -s hcatalog-X.Y.Z-incubating stable
- Wait 24 hours for release to propagate to mirrors.
- Prepare to edit the website.
Code Block svn co https://svn.apache.org/repos/asf/incubator/hcatalog/site
- Update the front page news in author/src/documentation/content/xdocs/index.xml.
- Update the release news in author/src/documentation/content/xdocs/releases.xml.
- Update the documentation links in author/src/documentation/content/xdocs/site.xml
- Copy in the release specific documentation. releasedir in the following is the directory where you built the release version of HCatalog
Code Block cd publish mkdir docs/rX.Y.Z cp -pr <releasedir>/build/hcatalog-X.Y.Z-incubating/docs/* publish/docs/rX.Y.Z/ svn add publish/docs/rX.Y.Z
- We should only be publishing release specific documentation for releases still available for download. If you removed any releases from
/www/www.apache.org/dist/incubator/hcatalog
several steps ago, then you should also usesvn rm
to remove the associated documents fromdocs
. - Regenerate the site, review it and commit in HowToCommit.
- Deploy your site changes.
Code Block ssh people.apache.org cd /www/incubator.apache.org/hcatalog svn up
- Wait until you see your changes reflected on the Apache web site.
- Send announcements to the user and developer lists as well as (announce@haoop.apache.org) once the site changes are visible.
Code Block The HCatalog team is happy to announce the release of HCatalog X.Y.Z. Apache HCatalog provides a table management service for Hadoop. More details about HCatalog can be found at http://incubator.apache.org/hcatalog. The highlights of this release are ... The details of the release can be found at http://incubator.apache.org/hcatalog/releases.html.
- In JIRA, mark the release as released.
- Goto JIRA and click on Administration tab.
- Select the HCatalog project.
- Select Manage versions.
- Select Release for the version you have released.
- If a description has not yet been added for the version you are releasing, select Edit Details and give a brief description of the release.
- If the next version does not exist (that is, if you are releasing version 0.x, if version 0.x+1 does not yet exist) create it using the Add Version box at the top of the page.
- In JIRA, mark the issues resolved in this release as closed.
- Goto JIRA and click on the "Search for Issues" on "Issues" menu.
- In the left hand Edit section, set Project to HCatalog.
- In Status select "Resolved"
- In Resolutions select "Fixed"
- Click "Search" button
- In the next screen, further select fix For select the version you are releasing.
- Click on the "Search" button
- Select "Tools->Bulk change all XX issues" (near the top right)
- Select all the issues and click on "Next"
- Select "Transition Issues" radio button and click on "Next"
- Select "Close Issue" radio button and click on "Next"
- Uncheck the box near the bottom at says "Send mail for this update" lest you spam every HCatalog developer with a message for every bug resolved in this release. Click "Next".
- Click "Confirm". Don't worry if it gives you a HTTP 500 error, it still does the transitions.
- Update jdiff for next release (We don't have jdiff set up yet, but these next several instructions are left here so when we do we can use them)
Code Block svn co https://svn.apache.org/repos/asf/incubator/hcatalog/trunk
- Open build.xml. Change this line:
Code Block <property name="jdiff.stable" value="X.Y-1.Z"/> To <property name="jdiff.stable" value="X.Y.Z"/>
- Copy jdiff comparison base to trunk
Code Block cp {releasedir}/lib/jdiff/hcatalog_X.Y.Z.xml lib/jdiff svn add lib/jdiff/hcatalog_X.Y.Z.xml svn remove lib/jdiff/hcatalog_X.Y-1.Z.xml svn commit -m "Jdiff change for X.Y.Z"
- Open build.xml. Change this line: