Changes between Initial Version and Version 1 of RFC/4_ReleaseProcedure


Ignore:
Timestamp:
06/11/14 02:27:33 (10 years ago)
Author:
mlennert
Comment:

new RFC for release procedure

Legend:

Unmodified
Added
Removed
Modified
  • RFC/4_ReleaseProcedure

    v1 v1  
     1[[TOC]]
     2= RFC 4: Release Procedure =
     3
     4Author: GRASS PSC
     5
     6Contact: [http://lists.osgeo.org/mailman/listinfo/grass-psc grass-psc AT lists.osgeo.org]
     7
     8Status: Early draft (11 June 2014)
     9
     10== Summary ==
     11
     12In order to render the release process more fluid, to avoid very long RC periods and to lessen the potential for conflict between developers during release preparations, this RFC proposes a procedure that should be followed for each release.
     13
     14== General philosophy ==
     15
     16* The release process should be short. I.e. the time between the first RC and the final release should be a matter of weeks not many months.
     17
     18* A release period should be a time of concerted action during which all developers give priority to the release in place of other developments.
     19
     20* All developers respect a call for commit freeze during a release process.
     21
     22* It is sometimes better to ship a release with a known bug than with unknown consequences of an untested bug fix.
     23
     24
     25== General Procedure ==
     26
     27Step 1 - Proposal of release: When a developer feels that it is time for a new release, she or he should propose the launch of a new release process on the developers mailing list. The Project manager (or if exists Release manager) then collects reactions to decide whether there is sufficient support for this proposal.
     28
     29Step 2 (day X)- Soft freeze: If sufficient support is present, a first announcement is sent about the upcoming release. If support is lacking, a list of outstanding issues that need to be solved before a soft freeze should be sent to the developers mailing list. This announcement has as immediate effect a soft freeze meaning that commits should be limited to non-invasive backports from the development branch. Any such backport should be announced on the developers mailing list with 24 hours advance to allow possible discussion. The announcement mail also contains an approximate time table for the release, including begin of hard freeze, RC1, RC2, final release. Sufficient time should be left between the soft freeze and the hard freeze.
     30
     31Step 3 (X+30 days) - Hard freeze & RC1: Once any necessary backports are done, a hard freeze is announced and RC1 is released based on the frozen code.
     32
     33Step 4 - Bug squashing: All developers concentrate on fixing the remaining bugs during a defined period of no more than 2 weeks. Any commits from that point on can only be well-tested, non-invasive bug fixes. [tbd: a specific svn branch with access limited to a release team of 2-3 developers can be created. Any fix has to be sent to the release team for approval and commit.]
     34
     35Step 5 (X+44 days) - RC2: RC2 is released as almost final.
     36
     37Step 6 - Bug squashing: & Release preparation: A final, concerted bug squashing effort by all developers of no more than one week. During that same time the release announcement is drafted.
     38
     39Step 7 (X+50 days) - Final release
     40
     41