Thunderbird/Release Driving/Beta Release Checklist: Difference between revisions

From MozillaWiki
Jump to navigation Jump to search
(Initial version)
 
 
(13 intermediate revisions by one other user not shown)
Line 7: Line 7:
== Team ==
== Team ==
* <font color="blue">Project/Dev lead: [[User:Standard8|Standard8]]</font>
* <font color="blue">Project/Dev lead: [[User:Standard8|Standard8]]</font>
* <font color="red">Security lead: dmose/dveditz???</font>
* <font color="green">Build lead: gozer</font>
* <font color="green">Build lead: gozer</font>
* <font color="orange">QA lead: [[User:_Tsk_|_Tsk_]]</font>
* <font color="orange">QA lead: [[User:_Tsk_|_Tsk_]]</font>
Line 34: Line 33:
* Development code freeze - <font color="red">Dev lead</font>
* Development code freeze - <font color="red">Dev lead</font>


* Co-ordinate with l10n <font color="blue">Project lead</font>
* Co-ordinate with l10n - <font color="blue">Project lead</font>
** Ensure shipped-locales is updated (<b>set to just en-US for Alpha</b>)
** Ensure relevant l10n-changesets files are updated.
 
* File bugs relating to the [http://hg.mozilla.org/users/bugzilla_standard8.plus.com/drivertools/raw-file/default/bugfiling/new-beta-release.html new alpha/beta release] - <font color="blue">Project lead</font>
 
* Ensure in-tree extensions (Venkman, DOMI) have correct maximum version numbers - <font color="blue">Project lead</font>
** <small>Note: DOMI has a general rs=sdwilsh for update to <i>current</i> version on trunk.</small>


* Ready for builds
* Ready for builds
Line 48: Line 54:
* Email contacts with release schedules & build details - <font color="blue">Project lead</font>
* Email contacts with release schedules & build details - <font color="blue">Project lead</font>


* Crash-stats updated with new version details - <font color="blue">Project lead</font>
* Notify QA testers of pending release - <font color="orange">QA lead</font>
 
* Update for new versions - <font color="blue">Project lead</font>
** Crash-stats (use admin interface)
** AMO (Standard8 has permission for non a.b.* additions)
** Bugzilla


=== Build & QA ===
=== Build & QA ===
Line 54: Line 65:
* Builds created (all locales) - <font color="green">Build lead</font>
* Builds created (all locales) - <font color="green">Build lead</font>
** Email thunderbird-drivers when builds are created - <font color="green">Build lead</font>
** Email thunderbird-drivers when builds are created - <font color="green">Build lead</font>
** And when snippets are available on beta channel (if not done in the previous email) - <font color="green">Build lead</font>
* Unit tests results analysed by developers - (driven by) <font color="blue">Project Lead</font>


* QA tests builds - <font color="orange">QA Lead</font>
* QA tests builds - <font color="orange">QA Lead</font>
** QA completes testing and maps it onto their test plan page (usually at Releases/PRODUCTNAME_VERSION/Test_Plan on the wiki) - <font color="orange">QA Lead</font>
** QA completes testing of builds - <font color="orange">QA Lead</font>
** QA completes testing of updates - <font color="orange">QA Lead</font>
** When signed off, email thunderbird-drivers with notification - <font color="orange">QA Lead</font>
** When signed off, email thunderbird-drivers with notification - <font color="orange">QA Lead</font>


* Verify against Virus vendors and announce to [https://intranet.mozilla.org/Firefox:SecurityVendors AV/Firewall vendors] - _Tsk_
* Verify against Virus vendors and announce to [https://intranet.mozilla.org/Firefox:SecurityVendors AV/Firewall vendors] - _Tsk_
* Build snippets on betatest channel - <font color="green">Build lead</font>
** Email QA lead (via thunderbird-drivers) when finished - <font color="green">Build lead</font>
* QA verifies snippets and website and emails thunderbird-drivers when signed off - <font color="orange">QA Lead</font>


* If any of those fail, email thunderbird-drivers with a formal "stop" notification and a second "go" notification when the process is started again - <font color="blue">Project Lead</font>
* If any of those fail, email thunderbird-drivers with a formal "stop" notification and a second "go" notification when the process is started again - <font color="blue">Project Lead</font>
Line 70: Line 80:
=== Release Notes & Release ===
=== Release Notes & Release ===


* [http://hg.mozilla.org/users/bugzilla_standard8.plus.com/drivertools/raw-file/default/bugfiling/new-stable-release.html File bug] for bouncer entries - <font color="blue">Project lead</font>
* [http://hg.mozilla.org/users/bugzilla_standard8.plus.com/drivertools/raw-file/default/bugfiling/new-beta-release.html File bug] for bouncer entries (if not already) - <font color="blue">Project lead</font>
* XXX Notify mirrors of beta release - <font color="blue">Project lead</font> emails infra - <font color="blue">Project lead</font>
** Note: Bouncer entries are required for Release Candidates as well as alphas & betas.
** Ask IT to add the beta release to [https://nagios.mozilla.org/sentry/ Sentry] a few days in advance.  justdave and a few others can do it.


* XXX [[Webtools:Thunderbird_Release_Notes|Draft release notes]] - <font color="purple">Website lead</font> with support from <font color="blue">Project lead</font>
* [[Webtools:Thunderbird_Release_Notes|Draft release notes]] - <font color="purple">Website lead</font> or <font color="blue">Project lead</font>
** Confirm release notes with dev lead, QA lead, others as appropriate
** Stage release notes, other website changes
** Stage release notes, other website changes
** Confirm release notes with PR (rebron), QA lead, others as appropriate


* Decision to release - <strong>Entire team</strong>
* Decision to release - <strong>Entire team</strong>
** XXX If yes, let IT (infra) know 24-48 hours ahead of time based on [[Build:ReleasePolicy|release policy]] - <font color="blue">Project lead</font>
** If yes, notify mirrors of beta release about 24-48 hours ahead of time. Email infra - at - mozilla.com to let them know about the push to mirrors - <font color="blue">Project lead</font>
** Notify PR (rebron) of "we're shipping in x days/hours/minutes" estimate - <font color="blue">Project lead</font>
** Notify PR of "we're shipping in x days/hours/minutes" estimate - <font color="blue">Project lead</font>
*** This is normally done via rebron on tb-drivers with no special messages.


* Final Release, in order:
* Final Release, in order:
Line 86: Line 98:
*#* Push actual bits to ftp / releases - <font color="green">Build lead</font>
*#* Push actual bits to ftp / releases - <font color="green">Build lead</font>
*# Push website changes - <font color="blue">Project lead</font>
*# Push website changes - <font color="blue">Project lead</font>
*# QA verifies website changes - <font color="orange">QA Lead</font>
*# Verify website changes - <font color="orange">QA Lead</font>
*# Build pushes to beta channel - <font color="green">Build lead</font>
*# Build pushes to beta channel - <font color="green">Build lead</font>
*# Verify bits on beta channel - <font color="orange">QA Lead</font>
*# [[Thunderbird:Testing/Automated_Update_Testing|Verify bits on beta channel]] - <font color="orange">QA Lead</font>


* Notify the world - <font color="blue">Project lead</font>
* Notify the world - <font color="blue">Project lead</font>
Line 98: Line 110:
** MDC Devnews  
** MDC Devnews  
** Email metrics mozilla.com with the new version details.
** Email metrics mozilla.com with the new version details.
** twitter (use bit.ly with mzl.la account)

Latest revision as of 15:38, 20 July 2011

This is the general release checklist we should use for Thunderbird Alpha and Beta releases, and also Release Candidates.

It is based largely on Releases/Checklist but adapted specifically for Thunderbird.

It is organized by major functional activity in roughly chronological order. At the end of each bullet is the owner of the checklist item from within the Release Team.

Team

  • Project/Dev lead: Standard8
  • Build lead: gozer
  • QA lead: _Tsk_
  • Website lead: rebron
  • Support Lead: Roland

Checklist

Improve our processes! File bugs for improvements against bug 540394

Initial Stages

  • Meet and schedule release - Entire team
    • Project lead organises meeting/discussing. May typically be at driver meetings, but other mediums can be used if felt necessary - Project lead
  • Decision on release date - Entire team
    • Update Releases page - Project lead
    • Update Releases/PRODUCT&VERSION with proposed schedule - Project lead
    • Email thunderbird-drivers and post on Status Meeting (including weekly) with proposed schedule - Project lead
  • Triage of blocking/approval requests as needed - Entire team (minus build)
    • Schedule meetings - Project lead
    • Alert developers of blockers - Project lead
    • Alert developers of upcoming freeze - Project lead
  • Development code freeze - Dev lead
  • Co-ordinate with l10n - Project lead
    • Ensure shipped-locales is updated (set to just en-US for Alpha)
    • Ensure relevant l10n-changesets files are updated.
  • Ensure in-tree extensions (Venkman, DOMI) have correct maximum version numbers - Project lead
    • Note: DOMI has a general rs=sdwilsh for update to current version on trunk.
  • Ready for builds
    • Email thunderbird-drivers when all code is in with formal "Go" - Project lead
      • In Email include:
        • comm-* revision
        • mozilla-* revision
        • dom-inspector revision
        • LDAP CVS tag
        • L10n revisions
        • New Locales (also specify beta/release)
  • Email contacts with release schedules & build details - Project lead
  • Notify QA testers of pending release - QA lead
  • Update for new versions - Project lead
    • Crash-stats (use admin interface)
    • AMO (Standard8 has permission for non a.b.* additions)
    • Bugzilla

Build & QA

  • Builds created (all locales) - Build lead
    • Email thunderbird-drivers when builds are created - Build lead
    • And when snippets are available on beta channel (if not done in the previous email) - Build lead
  • Unit tests results analysed by developers - (driven by) Project Lead
  • QA tests builds - QA Lead
    • QA completes testing of builds - QA Lead
    • QA completes testing of updates - QA Lead
    • When signed off, email thunderbird-drivers with notification - QA Lead
  • If any of those fail, email thunderbird-drivers with a formal "stop" notification and a second "go" notification when the process is started again - Project Lead

Release Notes & Release

  • File bug for bouncer entries (if not already) - Project lead
    • Note: Bouncer entries are required for Release Candidates as well as alphas & betas.
    • Ask IT to add the beta release to Sentry a few days in advance. justdave and a few others can do it.
  • Draft release notes - Website lead or Project lead
    • Stage release notes, other website changes
    • Confirm release notes with PR (rebron), QA lead, others as appropriate
  • Decision to release - Entire team
    • If yes, notify mirrors of beta release about 24-48 hours ahead of time. Email infra - at - mozilla.com to let them know about the push to mirrors - Project lead
    • Notify PR of "we're shipping in x days/hours/minutes" estimate - Project lead
      • This is normally done via rebron on tb-drivers with no special messages.
  • Final Release, in order:
    1. Bits to mirrors - Project lead sends "go email".
      • Typical mirror saturation is 1 to 2 hours, the email should take account of this.
      • Push actual bits to ftp / releases - Build lead
    2. Push website changes - Project lead
    3. Verify website changes - QA Lead
    4. Build pushes to beta channel - Build lead
    5. Verify bits on beta channel - QA Lead
  • Notify the world - Project lead
    • all -at- mozilla.com (so all MoCo staff knows) (apparently this doesn't currently happen)
    • staff -at- mozillamessaging.com (so all MoMo staff knows)
    • tb-planning
    • tb-enterprise (maybe, depends on release & feedback wanted).
    • m.dev.apps.thunderbird, m.dev.apps.calendar, m.dev.l10n, m.dev.planning newsgroups
    • MDC Devnews
    • Email metrics mozilla.com with the new version details.
    • twitter (use bit.ly with mzl.la account)