Firefox/Input/Release Checklist: Difference between revisions

< Firefox‎ | Input
mNo edit summary
 
(4 intermediate revisions by 3 users not shown)
Line 2: Line 2:


*<font color="blue">Product lead: aakashd</font>  
*<font color="blue">Product lead: aakashd</font>  
*<font color="brown">Dev lead: fwenzel/davedash</font>  
*<font color="brown">Dev lead: davedash</font>  
*<font color="orange">QA lead: stephend</font>  
*<font color="orange">QA lead: mbrandt</font>  
*<font color="green">IT lead: push bug assignee</font>
*<font color="green">IT lead: push bug assignee</font>


Line 13: Line 13:
#Triage of blocking/approval requests as needed - <font color="blue">Product</font>/<font color="brown">Dev Lead</font>  
#Triage of blocking/approval requests as needed - <font color="blue">Product</font>/<font color="brown">Dev Lead</font>  
#Update staging data from prod if necessary.  
#Update staging data from prod if necessary.  
#*Until this is automated, make sure to change both instances of ''input.moz.com'' under Django admin -&gt; Sites back to ''input.'''stage'''.moz.com''. Otherwise the mobile site won't be served.
#*Until this is automated, make sure to change both instances of ''input.moz.com'' under Django admin -&gt; Sites back to ''input.'''stage'''.moz.com''. Otherwise the mobile site won't be served.  
#Are builds passing in Jenkins - <font color="green">QA Lead</font>/<font color="brown">Dev Lead</font>


== Get Set  ==
== Get Set  ==
Line 19: Line 20:
#Declare a string freeze - <font color="brown">Dev lead</font>  
#Declare a string freeze - <font color="brown">Dev lead</font>  
#*Notify localizers.  
#*Notify localizers.  
#File push bug in mozilla.org/Server Operations - Web Content Push - <font color="blue">Product lead</font>  
#File push bug in mozilla.org/Server Operations - Web Content Push - <font color="brown">Dev lead</font>  
#*Offer a date and time to IT - <font color="blue">Product lead</font>  
#*Offer a date and time to IT - <font color="brown">Dev lead</font>  
#Enact a code freeze - <font color="brown">Dev lead</font>  
#Enact a code freeze - <font color="brown">Dev lead</font>  
#*Email input@mo with notification  
#*Email input@mo with notification  
Line 37: Line 38:
== Go!  ==
== Go!  ==


# Tag the release by updating the prod branch <font color="brown">Dev lead</font>
#* <code>git checkout last_known_good && git reset --hard prod && git push origin HEAD</code>
#* <code>git checkout prod && git reset --hard origin/master && git push origin HEAD</code>
#* For version 3.3.3, for example:<br/><code>git tag -m 'version 3.3.3 as pushed to prod' 3.3.3 HEAD</code>
#* <code>git push origin --tags</code>
#Push to production at assigned time - <font color="green">IT lead</font>  
#Push to production at assigned time - <font color="green">IT lead</font>  
#*Update sphinx (via Puppet)  
#*Update sphinx (via Puppet)  

Latest revision as of 22:07, 6 July 2011

Team

  • Product lead: aakashd
  • Dev lead: davedash
  • QA lead: mbrandt
  • IT lead: push bug assignee

Get Ready

  1. Decision on release date and features - Product/Dev Lead
    • Update Firefox/Input page - Product lead
    • Email input@mo with proposed schedule and version number - Product lead
  2. Triage of blocking/approval requests as needed - Product/Dev Lead
  3. Update staging data from prod if necessary.
    • Until this is automated, make sure to change both instances of input.moz.com under Django admin -> Sites back to input.stage.moz.com. Otherwise the mobile site won't be served.
  4. Are builds passing in Jenkins - QA Lead/Dev Lead

Get Set

  1. Declare a string freeze - Dev lead
    • Notify localizers.
  2. File push bug in mozilla.org/Server Operations - Web Content Push - Dev lead
    • Offer a date and time to IT - Dev lead
  3. Enact a code freeze - Dev lead
    • Email input@mo with notification
  4. Staging verification - QA Lead
    • QA performs release testing
    • When signed off, email input@mo with notification
    • Update push bug with QA sign off
  5. Create release notes blog post - Product Lead
    • Confirm release notes with Dev lead, QA lead, others as appropriate
  6. Determine a Go or no Go - Product lead
    • If No Go, email input@mo with a formal "stop" notification and a second "go" notification when the process is started again
    • If Go, mention on push bug and input@mo 8 hours ahead of time.
      • Make sure an IT lead is assigned to the bug and there is a push time.
      • Tag the branch for release with the appropriate version - Dev lead

Go!

  1. Tag the release by updating the prod branch Dev lead
    • git checkout last_known_good && git reset --hard prod && git push origin HEAD
    • git checkout prod && git reset --hard origin/master && git push origin HEAD
    • For version 3.3.3, for example:
      git tag -m 'version 3.3.3 as pushed to prod' 3.3.3 HEAD
    • git push origin --tags
  2. Push to production at assigned time - IT lead
  3. QA verifies production changes - QA Lead
  4. Send out the blogpost - Product lead

Post Mortems