Releases/Checklist: Difference between revisions

From MozillaWiki
Jump to navigation Jump to search
m (update categories)
 
(37 intermediate revisions by 10 users not shown)
Line 1: Line 1:
This is the general release checklist we should use for maintenance releases. We use this checklist to make sure we don't miss any community, development, QA, Build, Product team, or partner deliverables as we release new versions.
{{DISPLAYTITLE:Checklist for Releases}}
{{RELEASE_MANAGEMENT_UPDATE_NEEDED}}
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.
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.
This serves as a checklist to make sure we don't miss any community, development, QA, Build, Product team, or partner deliverables as we release this version.
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 ==
== Team ==
Line 15: 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 to release - <strong>Entire team</strong>
* Decision on release date - <strong>Entire team</strong>
** Update [[Releases]] page - <font color="blue">Project lead</font>
** Update [[Releases]] page - <font color="blue">Project lead</font>
** Update Releases/PRODUCT&VERSION with proposed schedule - <font color="blue">Project lead</font>
** Update Releases/PRODUCT&VERSION with proposed schedule - <font color="blue">Project lead</font>
Line 25: 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>
** Email build@ & Project lead when all code is in - <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>
** 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 - <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>
** Complete Bug Verification Target - <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>
** BFT on one platform - <font color="orange">QA Lead</font>
** When signed off, email release-drivers with notification - <font color="orange">QA Lead</font>
** Complete Regression Testing - <font color="orange">QA Lead</font>
*** Examples: All BFTs/FFTs, JS regression test, Security regression test, top sites, top extensions, etc.  See Test Plan for details.
** en-US Install/start page/Version ID/Update test - <font color="orange">QA Lead</font>


* Build snippets on betatest channel - <font color="green">Build lead</font>
** Email QA lead when finished - <font color="green">Build lead</font>


* Project lead creates [[Webtools:Release_Notes|beta release notes]]; staging and live - <font color="blue">Project Lead</font>


* QA verifies snippets and website and emails release-drivers when signed off - <font color="orange">QA Lead</font>


-------
* If any of those fail, email release-drivers with a formal "stop" notification and a second "go" notification when the process is started again - <font color="blue">Project Lead</font>
^ I'm to here with updating


* "Go" to beta
** Formal "Go" email sent to release-drivers - <font color="blue">Project lead</font>
** Build snippets pushed to beta channel - <font color="green">Build lead</font>
** QA verifies snippets on beta channel - <font color="orange">QA Lead</font>


* Beta period
** 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 infra
** 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 security group - <font color="red">Security lead</font>
*** to security-group and security-announce aliases
** 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>


* L10n
* Vulnerability notices - <font color="red">Security lead</font>
** Owner signoff as needed
** Draft to Security Group/Security-anncounce
** Trademark review as needed
** Notify CERT (as needed)
** L10n Build - Build
*** Capture the chosen nightly into the candidates directory
*** Package up the locales
** Run Automated [[MozillaQualityAssurance:MetaDiff|MetaDiff]] test - Build
** L10N locale spot checks - QA Lead
** Testing by people with language skills
** Update the shipped-locales file with the final locales and platforms - Project Lead
** Update the [[L10n:Firefox_1.5_Releases|public wiki listing the shipped locales]]


* Announce to partners/distributer - basil
* [[Webtools:Release_Notes|Draft release notes]] - <font color="blue">Project lead</font>
** Symantec
** Confirm release notes with dev lead, QA lead, others as appropriate
** McAfee
** Stage release notes, other website changes
** Need at least a week notice
** Vet past marketing (jslater@m.c)
** 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.
** Alert webdev (wenzel/clouserw/morgamic) of when release is planned for (for product-details pushing) - <font color="blue">Project lead</font>


* Announce to security group - dveditz
* Decision to release - <strong>Entire team</strong>
** to security and security-announce aliases
** If yes, let IT (infra) know 24-48 hours ahead of time based on [[Build:ReleasePolicy|release policy]] - <font color="blue">Project lead</font>
** 1-2 weeks out
** 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>


* Software Updates
* Final Release
** build software update mar files - Build
** Bits to mirrors - <font color="blue">Project lead</font> sends "go email" at least 8 hours ahead of time
** setup Bouncer and AUS2 links - Build
*** Push actual bits - <font color="green">Build lead</font>
** Run automated [[MozillaQualityAssurance:Update_Checker|Update Checker]] - Build
** Verify bits on releasetest channel - <font color="orange">QA Lead</font>
** Spot check combination of update paths, locales, and platforms - QA Lead
** 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>
** QA verifies website changes - <font color="orange">QA Lead</font>
** Build pushes to release channel - <font color="green">Build lead</font>
** QA verifies release channel - <font color="orange">QA Lead</font>


* Notify Affiliates
* Notify the world - <font color="blue">Project lead</font>
** Mozilla Europe
** all -at- mozilla.com (so all staff knows)
*** Tristan Nitot - nitot -at- mozilla-europe.org
** m.dev.planning newsgroup
*** Peter Van der Beken -  peterv -at- mozilla-europe.org
** m.announce newsgroup (all product release announcements are expected here)
*** Pascal Chevrel - pascal.chevrel -at- mozilla-europe.org
** MDC Devnews
** Mozilla Japan
** Post the [http://www.mozilla.org/news.html Press Release]
*** Gen Kanai - gen -at- mozilla-japan.org
*** dynamis -at- mozilla-japan.org
 
* Vulnerability Notice - dveditz
** Draft to Security Group/Security-anncounce
** Advisories posted on release
** NEW: notify CERT (?)
 
* Other PR as needed - Product
** Web site updates


* Release Notes
When you have completed these steps, rinse, repeat. Every month...
** Inputs to cbeard/basil - Dev/QA/Product
** First Draft complete - 
** Review - Dev/QA/Product
** Final release notes -
 
* Final staging
** Stage bits - Build
*** Tue (UK time): cf to stage files in private area of ftp server, and transfer for signing
*** Tue (MV time): preed/rhelmer to sign builds, juanb to email cf with go/no go on publishing builds
*** Wed (UK time): cf to check signing log, gather installers, final check, push live by 0400 PDT (1200 BST), configure bouncer
*** Wed (MV time): preed/rhelmer run releasetest verification (bouncer check), push updates when ready (~4pm)
** '''Let IT know about release date 24-48 hrs ahead of time.''' - Project Lead
*** Releases should NOT be scheduled in the morning.
** Version ID/Update path test - QA Lead
** Make update paths/install bits live - Build
*** Coordinate with IT to make sure current versions are pushed to the ''mozilla-current'' rsync module
** Run automated [[MozillaQualityAssurance:Download_Checker|download checker]] - QA
** Test live update/install bits - QA Lead
** Dashboard stats tracking configuration/setup (oremj/webteam)
** Post note to these places to annouce the release;
*** all -at- mozilla.com (so all staff knows)
*** drivers -at- mozilla.org (so drivers outside Mozilla Corp know)
*** mozilla.dev.planning newsgroup
*** mozilla.annouce newsgroup (all product release announcements are expected here)
** Post the [http://www.mozilla.org/news.html Press Release]


* Special CJK builds for Yahoo and Google
[[category:Release_Management|C]]
** These are builds with yahoo specific search codes
[[Category:Release_Management:Processes|Checklist,Release]]
**  The are due within 2 weeks of the main product release
** Generate builds - Build
** Test the builds - QA
** Release the builds to the respective venders - Build

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...