Proposed New Release Guidelines

Developer
Jan 11, 2010 at 8:09 AM
/*************************************************************************************************************************************************************/
Releases Guidelines


Using the new organized pom without bootstrap, here's the proposed Release Process:


* Creating a Release Candidate
 
Note: Send a Proposal on the community regarding the release and the issues that would be fix in the said release.

The release will be done in http://122.55.80.194:8080/continuum/

1) Do a pre-release build, just click the 'Build all projects' button ( All projects must build successfully before proceeding to the next step.)

2) Release Proper
    * in the release preparation, the SCM tag should be npanday-1.1-RC3 or similar (use the release version)
    * in the release preparation, the SCM tag base should be https://npanday.svn.codeplex.com/svn/tags/
    * in the release preparation step, use CLEAN as the preparation goal
            - check the values for the RELEASE VERSION and NEXT DEVELOPMENT VERSION are correct
    * in the release perform step, use the CLEAN DEPLOY as the goals

Note: To verify if the release was successful, check that the artifacts has been populated in http://122.55.80.194:8080/archiva/repository/npanday-releases/.  If the release passes, a similar process will be done to release the final release version.

* Preliminary Phase (Documentation and building of RC)

> Issues - all known bugs within the RC
> Dependencies - all known dependencies
> Release Notes - all fixes within the current RC
> Copy Rights - on all source code
> Licenses - on all source code
> Build (Release Candidate)

* Testing Phase
 
> Announce the release and the community will be given a 48hr window to test the RC.

* Voting Phase
 
> Post the Majority of Vote on the results of the RC

* Release Phase
 
> After the approval of the community we will do a checklist page in codeplex with the current release.

- Checksum
- Signature
- Mirror
- Update Download Page to post the link to the latest Release (http://repo.npanday.org/archiva/repository/npanday-releases/)
- Community Announcement

NOTE: If a serious flaw is found in a test build or release, it may be withdrawn by a majority vote from the community and removed from the distribution lists.
/*************************************************************************************************************************************************************/

Any comments and suggestions would be highly appreciated.
Thanks!
Coordinator
Jan 11, 2010 at 11:27 PM

On 11/01/2010, at 8:09 PM, apadilla wrote:

From: apadilla

/*************************************************************************************************************************************************************/
Releases Guidelines


Using the new organized pom without bootstrap, here's the proposed Release Process:


* Creating a Release Candidate

Note: Send a Proposal on the community regarding the release and the issues that would be fix in the said release.

The release will be done in http://122.55.80.194:8080/continuum/

1) Do a pre-release build, just click the 'Build all projects' button ( All projects must build successfully before proceeding to the next step.)
I'd prefer this say "ensure there has been a build since last commit, and it was successful". Usually one will have happened on the schedule, making this step redundant. If there have been changes since, the steps you gave are appropriate.


2) Release Proper
* in the release preparation, the SCM tag should be npanday-1.1-RC3 or similar (use the release version)
* in the release preparation, the SCM tag base should be https://npanday.svn.codeplex.com/svn/tags/
* in the release preparation step, use CLEAN as the preparation goal
- check the values for the RELEASE VERSION and NEXT DEVELOPMENT VERSION are correct
* in the release perform step, use the CLEAN DEPLOY as the goals

Note: To verify if the release was successful, check that the artifacts has been populated in http://122.55.80.194:8080/archiva/repository/npanday-releases/. If the release passes, a similar process will be done to release the final release version.

* Preliminary Phase (Documentation and building of RC)

> Issues - all known bugs within the RC
> Dependencies - all known dependencies
> Release Notes - all fixes within the current RC
> Copy Rights - on all source code
> Licenses - on all source code
> Build (Release Candidate)
I'm not sure what this means?


* Testing Phase

> Announce the release and the community will be given a 48hr window to test the RC.

* Voting Phase

> Post the Majority of Vote on the results of the RC
I'd prefer we follow ASF conventions - the RCs are for testing, but voting should occur on the actual release, not the last RC.


* Release Phase

> After the approval of the community we will do a checklist page in codeplex with the current release.

- Checksum
- Signature
- Mirror
not sure what these mean?

- Update Download Page to post the link to the latest Release (http://repo.npanday.org/archiva/repository/npanday-releases/)
- Community Announcement

NOTE: If a serious flaw is found in a test build or release, it may be withdrawn by a majority vote from the community and removed from the distribution lists.
If a serious flaw is found in the release, a new release (1.1.1) should be provided - released things should never be removed. In the future, we can add a preventative staging step during the vote phase, but given the RC testing I don't expect any problems here.

RCs should never be advertised as releases, and can be deleted after the final release (if necessary) - no problems if they have a flaw, that's what they are for :)

- Brett


Developer
Jan 12, 2010 at 4:30 AM

Hi Brett,

 

Thanks for the suggestions.

 

The Preliminary Phase was just to ensure that the copy rights and licenses are all on the source code and the RC builds successfully.  But we can removed it since before any release, it should have been there already.

 

Here's the revised Release Guidelines:

//****************************************************************************************************************************************************************************************************************************************************************************//

 

Releases Guidelines


Using the new organized pom without bootstrap, here's the proposed Release Process:


* Creating a Release Candidate
 
Note: Send a Proposal in the community regarding the release and the issues that would be fix in the said release.  Make sure that the Copy Rights and Licenses are on all source code.

The release will be done in http://122.55.80.194:8080/continuum/

1) Ensure there has been a build since last commit and it was a successful one.

2) Release Proper
    * in the release preparation, the SCM tag should be npanday-1.1-RC3 or similar (use the release version)
    * in the release preparation, the SCM tag base should be https://npanday.svn.codeplex.com/svn/tags/
    * in the release preparation step, use CLEAN as the preparation goal
            - check the values for the RELEASE VERSION and NEXT DEVELOPMENT VERSION are correct
    * in the release perform step, use the CLEAN DEPLOY as the goals

Note: To verify if the release was successful, check that the artifacts has been populated in http://122.55.80.194:8080/archiva/repository/npanday-releases/.


* Testing Phase
 
> Announce the RC and the community will be given a 48hr window to test.

If the RC passes, same process would be done for the RELEASE version. (1.1)

* Voting Phase
 
> Post the Majority of Vote on the results of the RELEASE

* Release Phase

> After the approval of the community:
 
   - Update Download Page to post the link to the latest Release (http://repo.npanday.org/archiva/repository/npanday-releases/)
   - Make the community announcement


NOTE: If a serious flaw is found in the release, the release version will not be removed in the distribution list but instead a new release (1.1.1) should be provided.

 

//****************************************************************************************************************************************************************************************************************************************************************************//

 

Thanks!

Coordinator
Jan 12, 2010 at 4:42 AM

On 12/01/2010, at 4:30 PM, apadilla wrote:

The Preliminary Phase was just to ensure that the copy rights and licenses are all on the source code and the RC builds successfully. But we can removed it since before any release, it should have been there already.


agreed - I see what you meant now, so these just become development guidelines, that are preconditions to attempting to release.


Here's the revised Release Guidelines:


Sounds good to me, can it go in the wiki and get adjusted as we experience doing the RC3 release?

Are others happy with the content of this?

- Brett


Coordinator
Jan 12, 2010 at 4:52 AM

+1 on the proposed release process, and if anything new comes up we could just add it in the discussion thread or be added as a note in the wiki page.

 

Thanks,

Developer
Jan 12, 2010 at 5:36 AM

Updated the wiki already.

 

Here's the link to the new release guidelines: http://npanday.codeplex.com/wikipage?title=New%20Release%20Guidelines

 

Thanks for your comments and suggestions.

 

Just post a discussion for any possible adjustment.

 

Thanks!