Release process proposal
Ofer Schreiber
oschreib at redhat.com
Sun Feb 19 13:51:29 UTC 2012
----- Original Message -----
> Since we currently doesn't have any official Release process, here's
> my proposal:
>
> 1. oVirt will issue a new release every 6 months.
> a. EXCEPTION: First three releases will be issued in a ~3 month
> interval.
> b. Exact dates must be set for each release.
<SNIP>
Release process proposal V2 (with few open items)
1. oVirt will issue a new release every 6 months.
a. EXCEPTION: First three releases will be issued in a ~3 month interval.
b. Exact dates must be set for each release.
2. A week after the n-1 release is out, a release criteria for the new release should be discussed.
a. Release criteria will include MUST items and SHOULD items (held in wiki)
+ MUST items will DELAY the release in any case.
+ SHOULD items will include less critical flows and new features.
+ SHOULD items will be handled as "best-effort" by component owners
b. Component owners (e.g. Node, engine-core, vdsm) must ACK the criteria suggested.
c. Release criteria discussions shouldn't take more then 2 weeks
d. Progress on MUST items should be review every month, during the weekly meeting
3. Discuses the new version number according to the release criteria/amount of features.
a. Versions will be handled by each component.
b. The general oVirt version will the engine version.
5. 60 Days before release - Feature freeze
a. EXCEPTION: 30 days for 3 month release cycle
b. All component owners must create a new versioned branch
c. "Beta" version should be supplied immediately after.
+ And on a nightly basis afterwards.
d. Stabilization efforts should start on the new builds.
e. Cherry-pick fixes for high priority bugs.
+ Zero/Minimal changes to user interface.
+ Inform in advance on any user interface change, and any API change.
f. At this stage, we should start working on the release notes.
6. 30 days before release - release candidate
a. EXCEPTION: 15 days for 3 month release cycle
b. If no blockers (MUST violations) are found the last release candidate automatically becomes the final release.
+ Rebuild without the "RC" string.
+ ANOTHER OPTION- Avoid "Beta" or "RC" strings, just use major.minor.micro, and bump the micro every time needed.
c. Release manager will create a wiki with list of release blockers
d. Only release blockers should be fixed in this stage.
e. OPTIONAL: final release requires three +1 from community members
+ This item is currently optional, I'm not sure what a +1 means (does a +1 means "I tested this release", or "This release generally looks fine for me"?)
7. Create a new RC if needed
a. There must be at least one week between the last release candidate and the final release
b. Go/No go meetings will happen once a week in this stage.
+ Increase the amount of meeting according to the release manager decision.
+ Release manager will inform the community on any delay.
8. Release
a. Create ANNOUNCE message few days before actual release.
b. Move all release candidate sources/binaries into the "stable" directory
c. Encourage community members to blog / tweet about the release
d. PARTY
Have any comments? ideas? share them with the list!
Thanks,
Ofer Schreiber.
More information about the Arch
mailing list