QA/Execution/Web Testing/SUMO/Release Checklist: Difference between revisions

no edit summary
No edit summary
No edit summary
 
(24 intermediate revisions by 3 users not shown)
Line 1: Line 1:
This is the general release checklist we should use.
This is the general release checklist we should use to plan, certify, and push SUMO 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.
It is organized by major functional activity in roughly chronological order. At the end of each bullet is the owner of the checklist item.
Line 6: Line 6:
* <font color="blue">Project lead:</font> <strong>David Tenser</strong>
* <font color="blue">Project lead:</font> <strong>David Tenser</strong>
* <font color="red">Dev lead:</font> <strong>James Socol</strong>
* <font color="red">Dev lead:</font> <strong>James Socol</strong>
* <font color="green">QA lead:</font> <strong>Stephen Donner/Vishal Kamdar</strong>
* <font color="green">QA lead:</font> <strong>Rebecca Billings</strong>
* <font color="orange">IT lead:</font> <strong>Shayam Mani/Trevor Hardcastle</strong>
* <font color="orange">IT lead:</font> <strong>Jeremy Orem</strong>


== Checklist ==
== Checklist ==
'''First things first'''
* Meet and schedule release - <strong>Entire SUMO dev team</strong>
* Meet and schedule release - <strong>Entire SUMO dev team</strong>
 
* Decide on release date - <strong>Entire team</strong>
* Decision on release date - <strong>Entire team</strong>
** Update [https://wiki.mozilla.org/Support/SUMOdev_Meeting_Notepad SUMO Meeting Notepad page] with correct milestones and target freeze/push dates - <font color="red">Dev lead</font>
** Update [[Releases]] page - <font color="blue">Project lead</font>
** Email sumo-dev@mozilla.com with proposed schedule - <font color="red">Dev lead</font>
** Update Releases/PRODUCT&VERSION with proposed schedule - <font color="blue">Project lead</font>
* Triage of features/bug fixes/nominations, as needed (on-going) - <font color="red">Dev lead</font> / <font color="blue">Project lead</font>
** Email dev-planning and release-drivers with proposed schedule - <font color="blue">Project lead</font>
 
* 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="green">QA lead</font>
** Alert developers of upcoming freeze - <font color="red">Dev lead</font>


'''Development Phase'''
* Development lands all planned patches - <font color="red">Dev 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>
** Hand off to QA for testing/verifications - <font color="green">QA Lead</font>
** Alert developers to blockers - <font color="green">QA lead</font>


'''Testing phase''' -- happens in tandem with the development phase
* QA tests on staging - <font color="green">QA lead</font> (usually and should happen(s) before tree is tagged)
* QA runs ad-hoc and Litmus tests, and individual bug verifications for that milestone
* Triage of blocking/approval requests as needed - <font color="red">Dev lead</font>
** When signed off, email sumo-dev@mozilla.com with notification - <font color="green">QA lead</font>
'''Feature development/testing finished, code frozen'''
* Dev lead tags the tree - <font color="red">Dev lead</font>
* Dev lead tags the tree - <font color="red">Dev lead</font>
* Dev lead files the IT push bug - <font color="red">Dev lead</font>, which includes:
** Tag information
** Changes to libraries/added dependencies (if any)
** Needed SQL (if any)
** Cache-clearing instructions (if any)
* IT/Dev updates https://wiki.mozilla.org/Releases with the release date
* Determine release manager, typically the project manager or lead developer. This person will make calls as to whether to rollback.
* Prior to the release team meets to discuss:
** Steps for deployment will be talked through and docs checked
** Roll back plan will be discussed
** Rollback decision points will be reviewed
** Downtime notice plans


* QA tests builds - <font color="orange">QA Lead</font> (usually and should happen(s) before tree is tagged)
'''Push day'''
* QA runs ad-hoc and Litmus tests, and individual bug verifications for that milestone
* Team is notified via IT push bug of the push time - <font color="orange">IT lead</font>
** When signed off, email sumo-dev@mozilla.com with notification - <font color="orange">QA Lead</font>
* All team members who are responsible for code or infrastructure affected by the release will be present, or the release will not go ahead. - <strong>Entire SUMO dev team + IT</strong>
* IT pushes at the agreed-upon time and updates the bug and #sumodev channel of the changes
* Dev/QA/IT agree it's stable to test - <strong>Entire SUMO dev team + IT</strong>
* QA begins testing fixed bugs and running a combination of Litmus tests + automation (eventually -- not there yet w/Kitsune) - <font color="green">QA lead</font>
* Once QA (and everyone) feels comfortable with the build, they verify the push bug - <font color="green">QA lead</font>
Confirmed users
1,504

edits