Return-Path: X-Original-To: apmail-incubator-accumulo-commits-archive@minotaur.apache.org Delivered-To: apmail-incubator-accumulo-commits-archive@minotaur.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 15756965C for ; Mon, 14 Nov 2011 20:20:04 +0000 (UTC) Received: (qmail 15208 invoked by uid 500); 14 Nov 2011 20:20:04 -0000 Delivered-To: apmail-incubator-accumulo-commits-archive@incubator.apache.org Received: (qmail 15183 invoked by uid 500); 14 Nov 2011 20:20:04 -0000 Mailing-List: contact accumulo-commits-help@incubator.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: accumulo-dev@incubator.apache.org Delivered-To: mailing list accumulo-commits@incubator.apache.org Received: (qmail 15176 invoked by uid 99); 14 Nov 2011 20:20:04 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 14 Nov 2011 20:20:04 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=5.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.4] (HELO eris.apache.org) (140.211.11.4) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 14 Nov 2011 20:20:02 +0000 Received: from eris.apache.org (localhost [127.0.0.1]) by eris.apache.org (Postfix) with ESMTP id 60DC32388A40 for ; Mon, 14 Nov 2011 20:19:42 +0000 (UTC) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r798662 - /websites/staging/accumulo/trunk/content/accumulo/governance/releasing.html Date: Mon, 14 Nov 2011 20:19:42 -0000 To: accumulo-commits@incubator.apache.org From: buildbot@apache.org X-Mailer: svnmailer-1.0.8-patched Message-Id: <20111114201942.60DC32388A40@eris.apache.org> Author: buildbot Date: Mon Nov 14 20:19:42 2011 New Revision: 798662 Log: Staging update by buildbot Modified: websites/staging/accumulo/trunk/content/accumulo/governance/releasing.html Modified: websites/staging/accumulo/trunk/content/accumulo/governance/releasing.html ============================================================================== --- websites/staging/accumulo/trunk/content/accumulo/governance/releasing.html (original) +++ websites/staging/accumulo/trunk/content/accumulo/governance/releasing.html Mon Nov 14 20:19:42 2011 @@ -92,20 +92,20 @@

Accumulo Release Guide

-

Accumulo works on a very simple cycle of major releases with the minor releases when needed. The intent is for all major features to be implemented in a major release, with only bug fixes and minor features being included in minor releases. API changes should intend to only be made on major releases, with continued support of previous API for at least one major revision. This will give user code a major revision to convert from the old API to the new API.

+

Accumulo works on a very simple cycle of major releases with the minor releases when needed. The intent is for all major features to be implemented in a major release, with only bug fixes and minor features being included in minor releases. API changes should only be made on major releases, with continued support of the previous API for at least one major revision. This will give user code a major revision to convert from the old API to the new API.

Note: There will be times where API compatibility cannot be maintained, which we understand. However, this should only be considered when there is NO other option.

Major Release

    -
  1. Vote to start the major release process- this should be in consensus with the community and should be discussed on the accumulo-dev mailing list before the next steps take place. The majority of the committers must +1 the vote and all -1s need to be discussed.
      +
    • Vote to start the major release process. This should be in consensus with the community and should be discussed on the accumulo-dev mailing list before the next steps take place. The majority of the committers must +1 the vote and all -1s need to be discussed.
      • There is not a strict time limit between major releases, but some consideration should be made because we don't want to give our early adopters version fatigue.
      • -
      • This will be the feature freeze for the version- Any features considered after this call need a very strong reason for implementation, which can be discussed via mailing list.
      • +
      • This will be the feature freeze for the version. Any features considered after this call need a very strong reason for implementation, which can be discussed via mailing list.
    • -
    • Create a JIRA version for the proceeding release number- this is so we can begin the process of noting which features are bound for the current trunk vs. a future version.
    • -
    • Handle all JIRA tickets assigned for the current major release version- all tickets who's version is changed should have an explanation of why they are not to be handled in the current release.
    • -
    • Once all JIRA tickets against the codebase (documentation tickets do not count) are resolved/redirected, the code will be branched in SVN.
        +
      • Create a JIRA version for the proceeding release number. This is so we can begin the process of noting which features are bound for the current trunk vs. a future version.
      • +
      • Handle all JIRA tickets assigned for the current major release version. Any ticket whose version is changed should have an explanation of why it is not to be handled in the current release.
      • +
      • Once all JIRA tickets against the codebase (except documentation tickets) are resolved/redirected, the code will be branched in SVN.
        • While there is currently a new trunk for the next release, it is highly discouraged to begin committing new features to it because this is when the current release is being tested. Any major bugs found will have to be patched in both versions and we want to make the process as seamless as possible.
        • -
        • New trunk needs to have it's version information updated.
        • +
        • The new trunk needs to have its version information updated.
      • Wrap up any standing documentation endeavors, whether or not there are tickets for them.
      • @@ -115,27 +115,27 @@

        Minor Release

        1. Upon detection and/or resolution of a bug, discussion needs to be made on the accumulo-dev list to determine if the community thinks the bug is critical or if there have been sufficient minor bug fixes to warrant a minor release.
        2. -
        3. Make any necessary documentation changes, included change log.
        4. +
        5. Make any necessary documentation changes, including a change log.
        6. Test the now updated branch as per our testing criteria.
        7. Once testing is deemed successful and documentation is complete, move on to Releasing.

        Testing

          -
        1. All JUnit tests must pass- this should be a requirement of any patch so it should never be an issue of the codebase.
        2. +
        3. All JUnit tests must pass. This should be a requirement of any patch so it should never be an issue of the codebase.
        4. All functional tests must complete successfully.
        5. -
        6. 2 24 hour periods of the randomwalk LongClean test with and without agitation need to be run successfully - this should be on a cluster.
        7. -
        8. 2 24 hour periods of continuous ingest with and without agitation needs to be validated successfully - this should be on a cluster.
        9. -
        10. 2 72 hour periods of continuous ingest with and without agitation. No validation is necessary but the cluster should be checked to ensure it's still functional - this should be on a cluster.
        11. +
        12. Two 24-hour periods of the randomwalk LongClean test with and without agitation need to be run successfully on a cluster.
        13. +
        14. Two 24-hour periods of continuous ingest with and without agitation need to be validated successfully on a cluster.
        15. +
        16. Two 72-hour periods of continuous ingest with and without agitation on a cluster. No validation is necessary but the cluster should be checked to ensure it is still functional.

        Releasing

        1. Tag the tested branch. It should:
            -
          • Have it's version set to note it is RC1.
          • -
          • Be fully built, including tar.gz of the entire project as well as the documentation.
          • +
          • Have its version set to note it is RC1.
          • +
          • Be fully built, including a tar.gz of the entire project as well as the documentation.
        2. -
        3. PGP Signatures of the tarball must be signed to a separate file and made available in the public_html folder in people.apache.org, along with the tarball and MD5 and SHA512 checksums.
        4. -
        5. A vote must be made in accumulo-dev, lazy consensus is not sufficient for a release. All checksums and signatures need to be verified before any voter can +1 it. Voting shall last 72 hours.
        6. +
        7. PGP Signatures of the tarball must be signed to a separate file and made available in the public_html folder of the user creating the release on people.apache.org, along with the tarball and MD5 and SHA512 checksums.
        8. +
        9. A vote must be made on accumulo-dev; lazy consensus is not sufficient for a release. All checksums and signatures need to be verified before any voter can +1 it. Voting shall last 72 hours.
        10. Upon successful vote, the release candidate can be brought to the incubator mailing list for approval.
        11. Upon success from the incubator list, the new releases can be retagged to remove the RC status and released on the Accumulo webpage.
        12. If at any time the tag needs to be remade due to any sort of error, it should be incremented to the next release candidate number.