Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  1. Retrieve the subversion dev madlib repo
    Example: svn checkout https://dist.apache.org/repos/dist/dev/madlib/ --username=<your apache user id>
  2. Create a local folder for the release (e.g. 1.11.RC1) in svn. We use apache's distribution repo: https://dist.apache.org/repos/dist/dev/madlib/
  3. Move the files into the release folder on local disk
  4. svn add <release folder>
  5. Commit artifacts:
    Example: svn commit -m 'adding 1.11 RC1 candidate release artifacts' --username=<your apache user id>

Create PostgreSQL Extension Network Release

Artifacts are uploaded to the Apache MADlib extension product location on the PostgreSQL Extension Network (PGXN): https://pgxn.org/dist/madlib/:

Here are the general steps (used for 1.12 release)::

  1. git clone git@github.com:apache/madlib.git
  2. cd madlib
  3. git branch MADLIB-1.12 rel/v1.12
  4. git checkout MADLIB-1.12
  5. mkdir build; cd build
  6. make pgxn
  7. Upload Release through PGXN Manager at https://manager.pgxn.org (request credentials from dev list). The built artifact will reside in deploy/PGXN/madlib-pgxn-2.0.0.zip in your build directory.

Verification steps:

  1. sudo easy_install pgxnclient
  2. sudo chmod a+w /usr/local
  3. sudo rm -rf /usr/local/madlib
  4. pgxn install madlib
  5. dropdbmadlibtest; createdbmadlibtest; /usr/local/madlib/bin/madpack -s madlib -p postgres install
  6. /usr/local/madlib/bin/madpack -s madlib -p postgres install-check

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

...

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 to the user and dev mailing lists calling for the vote (link to the example is below). 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 the community calling for the vote can be found in Apache mail archives site here.

Once the community vote has been completed, the The MADlib user and developer communities have to vote on every release. The release manager must send out an email to the user and dev mailing lists calling for the vote (link to the example is below). 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 the community calling for the vote can be found in Apache mail archives site here.

with the results of the vote.  If other scenarios arise in the voting process, please refer to experienced community members or other similar projects for guidance on next steps.

Example email to the community with the results of the vote.

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 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.  If other scenarios arise in the voting process, please refer to experienced community members or other similar projects for guidance on next steps.(link to an example is 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. 

Example email to the community with the results of the vote.

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 (link to an example is 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. 

Example email to the Incubator PMC calling for their vote on the release candidate.

In addition to the above example email, it is also recommended to include this link to the licensing guidance from the ASF when calling an IPMC vote, because it describes the guidance from the ASF regarding MADlib's particular licensing history.  This is to make it easier for IPMC members who are reviewing the release and may not be familiar with MADlib's license history and transition to the ASF.

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.

Example email to the Incubator PMC with the results of the vote.

 

Publishing, distributing and announcing the Release

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

Once the release candidate has successfully passed through the voting processes, it is ready to be GA.

...

Remove old releases from the dev dist sites

  1. Retrieve the subversion release madlib repo if you have not done so already
    Example: svn checkout https://dist.apache.org/repos/dist/dev/madlib/ --username=<your apache user id>

  2. Delete the folders from local working copy using svn delete <folder to delete>
    E.g. svn delete 1.12.RC1/
  3. Commit the deletions: svn commit -m 'Removing 1.12 RC releases' --username=<your apache user id>

...

  1. Upload latest release documentation (including docs/latest symlink)
  2. Update Download page
  3. Upload latest design.pdf
  4. Update MADlib home page with release news

...

  1. git tag -u 57325522 --sign rel/v1.12 -m "Apache MADlib 1.12" 46795de0254d2cb7755ee9336be5fef2a187e8c9

...

Incubator PMC calling for their vote on the release candidate.

In addition to the above example email, it is also recommended to include this link to the licensing guidance from the ASF when calling an IPMC vote, because it describes the guidance from the ASF regarding MADlib's particular licensing history.  This is to make it easier for IPMC members who are reviewing the release and may not be familiar with MADlib's license history and transition to the ASF.

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.

Example email to the Incubator PMC with the results of the vote.

 

...

Publishing, distributing and announcing the Release

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

Once the release candidate has successfully passed through the voting processes, it is ready to be GA.

  1. Move the source, binaries and corresponding signature files from staging (dev) folder to the release dist site: https://dist.apache.org/repos/dist/release/madlib/ . Use the svn mv command. Example below:
    svn mv https://dist.apache.org/repos/dist/dev/madlib/1.12.RC1/ https://dist.apache.org/repos/dist/release/madlib/1.12/

  2. Remove old releases from the dev dist sites

    1. Retrieve the subversion release madlib repo if you have not done so already
      Example: svn checkout https://dist.apache.org/repos/dist/dev/madlib/ --username=<your apache user id>

    2. Delete the folders from local working copy using svn delete <folder to delete>
      E.g. svn delete 1.12.RC1/
    3. Commit the deletions: svn commit -m 'Removing 1.12 RC releases' --username=<your apache user id>
  3. Update the user docs link to point to the correct version of the docs and also update any version numbers / links in the page content: http://madlib.apache.org/docs/latest/. Update the MADlib website ... review previous release commits for details:
    1. Upload latest release documentation (including docs/latest symlink)
    2. Update Download page
    3. Upload latest design.pdf
    4. Update MADlib home page with release news
  4. Apply release tag referencing git hash representing final release candidate:
    1. git tag -u 57325522 --sign rel/v1.12 -m "Apache MADlib 1.12" 46795de0254d2cb7755ee9336be5fef2a187e8c9
  5. Announce the release on announce@apache.orguser@madlib.apache.org and dev@madlib.apache.org mailing lists. See example email of past announcement.

 

...

Create PostgreSQL Extension Network Release

Artifacts are uploaded to the Apache MADlib extension product location on the PostgreSQL Extension Network (PGXN): https://pgxn.org/dist/madlib/ .  Please do this only after there is an official Apache release.

Here are the general steps (used for 1.12 release)::

  1. git clone git@github.com:apache/madlib.git
  2. cd madlib
  3. git branch MADLIB-1.12 rel/v1.12
  4. git checkout MADLIB-1.12
  5. mkdir build; cd build
  6. make pgxn
  7. Upload Release through PGXN Manager at https://manager.pgxn.org (request credentials from dev list). The built artifact will reside in deploy/PGXN/madlib-pgxn-2.0.0.zip in your build directory.

Verification steps:

...

  1. sudo easy_install pgxnclient
  2. sudo chmod a+w /usr/local
  3. sudo rm -rf /usr/local/madlib
  4. pgxn install madlib
  5. dropdbmadlibtest; createdbmadlibtest; /usr/local/madlib/bin/madpack -s madlib -p postgres install
  6. /usr/local/madlib/bin/madpack -s madlib -p postgres install-check


...

Miscellaneous

...