(UPDATED - Nov/20/ 2015)

Based on several ASF resources, the release activities can be broadly split into the following 4 phases:

#Activity BucketDetailed activities/ tasks
1Scope & Preparation
  • Features included in the release
  • Version # consensus
  • Repo (git) preparation
  • Testing
2

Packaging & Signing RC

Release Check

  • Mandatory Release items
  • Optional Release items
3Voting & Approvals
  • Voting/ PMC
  • Final approval to publish
4Publishing & Announcements
  • Artifacts in repo
  • Docs on website
  • Announcement on distribution list

For step (2), following are the release items as extracted from Incubator's reference pages:

Release Management

Release

Checklist

Release Items/ References

Status/ Readiness

Owner/ Notes

Mandatory items

  

Checksums and PGP signatures are valid

See the Release Signing dev documentation.

Need to initiate process - need to be a committer.Release manager

Build is successful including automated tests

The expanded source archive is expected to build and pass tests.

Unit tests pass; DUnit in pre-check-inRelease manager

DISCLAIMER is correct, filenames include "incubating"

See the Podling Branding Guide.

Validate 'EVERY' build artifactsRelease manager

Top-level LICENSE and NOTICE are correct for each distribution.

See the Licensing How-To, plus various pages under Legal Affairs.

Top-level files already present in project root. Need to update for release.Release manager (w/ help)

All source files have license headers where appropriate.

See the ASF Source Header and Copyright Notice Policy.

Tied to GEODE-18Release manager (w/ help)

The provenance of all source files is clear (ASF or software grants).

See the IP clearance section of the Mentor's guide, as well as the Releases section of the Incubator's policy page.

Does ASF have Pivotal's (or EMC's, VMware's, Gemstone's) CCLA on file?PMC/ Mentor to help

Dependencies licenses are ok as per http://apache.org/legal/

See ASF Legal Previously Asked Questions

Validate w/ RAT.Release manager (w/ Mentor?)

Release consists of source code only, no binaries

Each Apache release must contain a source package. This package may not contain compiled components (such as "jar" files) because compiled components are not open source, even if they were built from open source.

Validate build artifactRelease manager

Alternate Release process(?)

This section explains an alternate release procedure established in December 2013, as documented in the Incubator's incubation policy page. It is available only to selected podlings.

Once a release candidate is ready, the Release Manager creates a Release Manifest as a plain text file at http://svn.apache.org/repos/asf/incubator/public/trunk/votes/$PODLING and fills in all initial fields.

Release manager

Is this available to Geode?

Optional items (from the checklist)

  

Build instructions are provided, unless obvious.

Make sure that users do not have to guess how to build the project.

OKCurrent README.txt and COMPILING.txt are sufficient

Each expanded source archive matches the corresponding SCM tag

It is important that any release can be reproduced from the source at any time in the future. Apache releases have long active lives and are permanently archived. It may be necessary (for example, for legal reasons) to provide a new release that is a slight alteration of a previous release. Release managers owe it to those who come afterwards to use build processes that are reproducible.

Need a release branch created with identical version name.

Release manager?

RAT report clean.

To assist license header checking, some projects use RAT -- possibly running it via Maven or another build tool.

Build task runs rat. Verify no suspect rat excludes

Check with Dick or Niall

Change log clean.

If the project provides release notes, such as in a CHANGES file, make sure that the file is up-to-date.

Need to check/ validate the contents of the Change Log (Release Notes)Check with Mark Bretl

All copyright dates current.

If there are copyright dates in files other than NOTICE, ensure that these are up to date.

Need to check as part of initial licensing task (GEODE-18)Check with Dick

Issue tracker clean for release version.

Make sure there are no open issues which should block the release.

Need a JIRA scrub/ maintenance task, marking versions for all closed issues that are merged in develop (going into the release)Release manager?

Extended tests pass.

Some projects may have an optional set of tests which are more expensive to run. Just before a release is as good a time as any to see whether they pass.

Are these the CI tests? As of Nov 20th, we have ~35 issues openGet a consensus: should CI tests be targeted for the initial (1.0)? which subsequent release?

Build succeeds on platforms X, Y, Z.

Test that the release builds successfully on all target platforms.

Need to determine if the supported platforms should be the same as original Gemfire docs.Get a consensus: what target build platforms should be included?

Documentation build clean

If the documentation is built as part of the release preparation process, ensure that it built correctly

Two actions here:

  • Documentation on website
  • Javadoc (API) tasks
Create appropriate JIRA tasks.

Downstream distributions build successfully.

If the project provides direct support for downstream distributors (Maven, Debian, CPAN, PyPI, etc), ensure that whatever support is provided works as intended.

Need to check Maven distribution/ repo.

Spring repo?

Create appropriate JIRA tasks.

Binary release does not contain redundant dependency archives.

Avoid wasting bandwidth and space for the sake of mirrors, users, and other downstream consumers.

Need to check final build artifacts.Create an appropriate JIRA task.

 


(OLD DRAFT - from May, 2015)

Apache Geode has the following steps for each release: 

Preparing

- Create a release branch from develop

- Build and run tests++

- Sign it using GPG key

 

GPG key for signing artifacts ?

Publishing


Check details about how to publish to Nexus or repository.apache.org:

http://www.apache.org/dev/publishing-maven-artifacts.html#common

Execute the following steps: …

Call for a vote (PMCs)


A majority vote will be called in the mailing list and will wait for 72 hours (3 days) and if it passes (http://hadoop.apache.org/bylaws#Decision+Making) the release will then be published.

The release may initially be a candidate (RC) that after formally being reviewed and approved by another majority vote will become a public GA release.

Update the website and documentation

 

In order to complete the release it is mandatory to review and update the website content as well as provide documentation about the new features or changes made for the release.

 

These are the steps you need to follow:

 

- Clone website repository

 - Update pages and run gradle website task which will generate content under …

- Clone documentation repository run gradle generateDocs 

 - Update documentation and run 

Publish announcement

After release is complete post a message on the dev list, blog, tweet, sing about it.  Make it public.  (smile)

FAQ

 http://www.apache.org/dev/release.html

 

  • No labels