...
- Make sure your 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. Manually create the sha256 files.
No Format % mvn install -Pdist,iceberg -DskipTests -Dmaven.javadoc.skip=true -DcreateChecksum=true % cd packaging/target % shasum -a 256 apache-hive-X.Y.Z-bin.tar.gz > apache-hive-X.Y.Z-bin.tar.gz.sha256 % shasum -a 256 apache-hive-X.Y.Z-src.tar.gz > apache-hive-X.Y.Z-src.tar.gz.sha256
Verify that the SHA 256 checksums are valid:
No Format % shasum -a 256 -c apache-hive-X.Y.Z-bin.tar.gz.sha256 apache-hive-X.Y.Z-bin.tar.gz: OK % shasum -a 256 -c apache-hive-X.Y.Z-src.tar.gz.sha256 apache-hive-X.Y.Z-src.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 them already.
No Format % gpg --full-generate-key % gpg --keyserver hkp://keyserver.ubuntu.com --send-keys <PUB_KEY> % svn co --depth files https://dist.apache.org/repos/dist/release/hive % cd hive % (gpg --list-sigs <NAME> && gpg --armor --export <NAME>) >> KEYS % svn add KEYS % svn commit -m 'Adding <FullName>'s key'
Sign the release (see Step-By-Step Guide to Mirroring Releases for more information).
No Format % gpg --armor --output apache-hive-X.Y.Z-bin.tar.gz.asc --detach-sig apache-hive-X.Y.Z-bin.tar.gz % gpg --armor --output apache-hive-X.Y.Z-src.tar.gz.asc --detach-sig apache-hive-X.Y.Z-src.tar.gz
Follow instructions in https://www.apache.org/dev/release-publishing.html#distribution to push the new release artifacts (tar.gz, tar.gz.asc, tar.gz.sha256) to the SVN staging area of the project (https://dist.apache.org/repos/dist/dev/hive/). Make sure to create a new directory for the release candidate. You may need PMC privileges to do this step – if you do not have such privileges, please ping a PMC member to do this for you.
No Format svn co --depth empty https://dist.apache.org/repos/dist cd dist svn update --set-depth empty dev svn update --set-depth empty dev/hive mkdir dev/hive/rXhive-X.Y.Z/ cp <hive-source-dir>/packaging/target/apache-hive-X.Y.Z*.tar.gz* dev/hive/r.hive-X.Y.Z/ svn add dev/hive/rXhive-X.Y.Z svn commit -m "Hive X.Y.Z release"
Publish Maven artifacts to the Apache staging repository. Make sure to have this setup for Apache releases. Use committer setting.xml.
Note: If you get an error
gpg: signing failed: Inappropriate ioctl for device,
try doing `export GPG_TTY=$(tty)`
Note: if you have multiple gpg keys, you may need to specify which key to use via -Dgpg.keyname=<PRIV_KEY>
No Format % mvn deploy -DskipTests -Papache-release,iceberg -Dmaven.javadoc.skip=true
- Login to the Apache Nexus server and "close" the staged repository. This makes the artifacts available at a temporary URL.
...