Confirmed users
1,311
edits
Ritu Kothari (talk | contribs) m (→Goal: Fixing bullet point formatting) |
(Mark as obsolete) |
||
(47 intermediate revisions by 5 users not shown) | |||
Line 1: | Line 1: | ||
{{RELEASE_MANAGEMENT_OBSOLETE}} | |||
<p>The bulk of this information is available in [https://docs.google.com/document/d/13EU2B4hqt9x7z4g5ApF0AEWMPBpFPnrSf6dQ6kuEePM/ Ways to ship a change to Firefox Desktop] document. | |||
<br><br> | |||
= Goal = | = Goal = | ||
Line 8: | Line 13: | ||
The list of off-train release requests include (but are not limited to): | The list of off-train release requests include (but are not limited to): | ||
* Shipping content via Remote Settings | |||
* Shipping a new Mozilla webextension | * Shipping a new Mozilla webextension | ||
* [https://wiki.mozilla.org/Firefox/Go_Faster/System_Add-ons/Process GoFaster] for shipping new system add-ons | * [https://wiki.mozilla.org/Firefox/Go_Faster/System_Add-ons/Process GoFaster] for shipping new system add-ons | ||
Line 38: | Line 44: | ||
| align=center| '''Checklist''' | | align=center| '''Checklist''' | ||
|- style="border:1pt solid #000000;padding:0.176cm;" | |- style="border:1pt solid #000000;padding:0.176cm;" | ||
| align=center| Content sent via Remote Settings | |||
|| Publishing content to Firefox users with the in-product messaging system (Remote Settings) | |||
''Example:'' (TBD) | |||
<u>Typical time-to-ship</u>: (TBD) | |||
|| Product manager/Dev owner files a bug and adds the messaging-system-request flag, filling out the resulting Bugzilla comment form. | |||
<u>Driver</u>: Product owner | |||
|| ✅ Product owner | |||
✅ Publishing engineer | |||
✅ Messaging (Firefox) Engineering peer | |||
✅ Messaging Product owner | |||
✅ Relman owner | |||
||[https://docs.google.com/document/d/1TAu5OQ_hWZjfL4k9-b7uEcjjyvWhgeQQD6X5ksCC7bc/edit#heading=h.rfqkfzwwckon Messaging system intake and release process] | |||
|- style="border:1pt solid #000000;padding:0.176cm;" | |||
| align=center| New Mozilla webext | | align=center| New Mozilla webext | ||
|| A business need to publish Mozilla owned webext to Firefox Desktop users via AMO. | || A business need to publish Mozilla owned webext to Firefox Desktop users via AMO. | ||
Line 59: | Line 89: | ||
|| | || | ||
|- style="border:1pt solid #000000;padding:0.176cm;" | |- style="border:1pt solid #000000;padding:0.176cm;" | ||
| align=center| GoFaster | | align=center| GoFaster | ||
Line 212: | Line 242: | ||
= General process = | = General process = | ||
As all these processes are similar, the general process is | As all these processes are similar, the general process is described. Specific details are described in dedicated checklists. | ||
# Kick-off email thread or meeting to establish scope, owners and timeline. | |||
# Identify which off-train release vehicle to use. E.g. Controlled rollout or dot release or chemspill or shield study. | |||
# Create checklist, find owners and track items on the checklist. | |||
# Requirement doc - defines the goal of the change, why we are doing it and what will be done | |||
# Test plan - Using the requirement doc, the QA owner will draft the test plan. Test plan to be reviewed by product owner, eng owner. | |||
# Prepare the technical changes (code, pref change, etc) | |||
# “Build it” process (including signature if needed) | |||
# QA sign off - Formal QA sign off. | |||
# Rollout plan and timing - From the kick-off meeting to daily stand-ups, keep the team aligned on rollout plan and timing. | |||
# Communication - Do we need to communicate on the change? Release notes? Blog? If yes, identify owner and timeline to publish blog live. | |||
# Publication of the change | |||
# QA sign off of the publication of the change | |||
= Process: Messaging to users with Remote Settings = | |||
==Decisions== | |||
== Extra steps == | |||
== Checklist == | |||
== Extra information == | |||
[https://docs.google.com/document/d/1eDDIZCp_pD01cCeghum7fLRDqmEl3dfds9y3yI4W9Hw/edit Messaging system intake and release process] | |||
= Process: Shipping a New Mozilla Webextension = | = Process: Shipping a New Mozilla Webextension = | ||
Line 238: | Line 274: | ||
== Decisions == | == Decisions == | ||
Products supported: Desktop / Fennec / both | * Products supported: Desktop / Fennec / both | ||
* Platforms supported | |||
Platforms supported | * Firefox versions supported | ||
* Release readiness criteria | |||
Firefox versions supported | ** QA | ||
** Performance | |||
Release readiness criteria | ** Security review | ||
* | * What kind of telemetry data will this webext capture and send to Mozilla? | ||
* | * Timeline and rollout strategy | ||
* | |||
What kind of telemetry data will this webext capture and send to Mozilla? | |||
Timeline and rollout strategy | |||
== Extra steps == | |||
# Data Steward review and sign off - Review webext by a data steward to ensure we are not collecting any privacy data that we ought not to. | |||
# Security review - Security team within Product Integrity (PI) group will review and sign off on webext | |||
# Perf review - Perf team within Product Integrity (PI) group will review and sign off on webext | |||
# Maintain webext and fix issues reported by users - This happens in iterations until the time Mozilla plans to support this new webext | |||
== Checklist == | |||
{| border="1" style="border-spacing:0;width:17.251cm;" | {| border="1" style="border-spacing:0;width:17.251cm;" | ||
|- style="background-color:#ffff00;border:0.75pt solid #000000;padding:0.071cm;" | |- style="background-color:#ffff00;border:0.75pt solid #000000;padding:0.071cm;" | ||
Line 347: | Line 372: | ||
|- | |- | ||
|} | |} | ||
= Process: GoFaster release Ship a new system add-on (SAO) or update an existing one = | = Process: GoFaster release Ship a new system add-on (SAO) or update an existing one = | ||
Line 357: | Line 377: | ||
== Decisions == | == Decisions == | ||
Is GoFaster the [https://wiki.mozilla.org/Firefox/Go_Faster/When_To_Use_System_Add-ons appropriate release strategy]? | * Is GoFaster the [https://wiki.mozilla.org/Firefox/Go_Faster/When_To_Use_System_Add-ons appropriate release strategy]? | ||
* By nature, the rest of the decisions are the same as a Mozilla Webextension | |||
By nature, the rest of the decisions are the same as a Mozilla Webextension | |||
== Extra steps == | == Extra steps == | ||
# By nature, the rest of the decisions are the same as a Mozilla Webextension | |||
== Checklists == | |||
Line 451: | Line 468: | ||
|- | |- | ||
|} | |} | ||
== Extra information == | == Extra information == | ||
The steps for shipping a system add-on are described in detail here: | |||
[https://wiki.mozilla.org/Firefox/Go_Faster/System_Add-ons/Process https://wiki.mozilla.org/Firefox/Go_Faster/System_Add-ons/Process] | [https://wiki.mozilla.org/Firefox/Go_Faster/System_Add-ons/Process https://wiki.mozilla.org/Firefox/Go_Faster/System_Add-ons/Process] | ||
= Process: Funnelcake release = | = Process: Funnelcake release = | ||
Line 465: | Line 481: | ||
== Decisions == | == Decisions == | ||
* | * Timeline | ||
* | * Team | ||
* | * Scope | ||
* | * New User population that will be targeted | ||
* | * Release readiness criteria | ||
** | ** QA | ||
** | ** Perf | ||
** | ** Security review | ||
** | ** Data & Privacy review | ||
== Extra steps == | == Extra steps == | ||
Intent to ship email to release-drivers with the bug number | # Intent to ship email to release-drivers with the bug number | ||
# Releng owner to configure balrog rules and sign offs | |||
Releng owner to configure balrog rules and sign offs | |||
== Checklists == | == Checklists == | ||
Line 550: | Line 559: | ||
== Extra information == | == Extra information == | ||
[https://wiki.mozilla.org/Funnelcake https://wiki.mozilla.org/Funnelcake ] | [https://wiki.mozilla.org/Funnelcake https://wiki.mozilla.org/Funnelcake ] | ||
= Process: Add-ons/ThirdParty Blocklisting = | = Process: Add-ons/ThirdParty Blocklisting = | ||
Line 566: | Line 573: | ||
== Extra steps == | == Extra steps == | ||
# | # Intent to ship email to release-drivers to explain the change | ||
# | # The change should be published on the relevant platform | ||
== Checklists == | == Checklists == | ||
Line 634: | Line 639: | ||
= Process: Shield studies = | = Process: Shield studies = | ||
Shield studies are controlled A/B tests. They are available on all channels, namely Nightly, Beta, Release. A/B experiments are done to understand user behavior, user retention, onboarding, test feature ideas, etc. | Shield studies are controlled A/B tests, using either a pref-flip or an add-on. They are available on all channels, namely Nightly, Beta, Release. A/B experiments are done to understand user behavior, user retention, onboarding, test feature ideas, etc. | ||
== Decisions == | == Decisions == | ||
* Work with Data Science first to determine the best way to answer your questions. A pref-flip or add-on study is only one way to find answers. Guidance to get started with Data Science is [https://mana.mozilla.org/wiki/display/PM/Firefox+Data+Science#FirefoxDataScience-projectworkflow here]. | |||
* | * If Data Science and product determine a pref-flip or add-ons study is needed, you will fill out Experimenter together to get started. Getting Started guidance [https://mana.mozilla.org/wiki/display/FIREFOX/Pref-Flip+and+Add-On+Experiments#Pref-FlipandAdd-OnExperiments-GettingStarted here]. | ||
* | * These are the [https://mana.mozilla.org/wiki/display/FIREFOX/Pref-Flip+and+Add-On+Experiments#Pref-FlipandAdd-OnExperiments-Stages stages] between starting Experimenter and the study releasing. | ||
* | |||
== Extra steps == | == Extra steps == | ||
# | # In Experimenter, after you have completed your "Draft", click the "[https://mana.mozilla.org/wiki/display/FIREFOX/Pref-Flip+and+Add-On+Experiments#Pref-FlipandAdd-OnExperiments-ReadyforSign-offs Ready for Sign-offs]" button to get the checklist of Required and Optional items needed to launch your study. | ||
# When you have all your required and optional checklist items complete, click the "Ready to Ship" button to let Normandy know this is ready to be launched. You will be contacted with any questions. | |||
== Checklists == | == Checklists == | ||
Line 662: | Line 661: | ||
| align=center| Completion Date | | align=center| Completion Date | ||
|- style="background-color:#ffffff;border:0.75pt solid #000000;padding:0.071cm;" | |- style="background-color:#ffffff;border:0.75pt solid #000000;padding:0.071cm;" | ||
| align=center| | | align=center| Data Science Bug | ||
| align=center| | | align=center| product-owner | ||
| align=center| | | align=center| | ||
| align=center| | | align=center| | ||
| align=center| | | align=center| | ||
|- style="background-color:#ffffff;border:0.75pt solid #000000;padding:0.071cm;" | |- style="background-color:#ffffff;border:0.75pt solid #000000;padding:0.071cm;" | ||
| align=center| | | align=center| Analysis Battery | ||
| align=center| | | align=center| data scientist | ||
| align=center| | | align=center| | ||
| align=center| | | align=center| | ||
| align=center| | | align=center| | ||
|- style="background-color:#ffffff;border:0.75pt solid #000000;padding:0.071cm;" | |- style="background-color:#ffffff;border:0.75pt solid #000000;padding:0.071cm;" | ||
| align=center| | | align=center| Experimenter Draft | ||
| align=center| | | align=center| product-owner & data scientist | ||
| align=center| | | align=center| | ||
| align=center| | | align=center| | ||
| align=center| | | align=center| | ||
|- style="background-color:#ffffff;border:0.75pt solid #000000;padding:0.071cm;" | |- style="background-color:#ffffff;border:0.75pt solid #000000;padding:0.071cm;" | ||
| align=center| | | align=center| Complete Study checklist | ||
| align=center| | | align=center| product-owner | ||
| align=center| | | align=center| | ||
| align=center| | | align=center| | ||
| align=center| | | align=center| | ||
|- style="background-color:#ffffff;border:0.75pt solid #000000;padding:0.071cm;" | |- style="background-color:#ffffff;border:0.75pt solid #000000;padding:0.071cm;" | ||
| align=center| | | align=center| Kick-off the study | ||
| align=center| | | align=center| Normandy-owner | ||
| align=center| | | align=center| | ||
| align=center| | | align=center| | ||
| align=center| | | align=center| | ||
|- style="background-color:#ffffff;border:0.75pt solid #000000;padding:0.071cm;" | |- style="background-color:#ffffff;border:0.75pt solid #000000;padding:0.071cm;" | ||
| align=center| | | align=center| Study Results | ||
| align=center| | | align=center| product-owner & data scientist | ||
| align=center| | | align=center| | ||
| align=center| | | align=center| | ||
Line 702: | Line 701: | ||
== Extra information == | == Extra information == | ||
Useful links* | Useful links | ||
* | * [https://mana.mozilla.org/wiki/display/FIREFOX/Pref-Flip+and+Add-On+Experiments#Pref-FlipandAdd-OnExperiments-Risks&Testing risk assessment criteria] | ||
* [https://mana.mozilla.org/wiki/display/FIREFOX/Pref-Flip+and+Add-On+Experiments#Pref-FlipandAdd-OnExperiments-GettingStarted Experimenter Guidance] | |||
= Process: Feature rollout via Normandy = | = Process: Feature rollout via Normandy = | ||
Line 712: | Line 712: | ||
== Decisions == | == Decisions == | ||
* | * Timeline (Refer to the [https://docs.google.com/document/d/1xiWjGqK-s3NiqEY-Qg34eAm1Nca5iqzEUE8udRX1ku0/edit feature rollout playbook] for help with this) | ||
* | * Products affected: Desktop, Fennec, ESR? | ||
* | * Platforms affected: All, Windows, Mac, Linux? | ||
* | * Rollout strategy | ||
== Extra steps == | == Extra steps == | ||
# File a bug for handling the rollout (examples: {{bug|1467514}} or {{bug|1523978}}) | |||
# Development owner (likely mythmon) configures the recipe in Normandy to flip pref for targeted end-users | |||
# For release-unblockers/hotfixes, set up on stage, so QA can test on https://delivery-console.stage.mozaws.net | |||
# Release owner reviews, approves and publishes recipe | |||
# Feature team, release owner monitor data to verify: | |||
## Recipe uptake is going as planned | |||
## Feature is having the intended effect on end-users | |||
== Checklist == | == Checklist == | ||
<TBD> | <TBD> | ||
= Process Dot Release = | = Process Dot Release = | ||
Dot release builds are pushed to release/ESR end-user users to mitigate release blocking issues | Dot release builds are pushed to release and/or ESR end-user users to mitigate release blocking issues. | ||
== Decisions == | == Decisions == | ||
* | * Timeline</div> | ||
* | * Bugs that are dot release drivers and ride-alongs | ||
* | * Products affected: Desktop, Fennec, ESR? | ||
* | * Platforms affected: All, Windows, Mac, Linux? | ||
* | * Rollout strategy | ||
* | * Release notes, sec advisories, comms plan, What’s New Page | ||
== Extra steps == | == Extra steps == | ||
# | # Release owner drafts release notes and shares for review. | ||
# | # Security owner drafts security advisory as needed and shares for review. | ||
== Checklist == | == Checklist == | ||
Example: [https://drive.google.com/open?id=1LTuQzvudGchDPELJkhpv7C8H7-2qTcmTvDokkZGpoFY 59.0.x dot release checklist] | |||
Example: [https://drive.google.com/open?id=1LTuQzvudGchDPELJkhpv7C8H7-2qTcmTvDokkZGpoFY 59.0.x dot release checklist] | |||
= Process: Chemspills = | = Process: Chemspills = | ||
Line 759: | Line 754: | ||
== Decisions == | == Decisions == | ||
* | * Timeline | ||
* | * Products affected: Desktop, Fennec, ESR? | ||
* | * Platforms affected: All, Windows, Mac, Linux? | ||
* | * sec advisories, comms plan | ||
== Extra steps == | == Extra steps == | ||
# | # Security owner drafts security advisory as needed and shares for review. | ||
# | # Create a CVE if necessary | ||
# | # Reach out to partners and/or other projects impacted if needed | ||
== Checklist == | |||
[https://docs.google.com/spreadsheets/d/1LRrKopum2_ScOglsyXtkKgyNyiUAhooaFNZDxo4iUN8/edit#gid=0 Chemspill release checklist] | [https://docs.google.com/spreadsheets/d/1LRrKopum2_ScOglsyXtkKgyNyiUAhooaFNZDxo4iUN8/edit#gid=0 Chemspill release checklist] | ||
== Extra information == | == Extra information == | ||
[https://docs.google.com/document/d/1SwiR6Jk9Sdqfd0CU06Qci0XlJ3fnoD6BGVkL1imrcgY/edit?usp=sharing Chemspill process description] | |||