Firefox/Go Faster/System Add-ons/Process: Difference between revisions

m
(Remove draft notes, let's just go live with it.)
 
(13 intermediate revisions by 5 users not shown)
Line 15: Line 15:


The major use cases for system add-ons is to roll out a vetted and QA'd feature or fix off of the standard release trains.
The major use cases for system add-ons is to roll out a vetted and QA'd feature or fix off of the standard release trains.
If you're thinking of [[Firefox/Making Network Requests From Firefox|Making Network Requests From Firefox]], there is specific guidance to follow.
=== Are there development resources for system add-ons? ===
We have a couple of repositories we ask users use to develop their system add-ons.
A large use case for system add-ons have been smaller one-off add-ons to ship fixes and updates (e.g. pref flips).
For these '''one-off add-ons''', you can visit https://github.com/mozilla/one-off-system-add-ons where you'll find example code, tests and more.
For '''larger, more complex add-ons''', you can visit https://github.com/mozilla/example-addon-repo with more resources.
=== Is this a one-off system add-on? ===
If yes, please create it in https://github.com/mozilla/one-off-system-add-ons/, as a bonus you can base it on the other add-ons that are in there.


=== Where can I find existing examples of system add-ons? ===
=== Where can I find existing examples of system add-ons? ===
One-off system add-ons can be found here: https://github.com/mozilla/one-off-system-add-ons/


Go Faster System Add-ons will have [https://bugzilla.mozilla.org/buglist.cgi?list_id=13283590&status_whiteboard_type=substring&status_whiteboard=%5Bgo-faster-system-addon%5D&query_format=advanced WHITEBOARD=[go-faster-system-addon<nowiki>]</nowiki>]
Go Faster System Add-ons will have [https://bugzilla.mozilla.org/buglist.cgi?list_id=13283590&status_whiteboard_type=substring&status_whiteboard=%5Bgo-faster-system-addon%5D&query_format=advanced WHITEBOARD=[go-faster-system-addon<nowiki>]</nowiki>]
Line 83: Line 101:
'''Responsibility''': add-on developer/owner; code reviewer; QA
'''Responsibility''': add-on developer/owner; code reviewer; QA


= Intent to Ship and RelMan Approval =
= Deployment Bug, Intent to Ship and RelMan Approval =
 
=== Deployment Bug ===
Once the add-on has been reviewed by QA, a [https://bugzilla.mozilla.org/enter_bug.cgi?product=Firefox&component=System%20Add-ons%3A%20Off-train%20Deployment deployment bug should be filed] under the "System Add-ons: Off-train Deployment" component.
 
This bug should mark the tracking bug as a dependency. Additionally the bug should have the XPI file attached.
 
A sample bug can be found here: https://bugzilla.mozilla.org/show_bug.cgi?id=1546450


=== Intent to Ship ===  
=== Intent to Ship ===  
Once the add-on has been reviewed by QA, an Intent to Ship email should be sent.
After filing the deployment bug, an Intent to Ship email should be sent.


Please expect a lead time of at least 3 business days between the email being sent, and the add-on released into production. Holidays and work weeks will effect scheduling.
Please expect a lead time of at least 3 business days between the email being sent, and the add-on released into production. Holidays and work weeks will effect scheduling.
Line 94: Line 119:
|-
|-
! Field !! Example
! Field !! Example
|-
| Deployment bug || filed under the System Add-ons: Off-train Deployment component
|-
|-
| Tracking bug || see Getting Started for samples
| Tracking bug || see Getting Started for samples
Line 118: Line 145:
=== Release Management Approval ===
=== Release Management Approval ===


The driver of the current release should Reply All to the Intent to Ship email with approval for release.
The driver of the current release should Reply All to the Intent to Ship email with approval for release. In addition they should sign off in the deployment bug. Please request that they do so.
 
Note that Release Management Approval does not necessarily all stakeholders are of aware of your add-on's effects. If you might impact other teams, be sure to contact them as well.


'''Responsibility''': add-on developer; release management
'''Responsibility''': add-on developer; release management
Line 147: Line 176:


= Verification of Test Channel =
= Verification of Test Channel =
<big>'''** NEW **''' TODO: regroup with QA to see if we can get some help on verifying the test channel</big>


The purpose of this step is to receive verification that the add-on is being deployed correctly on the test channel (`release-sysaddon`).
The purpose of this step is to receive verification that the add-on is being deployed correctly on the test channel (`release-sysaddon`).


This should be done by another Go Faster Team member, or external QA.
This will be done by the QA team.


Notes on how best to verify system add-ons on the test channel can be found here: https://wiki.mozilla.org/Firefox/Go_Faster/Releasing_an_add-on_mechanics#Verifying_Balrog
Notes on how best to verify system add-ons on the test channel can be found here: https://wiki.mozilla.org/Firefox/Go_Faster/Releasing_an_add-on_mechanics#Verifying_Balrog
Notes regarding coverage: https://public.etherpad-mozilla.org/p/sysaddon-balrog-verification


Once the test channel has been verified, a Reply All should be sent to the "Deployed to Test Channel" email.
Once the test channel has been verified, a Reply All should be sent to the "Deployed to Test Channel" email.


'''Responsibility''': Go Faster Team peer review; QA
'''Responsibility''': QA


= Push Release and Rules to Production =
= Push Release and Rules to Production =
Line 166: Line 195:
Example: https://bugzilla.mozilla.org/show_bug.cgi?id=1312528#c19
Example: https://bugzilla.mozilla.org/show_bug.cgi?id=1312528#c19


'''Responsibility''': Go Faster Team
Once the rules have been updated in Balrog, the changes must be sign off by Relman/Releng.
 
Update Deployment Matrix: https://docs.google.com/spreadsheets/d/1yOgiOTU8q2I709VFhjCYCLATmoyQueV8RttPzciFIkQ/edit#gid=0
 
'''Responsibility''': Go Faster Team, Relman/Releng


= Measurement =
= Measurement =


2016Q4 Goal is to track rollout of the add-on. See: https://wiki.mozilla.org/Firefox/Go_Faster/Measurement
2016Q4 Goal is to track rollout of the add-on. See: https://wiki.mozilla.org/Firefox/Go_Faster/Measurement
Confirmed users
18

edits