This post clarifies the core release process as outlined by @JamieBennett:
- Nothing goes to the stable channel unless it has been in the candidate channel first.
- Only @fgimenez can make a stable release (or someone nominated by Federico in his absence).
- Only @fgimenez can make a candidate channel release (or someone nominated by him in his absence).
- Only @mvo can make a beta channel release (or someone nominated by him in his absence).
- All releases to the stable channel must:
- Have sign off from QA and the Core Team
- Have sign off from CE, unless this holds up the release for more than 2 days
- Have release notes and an announcement email
- Have accompanying test results stored somewhere
- Have a comprehensive change log stored somewhere
- Be tagged in GitHub
- Be released on Mondays and only when the Release Manager and QA are available (unless an emergency occurs).
- If a release fails to validate in beta or candidate we iterate on it until it passes (no skipping to the next planned release)
- People who want to test the latest can still get that from edge, those that want less of a risk but want more frequent releases can use beta.
- We must assume that the candidate and stable channels are for people who do not sign up to a level of risk above that of normal software bugs and are likely to use our software in a commercial environment
- A day before the release goes out the store team must be notified so that they can prepare for the download impact