Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Improve announce email to consider deprecation of MapReduce and removal of Spark in recent versions

...

  1. After the release vote passes, push the artifacts to Nexus.  (If you get an error gpg: signing failed: Inappropriate ioctl for device trying doing export GPG_TTY=$(tty) .)

    No Format
    % git checkout storage-release-X.Y.Z-rcR
    % cd storage-api
    % mvn -Papache-release -DskipTests clean deploy


  2. Login to Nexus and close the repository. Mark the repository as released.
  3. Create the final tag (be very careful, tags in "rel/" are not changeable).

    No Format
    % git checkout storage-release-X.Y.Z-rcR
    % git tag -s rel/storage-release-X.Y.Z -m "Hive Storage API X.Y.Z"
    % git push origin rel/storage-release-X.Y.Z


  4. Add the artifacts to Hive's dist area. There might be a problem with the size of the artifact.
    Jira
    serverASF JIRA
    serverId5aa69414-a9e9-3523-82ec-879b028fb15b
    keyINFRA-23055
    solved the issue.
No Format
% svn checkout https://dist.apache.org/repos/dist/release/hive hive-dist
% cd hive-dist
% mkdir hive-storage-X.Y.Z
% cd hive-storage-X.Y.Z
% wget https://home.apache.org/~YOUR-APACHE-ID/hive-storage-X.Y.Z/hive-storage-X.Y.Z-rcR.tar.gz{,.sha256,.asc}
% svn add .
% svn commit

...

  1. Make sure your release notes have been updated for any new commits, and go through the previous steps if necessary.
  2. 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


  3. 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
    


  4. Check that release file looks ok -- e.g., install it and run examples from tutorial.
  5. Setup your PGP keys for signing the release, if you don't have them already.
    1. See https://www.apache.org/dev/release-signing.html, https://www.apache.org/dev/openpgp.html.

    Sign the release (see Step-By-Step Guide to Mirroring Releases for more information).

    No Format
    % gpg --armor full-generate-outputkey
    % gpg apache-hive-X.Y.Z-bin.tar.gz.asc-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'


  6. Sign the release (see Step-By-Step Guide to Mirroring Releases for more information).

    No Format
    % gpg --armor --detach-sig apache-hive-X.Y.Z-bin.tar.gz
    % gpg --armor --output apache-hive-X.Y.Z-srcbin.tar.gz.asc --detach-sig apache-hive-X.Y.Z-srcbin.tar.gz
    

    Copy release files to a public place.

    No Format
    % sftp YOUR-APACHE-ID@home.apache.org
    sftp> cd public_html
    sftp> mkdir% gpg --armor --output apache-hive-X.Y.Z-rc-0
    sftp> cd apache-hive-X.Y.Z-rc-0
    sftp> putsrc.tar.gz.asc --detach-sig apache-hive-X.Y.Z*-src.tar.gz*
    sftp> quit
     


  7. 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/rX.Y.Z/
    
    cp <hive-source-dir>/packaging/target/apache-hive-X.Y.Z*.tar.gz* dev/hive/r.X.Y.Z/
    svn add dev/hive/rX.Y.Z
    svn commit -m "Hive X.Y.Z release" 


  8. Publish 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 trying doing , 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
    
    


  9. Login to the Apache Nexus server and "close" the staged repository. This makes the artifacts available at a temporary URL.

...

  1. Tag the release and delete the release candidate tag:

    No Format
    git tag -s rel/release-X.Y.Z release-X.Y.Z-rcR -m "HiveX.Y.Z release."  # where -rcR was the last tagged release candidate that passed the vote that passed the vote
    git push origin rel/release-X.Y.Z
    git tag -d release-X.Y.Z-rcR
    git push origin rel/:release-X.Y.Z
    git tag -d release-X.Y.Z-rcR
    git push origin :release-X.Y.Z-rcR
  2. Follow instructions in https://www.apache.org/dev/release-publishing.html#distribution to push the new release artifacts to https://www.apache.org/dist/, making sure to create a new directory for the new release, and re-linking the stable link to the latest build. Note that you need PMC privileges to do this step  if you do not have such privileges, please ping a PMC member to do this for you.

  3. -rcR


  4. Move the release artifacts to the release area of the project (https://dist.apache.org/repos/dist/release/hive/). Using svn mv command is important otherwise you may hit size limitations applying to artifacts(

    Jira
    serverASF JIRA
    serverId5aa69414-a9e9-3523-82ec-879b028fb15b
    keyINFRA-23055
    )

    No Format
    svn mv https://dist.apache.org/repos/dist/dev/hive/hive-X.Y.Z https://dist.apache.org/repos/dist/release/hive/hive-X.Y.Z -m "Move hive-X.Y.Z release from dev to release"


  5. Wait till the release propagates to the mirrors and appears under: https://dlcdn.apache.org/hive/Wait 24 hours for release to propagate to mirrors.
  6. In your base hive source directory, generate javadocs as follows:

    No Format
    mvn clean install javadoc:javadoc javadoc:aggregate -DskipTests -Dadditionalparam=-Xdoclint:nonePjavadoc

    After you run this, you should have javadocs present in your <hive_source_dir>/target/site/apidocs

  7. Check out the javadocs svn repository as follows:

    No Format
    svn co --depth empty https://svn.apache.org/repos/infra/websites/production/hive/content/javadocs


  8. Copy the generated javadocs from the source repository to the javadocs repository, add and commit:

    No Format
    mkdir <hive_javadocs_repo_dir>/rX.Y.Z/
    cd <hive_javadocs_repo_dir>
    cp -r <hive_source_dir>/target/site/apidocs ./rX.Y.Z/api
    svn add rX.Y.Z
    svn commit

    If this is a bugfix release, svn rm the obsoleted version. (For eg., when committing javadocs for r0.13.1, r0.13.0 would have been removed)

  9. Prepare to edit the website.

    No Format
    svngit coclone https://svngithub.com/apache.org/repos/asf/hive/cms/trunkhive-site.git


  10. Edit files content/downloads.mdtext and javadoc.mdtext to appropriately add entries for the new release in the appropriate location. For example, for 1.2.0, the entries made were as follows:

    Code Block
    languagetext
    ./content/downloads.mdtextmd:### 18 May 2015 : release 1.2.0 available
    ./content/downloads.mdtextmd:You can look at the complete [JIRA change log for this release][HIVE_1_2_0_CL].
    ./content/downloads.mdtextmd:[HIVE_1_2_0_CL]: https://issues.apache.org/jira/secure/ReleaseNote.jspa?version=12329345&styleName=Text&projectId=12310843
    ./content/javadoc.mdtextmd:  * [Hive 1.2.0 Javadocs][r1.2.0]
    ./content/javadoc.mdtextmd:[r1.2.0]: /javadocs/r1.2.0/api/index.html

    As you can see, you will need a release note link for this release as created previously for this section.

  11. Go to Push your changes to the https://hivegithub.staging.com/apache.org/hive/ , get the hive working copy, force a new copy if you don't see your changes yet, and then ask it to publish the new copy. That should update the downloads and javadocs page as per the changes you made to downloads.mdtext, javadoc.mdtext earlier, and also make available the new javadocs. If you don't see it yet, you may have to wait 24 hours - it should be there by then-site/tree/gh-pages branch, and you can preview the results at https://apache.github.io/hive-site/. If everything is ok, then you can push your changes to https://github.com/apache/hive-site/tree/main branch and see the results at https://hive.apache.org/ site.

  12. Update JIRA
    1. Ensure that only issues in the "Fixed" state have a "Fix Version" set to release X.Y.Z.
    2. Release the version. Visit the releases page.  Select the version number you are releasing, and hit the release button. You need to have the "Admin" role in Hive's Jira for this step and the next.
    3. Close issues resolved in the release. Disable mail notifications for this bulk change.

  13. Login to the Apache Nexus server and mark the release candidate artifacts as released.

  14. Add the release in Apache Committee Report Helper for the next board report to pick that up automatically. 

  15. Send a release announcement to Hive user and dev lists as well as the Apache announce list. This email should be sent from your Apache email address:

    No Format
    From: you@apache.org
    To: user@hive.apache.org, dev@hive.apache.org, announce@apache.org
    Subject: [ANNOUNCE] Apache Hive X.Y.Z Released
    
    The Apache Hive team is proud to announce the release of Apache Hive
    version X.Y.Z.
    
    The Apache Hive (TM) data warehouse software facilitates querying and
    managing large datasets residing in distributed storage. Built on top
    of Apache Hadoop (TM), it provides, among others:
    
    * Tools to enable easy data extract/transform/load (ETL)
    
    * A mechanism to impose structure on a variety of data formats
    
    * Access to files stored either directly in Apache HDFS (TM) or in other
      data storage systems such as Apache HBase (TM)
    
    * Query execution via Apache Hadoop MapReduce, Apache Tez and Apache Spark frameworks. (MapReduce is deprecated, and Spark has been removed so the text needs to be modified depending on the release version)
    
    For Hive release details and downloads, please visit:
    https://hive.apache.org/downloads.html
    
    Hive X.Y.Z Release Notes are available here: [UPDATE THIS LINK]
    https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12310843&version=12316178 
    
    We would like to thank the many contributors who made this release
    possible.
    
    Regards,
    
    The Apache Hive Team
    


...