Compatibility/System Addon/Release Process: Difference between revisions

Jump to navigation Jump to search
Fennec no longer exists!
(Add search queries for currently released interventions.)
(Fennec no longer exists!)
Line 16: Line 16:
There are two types of interventions that we ship in Firefox: high priority and low priority. As a general rule of thumb, a low priority intervention will fix a long-standing bug. A high priority intervention will fix a regression in a top site. In case of confusion, please get in touch with Mike Taylor for clarification as to which class we’re dealing with.
There are two types of interventions that we ship in Firefox: high priority and low priority. As a general rule of thumb, a low priority intervention will fix a long-standing bug. A high priority intervention will fix a regression in a top site. In case of confusion, please get in touch with Mike Taylor for clarification as to which class we’re dealing with.


Low priority interventions should be landed in the [https://github.com/mozilla-extensions/webcompat-addon Mozilla webcompat-addon repo] on GitHub and upstreamed to the relevant tree once per release. These do not require outside collaboration or approval to ship (except for the case of Fennec ESR, which will require Relman uplift to the ESR branch while it exists as a supported product), beyond WebCompat Addon module peer or owner approval.
Low priority interventions should be landed in the [https://github.com/mozilla-extensions/webcompat-addon Mozilla webcompat-addon repo] on GitHub and upstreamed to the relevant tree once per release. These do not require outside collaboration or approval to ship, beyond WebCompat Addon module peer or owner approval.


High priority interventions require shipping out-of-band via Balrog ([https://bugzilla.mozilla.org/show_bug.cgi?id=1571535 or Normandy in the future]), and as such, require a more in-depth QA and Relman release process, at least for Fennec and Desktop. The process for Release Fenix is currently undefined.
High priority interventions require shipping out-of-band via Balrog ([https://bugzilla.mozilla.org/show_bug.cgi?id=1571535 or Normandy in the future]), and as such, require a more in-depth QA and Relman release process.


== Shipping Scenarios ==
== Shipping Scenarios ==
All interventions should first land in the [https://github.com/mozilla-extensions/webcompat-addon Mozilla webcompat-addon repo] on GitHub and be accompanied by a version number bump in the addon’s manifest.json. There may be high priority situations where it’s more desirable to land in Mozilla Central first. In these cases, the patches must be backported to GitHub as soon as the intervention is shipped.  
All interventions should first land in the [https://github.com/mozilla-extensions/webcompat-addon Mozilla webcompat-addon repo] on GitHub and be accompanied by a version number bump in the addon’s manifest.json. There may be high priority situations where it’s more desirable to land in Mozilla Central first. In these cases, the patches must be backported to GitHub as soon as the intervention is shipped.  


Once the intervention is reviewed by a [[https://wiki.mozilla.org/Modules/All#WebCompat_Addons WebCompat Addon module peer]] and landed, one or more of the following shipping scenarios is followed, depending on the affected platforms and products:
Once the intervention is reviewed by a [https://wiki.mozilla.org/Modules/All#WebCompat_Addons WebCompat Addon module peer] and landed, one or more of the following shipping scenarios is followed, depending on the affected platforms and products:


=== Desktop Releases ===
=== Desktop Releases ===
Line 35: Line 35:


==== High Priority ====
==== High Priority ====
{{todo| make sure this is up to date with the new mozilla-extensions github actions workflow|mike}}
{{todo| make sure this is up to date with the new mozilla-extensions github actions workflow when work is done|denschub}}
# File a bug to ship the addon via Balrog in the [https://bugzilla.mozilla.org/buglist.cgi?product=Web%20Compatibility&component=Interventions&resolution=---&list_id=15330878 Web Compatibility::Interventions] component
# Attach an XPI for the WebCompat QA team to test locally using the following naming convention: webcompat-N.N.N.unsigned.xpi
# When testing, QA can use an unbranded build, or Nightly.
# Describe how QA can test and verify the intervention in a comment
# QA will test and leave a comment with their findings: either sign-off, or describing unexpected behavior that needs to be investigated.
# Request the signed addon be staged to the release-sysaddon channel by :rdalal
# Ask QA to verify the release-sysaddon update works ([https://bugzilla.mozilla.org/show_bug.cgi?id=1568636#c21 instructions here]), and the intervention works as expected
# Once QA signs off, request Relman for signoff in Balrog (a needinfo request in the bug is sufficient)
# Once the addon ships to release:
## Land the addon in Mozilla Central and request Beta uplift
## File a bug to remove the addon from Balrog in the [https://bugzilla.mozilla.org/describecomponents.cgi?product=Firefox&component=System%20Add-ons%3A%20Off-train%20Deployment#System%20Add-ons%3A%20Off-train%20Deployment Firefox::System Add-ons: Off-train Deployment] component. This should happen when the next addon version rides to release, otherwise it will be overridden by the older version in Balrog. e.g., [https://bugzilla.mozilla.org/show_bug.cgi?id=1587186 Bug 1587186].


=== Mobile Releases ===
A current overview of the high-level steps required to ship via ShipIt can be found [https://docs.google.com/document/d/1AsyiOPDMVjWhDUD0fcdNw-kgLn8iLX_5DSVOvQk8TtQ/ this Google Doc (Mozilla-internal)]. Ping :denschub if something needs to be rolled out urgently.
==== Fennec ESR ====
The process for Fennec will match Desktop, except the patches need to be written against the ESR branch.  
 
===== Low Priority =====
# Relman will need to approve ESR uplift for the next ESR release once the patch has landed in the ESR branch. This happens in Bugzilla by requesting ESR approval for the patch.
 
===== High Priority =====
# Follow the same steps as Desktop High Priority.


==== Fenix / Android Components ====
==== Fenix / Android Components ====
Line 64: Line 45:
# File an issue and open a pull request against the [https://github.com/mozilla-mobile/android-components Android Components repo] on GitHub which contains the updated addon and request review. Currently Dennis Schubert and Mike Taylor can review and merge, as well as any core member of the mozilla-mobile organization.
# File an issue and open a pull request against the [https://github.com/mozilla-mobile/android-components Android Components repo] on GitHub which contains the updated addon and request review. Currently Dennis Schubert and Mike Taylor can review and merge, as well as any core member of the mozilla-mobile organization.
# That’s it. The new version will be used when the new android-components version is released (currently weekly).
# That’s it. The new version will be used when the new android-components version is released (currently weekly).
{{todo| depending on how updated android components are released in Fenix, there may not be a difference between high and low priority releases. But if there is, we need to find out how to ask for an urgent version release...ideally before we need it}}


==== Firefox iOS ====
==== Firefox iOS ====
Line 81: Line 60:
* [ ] Balrog folks have uploaded XPI  
* [ ] Balrog folks have uploaded XPI  
* [ ] Relman has signed off on XPI in Balrog
* [ ] Relman has signed off on XPI in Balrog
* [ ] Fennec ESR uplift request, when relevant
* [ ] Desktop ESR uplift request, when relevant
* [ ] Desktop ESR uplift request, when relevant
* [ ] m-c beta or ESR uplift request, when relevant
* [ ] m-c beta or ESR uplift request, when relevant
219

edits

Navigation menu