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

Compare with Current View Page History

« Previous Version 17 Next »



Preliminaries

Apache Release Documentation

Code Signing Key

Create a code signing gpg key for release signing; use <your Apache ID>@apache.org for your primary ID for the code signing key. See the Apache Release Signing documentation for further information.

Ensure JIRA Issues are Appropriately Tagged for the Release 

Ensure that all HAWQ JIRA issues that are addressed in this release are marked with the release version in the ‘FixVersion’ field of the issue.

 


Create the Release Candidate

Prepare Tarballs

    1. Tag your release: (or create a release branch)

      git tag -a <tag name> <commit SHA> -m "<message for the tag>" 
      push to origin:
      git push origin <tag name> -m "<tag description message>"
  1. Make a tarball and gzip:
    git archive -o ../apache-hawq-src-<your release name>.tar --prefix=apache-hawq-src-<your release name>/ <your tag/branch name>
    gzip ../apache-hawq-src-<your release name>.tar

    Example:

    $ git archive -o ../apache-hawq-src-2.1.0.0-incubating.tar --prefix=apache-hawq-src-2.1.0.0-incubating/ 2.1.0.0-incubating
    $ ls -al ../apache-hawq-src-2.1.0.0-incubating.tar
    -rw-r--r-- 1 espino staff 183347200 Jan 10 11:02 ../apache-hawq-src-2.1.0.0-incubating.tar
    $ gzip ../apache-hawq-src-2.1.0.0-incubating.tar
    $ ls -al ../apache-hawq-src-2.1.0.0-incubating.tar.gz
    -rw-r--r-- 1 espino staff 35214063 Jan 10 11:02 ../apache-hawq-src-2.1.0.0-incubating.tar.gz

  2.  Prepare MD5, SHA256 and ASC files from the tarball

    md5 apache-hawq-src-<your release name>.tar.gz > apache-hawq-src-<your release name>.tar.gz.md5
    shasum -a 256 apache-hawq-src-<your release name>.tar.gz > apache-hawq-src-<your release name>.tar.gz.sha256 
    gpg --detach-sign -a apache-hawq-src-<your release name>.tar.gz

    Example:

    $ md5 apache-hawq-src-2.1.0.0-incubating.tar.gz > apache-hawq-src-2.1.0.0-incubating.tar.gz.md5
    $ shasum -a 256 apache-hawq-src-2.1.0.0-incubating.tar.gz > apache-hawq-src-2.1.0.0-incubating.tar.gz.sha256
    $ gpg --detach-sign -a apache-hawq-src-2.1.0.0-incubating.tar.gz
    You need a passphrase to unlock the secret key for
    user: "Edward Bartolo Espino (CODE SIGNING KEY) <espino@apache.org>"
    4096-bit RSA key, ID 57325522, created 2017-01-09

    $ ls -al apache-hawq-src-2.1.0.0-incubating*
    -rw-r--r-- 1 espino staff 35214063 Jan 10 11:04 apache-hawq-src-2.1.0.0-incubating.tar.gz
    -rw-r--r-- 1 espino staff 819 Jan 10 11:09 apache-hawq-src-2.1.0.0-incubating.tar.gz.asc
    -rw-r--r-- 1 espino staff 83 Jan 10 11:10 apache-hawq-src-2.1.0.0-incubating.tar.gz.md5
    -rw-r--r-- 1 espino staff 84 Jan 10 11:10 apache-hawq-src-2.1.0.0-incubating.tar.gz.sha256
  3. Retrieve the subversion dev incubator hawq repo
    Example: svn checkout https://dist.apache.org/repos/dist/dev/incubator/hawq/ --username=<your user name>
  4. create a local folder for the release (e.g. 2.0.0-0-incubating.RC1) in svn. We use apache's distribution repo: https://dist.apache.org/repos/dist/dev/incubator/hawq/
  5. move the files into the release folder on local disk.
  6. svn add <release folder>
  7. svn commit

Validate the Release Candidate 

As per the Apache documentation, verify that the release candidate artifacts satisfy the following:

Start Voting

  1. Vote in dev@ mailing list, see example here

  2. After collecting enough votes from dev@ mailing list, start vote in IPMC (or PPM if graduated).  see example here

  3. Respin as needed and file appropriate JIRAs to address feedback

  4. As soon as Vote result comes out, send out a [Result][Vote] email, see example here

Publishing and Distributing Release

  1. Finalizing your tag
    switching to master branch
    git tag -s rel/v{version} <commit SHA> -m "Apache HAWQ(incubating) {version) release (<other comments>)"

     

    Sign your release tag

    You need to configure your git user signing key first before you can sign a tag.

    git config --global user.signingkey <Your secret key SHA>
  2. Push your tag to remote (origin)
    git push origin rel/v{version}
     
  3. Move tarballs from staging folder to release location:

    svn mv https://dist.apache.org/dist/dev/incubator/hawq/{version}.RC#/ https://dist.apache.org/dist/release/incubator/hawq/{version}

    Commit Message

    As if you put https URL in svn commands, it'll commit automatically. A text editor will popup for you to edit commit message, put something like: "Release Apache HAWQ(incubating) {{version}}"

  4. Add download link on hawq website: http://hawq.apache.org/
  5. Go to http://issues.apache.org/jira/browse/hawq to release the specific version (need admin permisison , under "Version")
  6. Send email announcement to general@ and dev@ mailing list to announce the release. see example here

 

 

  • No labels