Releases/Checklist: Difference between revisions

From MozillaWiki
Jump to navigation Jump to search
m (update categories)
 
(19 intermediate revisions by 9 users not shown)
Line 1: Line 1:
{{DISPLAYTITLE:Checklist for Releases}}
{{RELEASE_MANAGEMENT_UPDATE_NEEDED}}
This is the general release checklist we should use for maintenance releases.
This is the general release checklist we should use for maintenance releases.


Line 11: Line 13:
== Checklist ==
== Checklist ==
* Meet and schedule release - <strong>Entire team</strong>
* Meet and schedule release - <strong>Entire team</strong>
** Email dev-planning and release-drivers to announce meeting (2 days in advance) - <font color="blue">Project lead</font>
** Have meeting - <font color="blue">Led by Project lead</font>


* Decision on release date - <strong>Entire team</strong>
* Decision on release date - <strong>Entire team</strong>
Line 21: Line 21:
* Triage of blocking/approval requests as needed - <strong>Entire team (minus build)</strong>
* Triage of blocking/approval requests as needed - <strong>Entire team (minus build)</strong>
** Schedule meetings - <font color="blue">Project lead</font>
** Schedule meetings - <font color="blue">Project lead</font>
** Alert developers of blockers - <font color="blue">Project lead</font>
** Alert developers of upcoming freeze - <font color="blue">Project lead</font>
** Alert developers of upcoming freeze - <font color="blue">Project lead</font>


* Development code freeze - <font color="red">Dev lead</font>
* Development code freeze - <font color="red">Dev lead</font>
** Hand off to QA for verifications - <font color="orange">QA Lead</font>
* Ready for builds
** Email release-drivers when all code is in with formal "Go" - <font color="blue">Project lead</font>
** Email release-drivers when all code is in with formal "Go" - <font color="blue">Project lead</font>
*** Include bonsai URI from last 24 hours. Specify timezone in email as well (PST vs PDT).
** File a bug to make sure there is no crash report throttling - <font color="blue">Project lead</font>
*** For 1.9.0, include timestamp and bonsai URI down to the last checkin. Specify timezone in email as well (PST vs PDT).
*** For 1.9.1, include a changeset
*** Specify l10n cut off (1.9.0-only) as well
** File a bug to update versions in AMO - <font color="blue">Project lead</font>


* Builds created (all locales) - <font color="green">Build lead</font>
* Builds created (all locales) - <font color="green">Build lead</font>
** Email release-drivers when builds are created - <font color="green">Build lead</font>
** Email release-drivers when builds are created - <font color="green">Build lead</font>
** Email betatesters when builds are created - <font color="blue">Project lead</font>


* QA verification - <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 PRODUCTNAME:VERSION:Test_Plan on the wiki) - <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>
** When signed off, email release-drivers with notification - <font color="orange">QA Lead</font>
** When signed off, email release-drivers with notification - <font color="orange">QA Lead</font>


Line 50: Line 57:


* Beta period
* Beta period
** Announce to release-drivers, m.d.a.firefox, m.announce.prerelease, m.d.planning - <font color="blue">Project lead</font>
** Announce to release-drivers, m.d.a.<application> (i.e. thunderbird or firefox), m.announce.prerelease, m.d.planning - <font color="blue">Project lead</font>
** Notify mirrors of beta release - <font color="blue">Project lead</font> emails Justin
** Notify mirrors of beta release - <font color="blue">Project lead</font> emails infra
** Notify PR (melissa, nloux) of "we're shipping in a week" estimate - <font color="blue">Project lead</font>
** Notify PR (melissa) of "we're shipping in a week" estimate - <font color="blue">Project lead</font>
** Announce to [https://intranet.mozilla.org/Firefox:SecurityVendors AV/Firewall vendors] - <font color="blue">Project lead</font>
** Announce to [https://intranet.mozilla.org/Firefox:SecurityVendors AV/Firewall vendors] - <font color="blue">Project lead</font>
** Announce to security group - <font color="red">Security lead</font>
** Announce to security group - <font color="red">Security lead</font>
*** to security and security-announce aliases
*** to security-group and security-announce aliases
** Monitor feedback - <font color="orange">QA Lead</font>, <font color="blue">Project lead</font>
** Monitor feedback - <font color="orange">QA Lead</font>, <font color="blue">Project lead</font>
** Make sure the release looks correct in the crash-stats admin - <font color="blue">Project lead</font>


* Vulnerability notices - <font color="red">Security lead</font>
* Vulnerability notices - <font color="red">Security lead</font>
Line 66: Line 74:
** Stage release notes, other website changes
** Stage release notes, other website changes
** Vet past marketing (jslater@m.c)
** Vet past marketing (jslater@m.c)
** Alert Mozilla Europe/Japan/China as soon as release notes are ready - <font color="blue">Project lead</font>
** Alert Mozilla Europe/Japan/China as soon as release notes (and product-details bug) are ready - <font color="blue">Project lead</font>
*** Be sure to give them the estimated release date and time.
*** Be sure to give them the estimated release date and time.
** Alert webdev (clouserw/morgamic) of when release is planned for (for product-details pushing) - <font color="blue">Project lead</font>
** Alert webdev (wenzel/clouserw/morgamic) of when release is planned for (for product-details pushing) - <font color="blue">Project lead</font>


* Decision to release - <strong>Entire team</strong>
* Decision to release - <strong>Entire team</strong>
** If yes, let IT know 24-48 hours ahead of time based on [[Build:ReleasePolicy|release policy]] - <font color="blue">Project lead</font>
** If yes, let IT (infra) know 24-48 hours ahead of time based on [[Build:ReleasePolicy|release policy]] - <font color="blue">Project lead</font>
** Notify PR (melissa, nloux) of "we're shipping in x days/hours/minutes" estimate - <font color="blue">Project lead</font>
** File a bug to make sure we throttle crash reports - <font color="blue">Project lead</font>
** Notify PR (melissa@m.c) of "we're shipping in x days/hours/minutes" estimate - <font color="blue">Project lead</font>


* Final Release
* Final Release
** Bits to mirrors - <font color="blue">Project lead</font> sends "go email"
** Bits to mirrors - <font color="blue">Project lead</font> sends "go email" at least 8 hours ahead of time
*** Push actual bits - <font color="green">Build lead</font>
*** Push actual bits - <font color="green">Build lead</font>
** Verify bits on releasetest channel - <font color="orange">QA Lead</font>
** Verify bits on releasetest channel - <font color="orange">QA Lead</font>
** Push website changes - <font color="blue">Project lead</font>
** Push website changes - <font color="blue">Project lead</font>
** Be sure to make sure the [http://www-trunk.stage.mozilla.com/includes/l10n/tests/testLocalesReleased.php?fx=5.0b3&hg=c93fe6829c74&type=mozilla-beta locales are in sync] (change the URL for the proper version) - <font color="blue">Project lead</font>
** Push security advisories - <font color="red">Security lead</font>
** Push security advisories - <font color="red">Security lead</font>
*** Don't forget the security center changes [http://www.mozilla.org/security/#Security_Alerts]
** QA verifies website changes - <font color="orange">QA Lead</font>
** QA verifies website changes - <font color="orange">QA Lead</font>
** Build pushes to release channel - <font color="green">Build lead</font>
** Build pushes to release channel - <font color="green">Build lead</font>
Line 87: Line 96:
* Notify the world - <font color="blue">Project lead</font>
* Notify the world - <font color="blue">Project lead</font>
** all -at- mozilla.com (so all staff knows)
** all -at- mozilla.com (so all staff knows)
** drivers -at- mozilla.org (so drivers outside Mozilla Corp know)
** m.dev.planning newsgroup
** m.dev.planning newsgroup
** m.announce newsgroup (all product release announcements are expected here)
** m.announce newsgroup (all product release announcements are expected here)
** MDC Devnews  
** MDC Devnews  
** Post the [http://www.mozilla.org/news.html Press Release]
** Post the [http://www.mozilla.org/news.html Press Release]
** File IT/Server Ops request to add stats info
 
*** Something like "Subject:Add 2.0.0.x to stats;Description:Please add 2.0.0.x to our stats. FirefoxActiveUserCountByVersion, Firefox20DownloadsByVersion, etc."
When you have completed these steps, rinse, repeat. Every month...
 
[[category:Release_Management|C]]
[[Category:Release_Management:Processes|Checklist,Release]]

Latest revision as of 09:15, 5 April 2018

Warning: This page hasn't been updated recently and may not be fully accurate or complete. In case of doubt, contact our release managers.

This is the general release checklist we should use for maintenance releases.

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 lead:
  • Security/Dev lead:
  • Build lead:
  • QA lead:

Checklist

  • Meet and schedule release - Entire team
  • Decision on release date - Entire team
    • Update Releases page - Project lead
    • Update Releases/PRODUCT&VERSION with proposed schedule - Project lead
    • Email dev-planning and release-drivers 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
    • Hand off to QA for verifications - QA Lead
  • Ready for builds
    • Email release-drivers when all code is in with formal "Go" - Project lead
    • File a bug to make sure there is no crash report throttling - Project lead
      • For 1.9.0, include timestamp and bonsai URI down to the last checkin. Specify timezone in email as well (PST vs PDT).
      • For 1.9.1, include a changeset
      • Specify l10n cut off (1.9.0-only) as well
    • File a bug to update versions in AMO - Project lead
  • Builds created (all locales) - Build lead
    • Email release-drivers when builds are created - Build lead
  • QA tests builds - QA Lead
    • QA completes testing and maps it onto their test plan page (usually at Releases/PRODUCTNAME_VERSION/Test_Plan on the wiki) - QA Lead
    • When signed off, email release-drivers with notification - QA Lead
  • Build snippets on betatest channel - Build lead
    • Email QA lead when finished - Build lead
  • QA verifies snippets and website and emails release-drivers when signed off - QA Lead
  • If any of those fail, email release-drivers with a formal "stop" notification and a second "go" notification when the process is started again - Project Lead
  • "Go" to beta
    • Formal "Go" email sent to release-drivers - Project lead
    • Build snippets pushed to beta channel - Build lead
    • QA verifies snippets on beta channel - QA Lead
  • Beta period
    • Announce to release-drivers, m.d.a.<application> (i.e. thunderbird or firefox), m.announce.prerelease, m.d.planning - Project lead
    • Notify mirrors of beta release - Project lead emails infra
    • Notify PR (melissa) of "we're shipping in a week" estimate - Project lead
    • Announce to AV/Firewall vendors - Project lead
    • Announce to security group - Security lead
      • to security-group and security-announce aliases
    • Monitor feedback - QA Lead, Project lead
    • Make sure the release looks correct in the crash-stats admin - Project lead
  • Vulnerability notices - Security lead
    • Draft to Security Group/Security-anncounce
    • Notify CERT (as needed)
  • Draft release notes - Project lead
    • Confirm release notes with dev lead, QA lead, others as appropriate
    • Stage release notes, other website changes
    • Vet past marketing (jslater@m.c)
    • Alert Mozilla Europe/Japan/China as soon as release notes (and product-details bug) are ready - Project lead
      • Be sure to give them the estimated release date and time.
    • Alert webdev (wenzel/clouserw/morgamic) of when release is planned for (for product-details pushing) - Project lead
  • Decision to release - Entire team
    • If yes, let IT (infra) know 24-48 hours ahead of time based on release policy - Project lead
    • File a bug to make sure we throttle crash reports - Project lead
    • Notify PR (melissa@m.c) of "we're shipping in x days/hours/minutes" estimate - Project lead
  • Final Release
    • Bits to mirrors - Project lead sends "go email" at least 8 hours ahead of time
      • Push actual bits - Build lead
    • Verify bits on releasetest channel - QA Lead
    • Push website changes - Project lead
    • Be sure to make sure the locales are in sync (change the URL for the proper version) - Project lead
    • Push security advisories - Security lead
    • QA verifies website changes - QA Lead
    • Build pushes to release channel - Build lead
    • QA verifies release channel - QA Lead
  • Notify the world - Project lead
    • all -at- mozilla.com (so all staff knows)
    • m.dev.planning newsgroup
    • m.announce newsgroup (all product release announcements are expected here)
    • MDC Devnews
    • Post the Press Release

When you have completed these steps, rinse, repeat. Every month...