...
- Check out the release branch with:
Code Block svn co https://svn.apache.org/repos/asf/hive/branches/branch-X.Y
- Update the
version
property value in thebuild.properties
file,hcatalog/build.properties
and hcat pom.xml files(find hcatalog/ -name pom.xml)
. You should remove theSNAPSHOT
suffix and setversion
equal tohive-X.Y.Z
where Z is the point release number in this release series (0 for the first one, in which case this step is a no-op since you already did this above when creating the branch). - Verify that the build is working with changes
- Commit these changes.
Code Block svn commit -m "Preparing for release X.Y.Z"
- If not already done, merge desired patches from trunk into the branch and commit these changes. We don't currently use svn merge for this, but if we did, the script would be
Code Block cd branch-X.Y svn merge -rR1:R2 ../trunk . svn commit -m "Merge -r R1:R2 from trunk to X.Y branch. Fixes: HIVE-A, HIVE-B."
- You probably also want to commit a patch (on both trunk and branch) which updates README.txt to bring it up to date (at a minimum, search+replacing references to the version number). Also check NOTICE to see if anything needs to be updated for recent library dependency changes or additions.
- Select all of the JIRA's for the current release that aren't FIXED and do bulk update to clear the 'Fixed Version' field.
- Likewise, use JIRA's Release Notes link to generate content for the RELEASE_NOTES.txt file. Be sure to select 'Text' format. (It's OK to do this with a direct commit rather than a patch.)
- Tag the release candidate (R is the release candidate number, and also starts from 0):
Code Block svn copy https://svn.apache.org/repos/asf/hive/branches/branch-X.Y \ https://svn.apache.org/repos/asf/hive/tags/release-X.Y.Z-rcR -m "Hive X.Y.Z-rcR release."
Building
- Make sure your the release notes have been updated for any new commits, and go through the previous steps if necessary.
- Build the release (binary and source versions) after running unit tests. Note that this will generate MD5 checksum files automatically.
No Format % ant -Dversion=X.Y.Z clean test tar binary
- Verify that the MD5 checksums are valid:
No Format % md5sum -c hive-X.Y.Z.tar.gz.md5 hive-X.Y.Z.tar.gz: OK % md5sum -c hive-X.Y.Z-bin.tar.gz.md5 hive-X.Y.Z-bin.tar.gz: OK
- Check that release file looks ok - e.g. install it and run examples from tutorial.
- Setup your PGP keys for signing the release, if you don't have it
- Sign the release (see Step-By-Step Guide to Mirroring Releases for more information).
No Format % gpg --armor --output hive-X.Y.Z.tar.gz.asc --detach-sig hive-X.Y.Z.tar.gz % gpg --armor --output hive-X.Y.Z-bin.tar.gz.asc --detach-sig hive-X.Y.Z-bin.tar.gz
- Copy release files to a public place.
No Format % ssh people.apache.org mkdir public_html/hive-X.Y.Z-candidate-0 % scp -p hive-X.Y.Z*.tar.gz* people.apache.org:public_html/hive-X.Y.Z-candidate-0
- Publish Maven artifacts to the Apache staging repository:
No Format % ant -Dversion=X.Y.Z -Dmvn.publish.repo=staging maven-build % ant -Dversion=X.Y.Z -Dmvn.publish.repo=staging maven-publish
- Login to the Apache Nexus server and "close" the staged repository. This makes the artifacts available at a temporary URL.
...