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

Compare with Current View Page History

« Previous Version 7 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 MADlib JIRA issues that are addressed in this release are marked with the release version in the ‘FixVersion’ field of the issue.

 


Creating and Validating the Release Candidate

  • Build is successful (Refer to Build and Install for build instructions)
  • DISCLAIMER is correct, filenames include “incubating”
  • LICENSE and NOTICE files are correct and dependency licenses are acceptable
  • All source files have license headers where appropriate, RAT checks pass
    • Additional check:
      • pom.xml (For artifactId "hawq", verify version is consistent with the version specified in getversion file in the root directory).
  • The provenance of all source files is clear (ASF or software grants)
  • Create the Release Candidate
  • Sign the Release Candidate
  • Verify the Release Candidate signatures
  • Commit artifacts to the Apache dist site 


Create the Release Candidate

Prepare Tarballs

Send email to dev@madlib.incubator.apache.org for instructions on how to do this.

Prepare rpm and dmg binaries

Send email to dev@madlib.incubator.apache.org for instructions on how to do this.


Sign the Release Candidate

Check that md5, shasum, and gpg (or gpg2) are installed on your machine:

$ which gpg shasum md5
/usr/local/bin/gpg
/usr/bin/shasum
/sbin/md5

Install using Hombrew (on Mac OS) if needed e.g.:

$ brew install gnupg
==> Downloading ftp://ftp.gnupg.org/gcrypt/gnupg/gnupg-1.4.19.tar.bz2
######################################################################## 100.0%
==> ./configure --disable-silent-rules --prefix=/usr/local/Cellar/gnupg/1.4.19 --disable-asm
==> make
==> make check
==> make install

    /usr/local/Cellar/gnupg/1.4.19: 53 files, 5.4M, built in 87 seconds
office-4-125:release_manager_stuff rraghu$ which gpg
/usr/local/bin/gpg

 

Prepare MD5, SHA256 and ASC files from the source tarball and binaries:

md5 <your release tarball or binary> > <your release tarball or binary>.md5
shasum -a 512 <your release tarball or binary> > <your release tarball or binary>.sha512
gpg --detach-sign -a <your release tarball or binary>

Example:

$ md5 apache-madlib-1.11-incubating-src.tar.gz > apache-madlib-1.11-incubating-src.tar.gz.md5
$ shasum -a 512 apache-madlib-1.11-incubating-src.tar.gz > apache-madlib-1.11-incubating-src.tar.gz.sha512
$ gpg --detach-sign -a apache-madlib-1.11-incubating-src.tar.gz

You need a passphrase to unlock the secret key for
user: "Rashmi Raghu (CODE SIGNING KEY) <rashmiraghu@apache.org>"
4096-bit RSA key, ID 28D2C789, created 2017-05-01

 

$ ls -la

-rw-r--r--@ 1 rraghu staff 9961787 May 1 13:55 apache-madlib-1.11-incubating-bin-Darwin.dmg
-rw-r--r-- 1 rraghu staff 819 May 1 14:29 apache-madlib-1.11-incubating-bin-Darwin.dmg.asc
-rw-r--r-- 1 rraghu staff 86 May 1 14:27 apache-madlib-1.11-incubating-bin-Darwin.dmg.md5
-rw-r--r-- 1 rraghu staff 175 May 1 14:28 apache-madlib-1.11-incubating-bin-Darwin.dmg.sha512
-rw-r--r--@ 1 rraghu staff 3868116 May 1 13:55 apache-madlib-1.11-incubating-bin-Linux-GPDB5alpha1.rpm
-rw-r--r-- 1 rraghu staff 819 May 1 14:48 apache-madlib-1.11-incubating-bin-Linux-GPDB5alpha1.rpm.asc
-rw-r--r-- 1 rraghu staff 97 May 1 14:46 apache-madlib-1.11-incubating-bin-Linux-GPDB5alpha1.rpm.md5
-rw-r--r-- 1 rraghu staff 186 May 1 14:47 apache-madlib-1.11-incubating-bin-Linux-GPDB5alpha1.rpm.sha512
-rw-r--r--@ 1 rraghu staff 18527053 May 1 13:55 apache-madlib-1.11-incubating-bin-Linux.rpm
-rw-r--r-- 1 rraghu staff 819 May 1 14:43 apache-madlib-1.11-incubating-bin-Linux.rpm.asc
-rw-r--r-- 1 rraghu staff 85 May 1 14:41 apache-madlib-1.11-incubating-bin-Linux.rpm.md5
-rw-r--r-- 1 rraghu staff 174 May 1 14:41 apache-madlib-1.11-incubating-bin-Linux.rpm.sha512
-rw-r--r--@ 1 rraghu staff 2474217 May 1 13:56 apache-madlib-1.11-incubating-src.tar.gz
-rw-r--r-- 1 rraghu staff 819 May 1 14:45 apache-madlib-1.11-incubating-src.tar.gz.asc
-rw-r--r-- 1 rraghu staff 82 May 1 14:44 apache-madlib-1.11-incubating-src.tar.gz.md5
-rw-r--r-- 1 rraghu staff 171 May 1 14:45 apache-madlib-1.11-incubating-src.tar.gz.sha512

 

Validate the Release Candidate 

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

  • PGP signatures and SHA256/MD4 checksum verification

Example (performed on Mac OS):

$ brew install gpg coreutils

$ which gpg gsha512sum gmd5sum
/usr/local/bin/gpg
/usr/local/bin/gsha512sum
/usr/local/bin/gmd5sum

$ gpg --verify apache-madlib-1.11-incubating-bin-Linux.rpm.asc
gpg: assuming signed data in `apache-madlib-1.11-incubating-bin-Linux.rpm'
gpg: Signature made Mon May 1 14:42:16 2017 PDT using RSA key ID 28D2C789
gpg: Good signature from "Rashmi Raghu (CODE SIGNING KEY) <rashmiraghu@apache.org>"
$ gsha512sum --check apache-madlib-1.11-incubating-bin-Linux.rpm.sha512
apache-madlib-1.11-incubating-bin-Linux.rpm: OK
$ gmd5sum --check apache-madlib-1.11-incubating-bin-Linux.rpm.md5
apache-madlib-1.11-incubating-bin-Linux.rpm: OK

 

Commit artifacts to Apache dist site:

The Apache dist dev site for MADlib (incubating) is located at: https://dist.apache.org/repos/dist/dev/incubator/madlib/

Uploading to this site is via SVN. Send email to dev@madlib.incubator.apache.org for instructions on how to do this.

 


Vote on the Release

General information regarding the Apache voting process can be found here: http://www.apache.org/foundation/voting.html

Once the release candidate has been created, validated and the artifacts have been uploaded to the Apache dist site, it is time to have the community vote on the release.

Apache MADlib Community Vote

The MADlib user and developer communities have to vote on every release. The release manager must send out an email (example below) to the user and dev mailing lists calling for the vote. A period of 3 business days is the usual time window for the vote. There are three voting options for the community members to choose from:

[ ] +1 approve
[ ] +0 no opinion
[ ] -1 disapprove (and reason why)

Please see the Apache voting process site for information on how many +1 votes are needed, what to do in case of -1 votes and for any clarifications to the voting process. 

Example email to community:

Hello MADlib community,

We have created a MADlib 1.11 RC-3, with the artifacts below (source and convenience binaries) up for a vote.

Note that voting for the RC-2 release has been cancelled due to the need for minor corrections based on community feedback. Sorry for the inconvenience.

RC-3 replaces RC-2 with the following minor changes:
* Ensure product naming is consistently 'Apache MADlib (incubating)'
* Git revision tag changed to rc/1.11-rc3

This will be the 5th release for Apache MADlib (incubating).

The main goals of this release are:
* new module (PageRank for graph analytics with grouping support included)
* improvements to existing modules (add grouping support to Single Source Shortest Path, reduce memory footprint of DT and RF, include NULL features in training DT, add support for array and svec output for Pivot module, utility to unnest 2-D arrays into rows of 1-D arrays)
* platform updates (GPDB 5)
* updates for Apache Top Level Project readiness and build process on Apache infrastructure
* bug fixes
* doc improvements

For more information including release notes, please see:
https://cwiki.apache.org/confluence/display/MADLIB/MADlib+1.11

*** Please download, review and vote by Tue May 09, 2017 @ 6pm PDT ***

We're voting upon the source and convenience binaries below:

Source Repository (tag): rc/1.11-rc3
https://github.com/apache/incubator-madlib/tree/rc/1.11-rc3

Source Files and convenience Binaries:
https://dist.apache.org/repos/dist/dev/incubator/madlib/1.11-incubating-rc3/

Commit:
https://github.com/apache/incubator-madlib/commit/8e2778a3921aa99f009962756881ce4bea5eee16

KEYS file containing PGP Keys we use to sign the release:
https://dist.apache.org/repos/dist/dev/incubator/madlib/KEYS

To help in tallying the vote, PMC members please be sure to indicate "(binding)" with the vote.

[ ] +1 approve
[ ] +0 no opinion
[ ] -1 disapprove (and reason why)


Regards,

Once the community vote has been completed, the release manager must send out an email to the user and dev mailing lists with the results of the vote. Below is an example email for a successful round of voting. If other scenarios arise in the voting process, please refer to experienced community members or other similar projects for guidance on next steps.

Hello MADlib Community,

Thank you to all community members who voted.

Below is the tally of the votes:

+1 (binding):
none

+1 (non binding):
Joseph Hellerstein
Rahul Iyer
Orhan Kislal
Nandish Jayaram
Frank McQuillan
Woo Jung

0, -1 or other votes:
none

I will post an email vote request to general@incubator.apache.org and indicate to the ASF incubator principles that the MADlib community has endorsed the release of the v1.11-rc3 artifacts.

Regards,

 

Incubator PMC Vote

Once the community vote has been successfully completed and results have been sent to the community, a round of voting by the Incubator PMC is required. The Incubator PMC (or IPMC) oversees all Apache projects in Incubating state. This vote is not needed once the project reaches Top Level status (TLP status).

The release manager must send out an email (example below) to the general@incubator.apache.org mailing list calling for the IPMC vote. A period of 3 business days is the usual time window for the vote. 

Hello Incubator PMC,

The Apache MADlib (incubating) community has voted on and approved the proposal to release MADlib v1.11-rc3.

The voting result is available at:
http://mail-archives.apache.org/mod_mbox/incubator-madlib-dev/201705.mbox/%3CCAMtNjo%3Dwq0qQmJRTqAnef%2BtuTawXm508pQmLAcvWho0fOfkEmQ%40mail.gmail.com%3E

This will be the 5th release for Apache MADlib (incubating).

The main goals of this release are:
* new module (PageRank for graph analytics with grouping support included)
* improvements to existing modules (add grouping support to Single Source Shortest Path, reduce memory footprint of DT and RF, include NULL features in training DT, add support for array and svec output for Pivot module, utility to unnest 2-D arrays into rows of 1-D arrays)
* platform updates (GPDB 5)
* updates for Apache Top Level Project readiness and build process on Apache infrastructure
* bug fixes
* doc improvements

For more information including release notes, please see:
https://cwiki.apache.org/confluence/display/MADLIB/MADlib+1.11

To run check RAT, please do:

$mvn verify

first to get the correct RAT output. Look inside of pom.xml to see the
classes of exceptions we're managing there for RAT.

We're voting upon the source and convenience binaries below:

Source Repository (tag): rc/1.11-rc3
https://github.com/apache/incubator-madlib/tree/rc/1.11-rc3

Source Files and convenience Binaries:
https://dist.apache.org/repos/dist/dev/incubator/madlib/1.11-incubating-rc3/

Commit:
https://github.com/apache/incubator-madlib/commit/8e2778a3921aa99f009962756881ce4bea5eee16

KEYS file containing PGP Keys we use to sign the release:
https://dist.apache.org/repos/dist/dev/incubator/madlib/KEYS

For your convenience, the recent ASF licensing guidance to the MADlib community is summarized here:
https://cwiki.apache.org/confluence/display/MADLIB/ASF+Licensing+Guidance

Please vote:

[ ] +1 approve
[ ] +0 no opinion
[ ] -1 disapprove (and reason why)

*** The vote will be open until Monday May 15 at 6 pm Pacific time. ***

Regards,

After the IPMC voting has been successfully completed, the release manager must send an email to general@incubator.apache.org with the results of the vote. At this point the release candidate is ready to become GA.

 


Publishing and Distributing Release

Send email to dev@madlib.incubator.apache.org for instructions on how to do this.

 


Announce the Release

General Apache information regarding announcing a release may be found here.

 


Miscellaneous

 

  • No labels