Release Management/Release Process: Difference between revisions

Jump to navigation Jump to search
m
multiple edits for links, rewording, typography.
(Update timeline data with more details about betas)
m (multiple edits for links, rewording, typography.)
Line 1: Line 1:
== Channels/Repositories ==
== Channels/Repositories ==
* '''Firefox Release/[https://hg.mozilla.org/releases/mozilla-release mozilla-release]''' : The official release of Firefox
* '''Firefox Release/[https://hg.mozilla.org/releases/mozilla-release mozilla-release]''' The official release of Firefox.
* '''Firefox Beta/[https://hg.mozilla.org/releases/mozilla-beta mozilla-beta]''' : Testing the next version of Firefox before it becomes the official release
* '''Firefox Beta/[https://hg.mozilla.org/releases/mozilla-beta mozilla-beta]''' Testing the next version of Firefox before it becomes the official release. Firefox Beta channel is also built from the Beta branch.
* '''Firefox Nightly/[https://hg.mozilla.org/mozilla-central mozilla-central]''' : Nightly releases that contains experimental features (covered regularly on Twitter from [https://twitter.com/FirefoxNightly @FirefoxNightly] [https://twitter.com/FennecNightly @FennecNightly])
* '''Firefox Nightly/[https://hg.mozilla.org/mozilla-central mozilla-central]''' Nightly releases that contains experimental features (covered regularly on Twitter from [https://twitter.com/FirefoxNightly @FirefoxNightly]).
* '''Firefox ESR/[https://hg.mozilla.org/releases/mozilla-esr{{ESR_CURRENT}}/ mozilla-esr{{ESR_CURRENT}}]''' : Official Desktop releases for Organizations. Check [https://wiki.mozilla.org/Release_Management/ESR_Landing_Process wiki] for detailed information
* '''Firefox ESR/[https://hg.mozilla.org/releases/mozilla-esr{{ESR_CURRENT}}/ mozilla-esr{{ESR_CURRENT}}]''' Official Desktop releases for Organizations. Check the [https://wiki.mozilla.org/Release_Management/ESR_Landing_Process wiki] for detailed information.


See the [https://wiki.mozilla.org/Tree_Rules Tree Rules] before pushing patch into any repository
See the [[Tree_Rules|Tree Rules]] before pushing patch into any repository.


[[File:Maintrepositories.png|center]]
[[File:Maintrepositories.png|center]]


== Download Links for Firefox for Desktop==
== Download Links for Firefox for Desktop==
Get the latest version of Firefox for Windows, macOS or Linux across all channels and check the Release notes for new features, enhancements or changes
Get the latest version of Firefox for Windows, macOS or Linux across all channels and check the Release notes for new features, enhancements or changes.
*[https://www.mozilla.org/firefox/ Firefox Release]
* [https://www.mozilla.org/firefox/ Firefox Release]
*[https://www.mozilla.org/firefox/beta/ Firefox Beta]
* [https://www.mozilla.org/firefox/beta/ Firefox Beta]
*[https://www.mozilla.org/firefox/developer/ Firefox Dev Edition]
* [https://www.mozilla.org/firefox/developer/ Firefox Dev Edition]
*[https://www.mozilla.org/firefox/nightly/ Firefox Nightly]
* [https://www.mozilla.org/firefox/nightly/ Firefox Nightly]
*[https://www.mozilla.org/firefox/organizations/ Firefox ESR (Extended Support Release)]
* [https://www.mozilla.org/firefox/organizations/ Firefox ESR (Extended Support Release)]


== Download Links for Firefox for Android ==
== Download Links for Firefox for Android ==
Line 24: Line 24:


== Release timeline ==
== Release timeline ==
Firefox is released at intervals of six to eight weeks (not counting urgent patch updates), meaning that every six to eight weeks there
Firefox is released at intervals of six to eight weeks (not counting urgent patch updates), meaning that every six to eight weeks there
will be a new version of Firefox Release.
will be a new version of Firefox Release.


=== From mozilla-central to mozilla-release ===
=== From mozilla-central to mozilla-release ===
* Firefox Nightly is released every 12 hours with all the changes landed on mozilla-central
* Firefox Nightly is released every 12 hours with all the changes landed on mozilla-central.
* Every 6 to 8 weeks, we merge the code from mozilla-central to our mozilla-beta branch. The mozilla-beta branch should now only get patches aimed at stabilizing the release. Any patch on mozilla-central that we want backported to our mozilla-beta branch should follow the [[Release_Management/Uplift_rules|approval rules for uplifts]]
* Every 6 to 8 weeks, we merge the code from mozilla-central to our mozilla-beta branch. The mozilla-beta branch should now only get patches aimed at stabilizing the release. Any patch on mozilla-central that we want backported to our mozilla-beta branch should follow the [[Release_Management/Uplift_rules|approval rules for uplifts]].
* Beta 1 and Beta 2 are built from this beta branch and used to build and ship Firefox Developer Edition as a stabilization step before shipping Firefox Beta to our much wider Beta audience.
* Beta 1 and Beta 2 are built from this beta branch and used to build and ship Firefox Developer Edition as a stabilization step before shipping Firefox Beta to our much wider Beta audience.
* Starting with Beta 3, Firefox Beta is released twice a week for Desktop, leaving us with 12 to 16 betas every cycle unless we have chemspills leading to additional betas. Firefox Beta 3 is shipped to a subset of our Beta population. The full Beta population gets updated starting with beta 4 only.
* Starting with Beta 3, Firefox Beta is released twice a week for Desktop, leaving us with 12 to 16 betas every cycle unless we have chemspills leading to additional betas. Firefox Beta 3 is shipped to a subset of our Beta population. The full Beta population gets updated starting with beta 4 only.
* At the end of the Beta cycle, a final build is validated by our QA and tagged for release into the mozilla-release branch
* At the end of the Beta cycle, a final build is validated by our QA and tagged for release into the mozilla-release branch.


=== Android specificities ===
=== Android specificities ===
Line 39: Line 38:
* Starting with Beta 3, Firefox Beta is released once a week for Android, leaving us with 6 to 9 betas every cycle.
* Starting with Beta 3, Firefox Beta is released once a week for Android, leaving us with 6 to 9 betas every cycle.


Release day activities/checklist can be found on the [[Release_Management/Release_Day|Release Day wiki page]]
Release day activities/checklist can be found on the [[Release_Management/Release_Day|Release Day wiki page]].
 
Our release schedule is meant to be flexible and we may occasionally modify the length of a cycle to be shorter or longer than the 6-8 week cycle mentioned. Check the [[RapidRelease/Calendar|Rapid Release Calendar] to stay updated with the upcoming branch dates.


Our release schedule is meant to be flexible and we may occasionally modify the length of a cycle to be shorter or longer than the 6-8 week cycle mentioned. Check the [https://wiki.mozilla.org/RapidRelease/Calendar '''Rapid Release Calendar'''] to stay updated with the upcoming branch dates.


== All about Flags  ==
== All about Flags  ==
[[File:Status.png|400px|right]]
[[File:Status.png|400px|right]]
* '''tracking-firefoxN''' : A multi-state flag that currently has two values which show whether a  bug is being investigated for possible resolution in the FirefoxN release . Bugs marked tracking-firefoxN are bugs that must be resolved  one way or another before a particular release ships. [https://wiki.mozilla.org/Firefox/Drivers Release drivers] will track and shepherd the bug until it is determined the bug no longer impacts the release
* '''tracking-firefoxN''': A multi-state flag that currently has two values which show whether a  bug is being investigated for possible resolution in the FirefoxN release. Bugs marked tracking-firefoxN are bugs that must be resolved  one way or another before a particular release ships. [[Firefox/Drivers|Release drivers]] will track and shepherd the bug until it is determined the bug no longer impacts the release
** ?  This bug has been nominated to block FirefoxN
** '''''?''''' This bug has been nominated to block FirefoxN
** - (minus) - Drivers have determined this bug will not block FirefoxN
** '''''-''''' (minus) Drivers have determined this bug will not block FirefoxN
** + (plus) - Drivers have determined this bug will block the FirefoxN release or may be tracked after the FirefoxN release
** '''''+''''' (plus) Drivershave determined this bug will block the FirefoxN release or may be tracked after the FirefoxN release


Refer to [https://blog.mozilla.org/channels/2011/06/01/more-details-about-how-to-use-the-tracking-firefox-bugzilla-flag/ these guidelines] on setting the tracking flag
Refer to [https://blog.mozilla.org/channels/2011/06/01/more-details-about-how-to-use-the-tracking-firefox-bugzilla-flag/ these guidelines] on setting the tracking flag


* '''status-firefoxN''' : A multi-state flag that currently has seven values which represent the  status of the bug with respect to the FirefoxN
* '''status-firefoxN''': A multi-state flag that currently has seven values which represent the  status of the bug with respect to the FirefoxN
** unaffected - This bug does not affect FirefoxN
** ''unaffected'' — This bug does not affect FirefoxN
** affected - This bug affects FirefoxN
** ''affected'' — This bug affects FirefoxN
** fixed - This bug is fixed in FirefoxN
** ''fixed'' — This bug is fixed in FirefoxN
** wontfix - A fix for this bug will not be accepted in FirefoxN
** ''wontfix'' — A fix for this bug will not be accepted in FirefoxN
** verified - This bug is fixed and verified in FirefoxN
** ''verified'' — This bug is fixed and verified in FirefoxN
** disabled - This feature is disabled in FirefoxN
** ''disabled'' — This feature is disabled in FirefoxN
** verified disabled - Disabling the feature is verified in FirefoxN
** ''verified disabled'' — Disabling the feature is verified in FirefoxN
<div style="clear: right"></div>
<div style="clear: right"></div>


 
* '''Approval Flags''': Set on the attachment of a bug
* '''Approval Flags''' : Set on the attachment of a bug
** All patches landing on ''mozilla-beta/release/esr'' branches must have these nominated by setting a ''''' ? ''''' flag. <br>Please make sure to fill in the populated list of questions '''[Approval Request Comment]''' that come up on the attachment. This helps Release Management understand the user impact & the risk/reward analysis before we grant or deny approval. If this form is left incomplete it will be sent back to you for completion.
** All patches landing on mozilla-beta/release/esr branch must have these nominated by setting a " ? ".Please make sure to fill the populated list of questions [Approval Request Comment] that come up on the attachment . This helps Release management understand the user impact & with risk-reward analysis before we grant/deny approval. If this form is left incomplete it will be sent back to you for completion.


[[File:ApprovalRequest.png|750px|centre]]
[[File:ApprovalRequest.png|750px|centre]]


== The Process ==
== The Process ==
 
1) If you think a bug needs to be addressed in a release:
 
* Set the '''tracking-firefoxN: ?''' nomination on a bug for with helpful justification and keeping these [https://blog.mozilla.org/channels/2011/06/01/more-details-about-how-to-use-the-tracking-firefox-bugzilla-flag/ guidelines] in mind
1) If you think a bug needs to be addressed in a release :
* Set the '''tracking-firefoxN : ?''' nomination on a bug for with helpful justification and keeping these [https://blog.mozilla.org/channels/2011/06/01/more-details-about-how-to-use-the-tracking-firefox-bugzilla-flag/ guidelines] in mind
* Mark the corresponding status flag as affected if the patch is still being worked on
* Mark the corresponding status flag as affected if the patch is still being worked on
* Once the patch is ready set the approval flag appropriately depending on which branches are affected
* Once the patch is ready set the approval flag appropriately depending on which branches are affected


2) Members of Release Management go through all the bugs nominated for tracking & if in agreement that this bug needs to be investigated in that release we will go ahead and set '''tracking-firefoxN : +''' . Once we track a bug for a particular release we will make sure to follow-up on the progress or help with any road blockers till you have a patch nominated for approval
2) Members of Release Management go through all the bugs nominated for tracking and if in agreement that this bug needs to be investigated in that release we will go ahead and set '''tracking-firefoxN: +'''. Once we track a bug for a particular release we will make sure to follow-up on the progress or help with any road blockers till you have a patch nominated for approval.
 
'''Note :''' Bugs denied for tracking-firefoxN are still important .It merely means based on the information we have now,we do not feel the bug would prevent us from shipping a release. If new information comes to light, you need help getting more data before you can make the case for us to track, or you disagree with our assessment feel free to renominate again with additional justification


3) Once you nominated a patch with '''approval-mozilla-beta/release : ?''' we will evaluate the information given in the attachment request we may either approve/deny/request more information. Once you get an approval , i.e '''approval-mozilla-beta/release : +''' , please go ahead with landing on the corresponding branch and mark status-firefoxN flag to "fixed" , making sure [https://treeherder.mozilla.org/ Treeherder] is green
'''Note:''' Bugs denied for ''tracking-firefoxN'' are still important. It merely means based on the information we have now,we do not feel the bug would prevent us from shipping a release. If new information comes to light, you need help getting more data before you can make the case for us to track, or you disagree with our assessment feel free to renominate again with additional justification.


3) Once you nominated a patch with '''approval-mozilla-beta/release: ?''' we will evaluate the information given in the attachment request we may either approve/deny/request more information. Once you get an approval , i.e '''approval-mozilla-beta/release: +''', please go ahead with landing on the corresponding branch and mark '''status-firefoxN''' flag to ''fixed'', making sure [https://treeherder.mozilla.org/ Treeherder] is green.




Line 89: Line 85:


=== Security Bug Approval Process ===
=== Security Bug Approval Process ===
* In case you are working on a security bug please <B> make sure to read</B> the [https://wiki.mozilla.org/Security/Bug_Approval_Process <B>wiki</B>] and follow the outlined approval process before checking in the patch.
* In case you are working on a security bug please '''make sure to read the [[Security/Bug_Approval_Process|approval process]]''' before checking in the patch.


== Crashes ==
== Crashes ==
* '''about:crashes''' gives you links to your crashes
* Type '''about:crashes''' in Firefox to get links to your crashes.
* You can obtain crash-data across any channel for all Firefox products by customizing the needed reports from [https://crash-stats.mozilla.com/products/Firefox this dashboard]
* You can obtain crash-data across any channel for all Firefox products by customizing the needed reports from [https://crash-stats.mozilla.com/products/Firefox the Socorro dashboard].
* If at all, the information on the dash board does not suffice for the crasher you are investigating & say may be you need access to raw data, access to additional crash-dumps or data request etc you can always file a Bug and forward the request to socorro team as a start to help you.
* If the information on the Socorro dashboard does not suffice for the crasher you are investigating and you need access to raw data, additional crash-dumps or other data related to the crash, you can file a Bug and forward the request to the Socorro team as a start to help you.


== ESR ==
== ESR ==
Line 100: Line 96:


== Queries ==
== Queries ==
Following are the queries that Release management goes through almost day-day to make sure we are tracking the right blockers,getting them fixed and make sure these bugs get fixed (heard of nag emails yet :) ? )  for a particular Firefox release
Following are the queries that Release management goes through almost day-day to make sure we are tracking the right blockers,getting them fixed and make sure these bugs get fixed (heard of nag emails yet:) ? )  for a particular Firefox release.
* Bugs tracking for release
* Bugs tracking for release
** [https://bugzilla.mozilla.org/buglist.cgi?type0-1-0=notequals;type0-5-0=notequals;value0-5-0=disabled;value0-4-0=verified;list_id=4754086;field0-1-0=cf_status_firefox{{BETA_VERSION}};field0-0-0=cf_tracking_firefox{{BETA_VERSION}};value0-3-0=unaffected;value0-6-0=verified%20disabled;value0-1-0=wontfix;field0-5-0=cf_status_firefox{{BETA_VERSION}};type0-0-0=equals;value0-0-0=%2B;type0-2-0=notequals;field0-3-0=cf_status_firefox{{BETA_VERSION}};type0-4-0=notequals;columnlist=bug_severity%2Cpriority%2Cop_sys%2Cassigned_to%2Cbug_status%2Cresolution%2Cshort_desc%2Cchangeddate;field0-6-0=cf_status_firefox{{BETA_VERSION}};query_format=advanced;value0-2-0=fixed;type0-3-0=notequals;field0-2-0=cf_status_firefox{{BETA_VERSION}};field0-4-0=cf_status_firefox{{BETA_VERSION}};type0-6-0=notequals Bugs] tracking Firefox Beta {{BETA_VERSION}}
** [https://bugzilla.mozilla.org/buglist.cgi?type0-1-0=notequals;type0-5-0=notequals;value0-5-0=disabled;value0-4-0=verified;list_id=4754086;field0-1-0=cf_status_firefox{{BETA_VERSION}};field0-0-0=cf_tracking_firefox{{BETA_VERSION}};value0-3-0=unaffected;value0-6-0=verified%20disabled;value0-1-0=wontfix;field0-5-0=cf_status_firefox{{BETA_VERSION}};type0-0-0=equals;value0-0-0=%2B;type0-2-0=notequals;field0-3-0=cf_status_firefox{{BETA_VERSION}};type0-4-0=notequals;columnlist=bug_severity%2Cpriority%2Cop_sys%2Cassigned_to%2Cbug_status%2Cresolution%2Cshort_desc%2Cchangeddate;field0-6-0=cf_status_firefox{{BETA_VERSION}};query_format=advanced;value0-2-0=fixed;type0-3-0=notequals;field0-2-0=cf_status_firefox{{BETA_VERSION}};field0-4-0=cf_status_firefox{{BETA_VERSION}};type0-6-0=notequals Bugs] tracking Firefox Beta {{BETA_VERSION}}
Line 111: Line 107:


=== Nag Emails ===
=== Nag Emails ===
* To ensure that these tracking Bugs get the needed attention and keeping in mind the deadlines in case you forget Release Management sends you friendly nag emails for these blocker email's to make sure these get the needed priority and attention as they are are considered potential blockers for release
* To ensure that these tracking Bugs get the needed attention and keeping in mind the deadlines in case you forget Release Management sends you friendly nag emails for these blocker email's to make sure these get the needed priority and attention as they are are considered potential blockers for release.
* If you are working on a tracked bug you may have seen emails with Subject similar to : '''''RelMan Attention Needed: Monday May 20 -- Daily Release Tracking Alert''''' for bugs that are actively not being worked on or if any of the bugs may have a '''needsinfo''' on you and is blocking progress
* If you are working on a tracked bug you may have seen emails with Subject similar to: '''''RelMan Attention Needed: Monday May 20 -- Daily Release Tracking Alert''''' for bugs that are actively not being worked on or if any of the bugs may have a '''needsinfo''' on you and is blocking progress.
* This has also been very helpful to avoid any communication gap between Release drivers and developers and help us be on the same page and setting the right expectation about a tracked bugs progress and resolution
* This has also been very helpful to avoid any communication gap between Release drivers and developers and help us be on the same page and setting the right expectation about a tracked bugs progress and resolution.


== Release notes for Desktop/Android ==
== Release notes for Desktop/Android ==
[https://wiki.mozilla.org/Release_Management/Relnotes_rules Release Notes page] describes the release notes process, relnote-firefox tracking flag, styling guide and other relevant details.
[[Release_Management/Relnotes_rules|Release Notes page]] describes the release notes process, the '''''relnote-firefox''''' tracking flag, styling guide and other relevant details.


Please check the [https://wiki.mozilla.org/Release_Management/Release_Notes_Process#What.27s_New.2FKnown_Issues_Section_Candidates wiki] for the process we have currently to construct release notes . Below is the link to all the existing release notes across all channels .
Please check the [https://wiki.mozilla.org/Release_Management/Release_Notes_Process#What.27s_New.2FKnown_Issues_Section_Candidates wiki] for the process we have currently to construct release notes. Below is the link to all the existing release notes across all channels.


* '''Firefox-Release''' :
* '''Firefox Release'''
** [https://www.mozilla.org/firefox/releasenotes/ Desktop Release notes]
** [https://www.mozilla.org/firefox/releasenotes/ Desktop Release notes]
** [https://www.mozilla.org/firefox/android/notes/ Android Release notes]
** [https://www.mozilla.org/firefox/android/notes/ Android Release notes]


* '''Firefox-Beta''' :
* '''Firefox Beta'''
** [https://www.mozilla.org/en-US/firefox/beta/notes/ Desktop Beta notes]
** [https://www.mozilla.org/en-US/firefox/beta/notes/ Desktop Beta notes]
** [https://www.mozilla.org/en-US/firefox/android/beta/notes/ Android Beta notes]
** [https://www.mozilla.org/en-US/firefox/android/beta/notes/ Android Beta notes]


* '''Firefox-Nightly''' :
* '''Firefox Nightly'''
** [https://www.mozilla.org/en-US/firefox/nightly/notes/ Desktop Nightly notes]
** [https://www.mozilla.org/en-US/firefox/nightly/notes/ Desktop Nightly notes]


Line 134: Line 130:


== Getting help ==
== Getting help ==
* IRC:
* '''IRC'''
** irc.mozilla.org
** irc.mozilla.org
** Some channels:#introduction, #release-drivers, #developers, #planning, #mobile
** Some channels:#introduction, #release-drivers, #developers, #planning, #mobile
** [https://wiki.mozilla.org/IRC More info on irc]
** [https://wiki.mozilla.org/IRC More info on irc]
* Mailing List:
* '''Mailing Lists for any release-related issue'''
For any release related issues :
** release-mgmt@mozilla.com
** release-mgmt@mozilla.com
** release-drivers@mozilla.com
** release-drivers@mozilla.com
** enterprise@mozilla.org(enterprise related issues)
** enterprise@mozilla.org(enterprise related issues)
* Google groups :
* '''Google groups'''
** mozilla.dev.platform
** mozilla.dev.platform
** mozilla.dev.planning
** mozilla.dev.planning
** mozilla.announce
** mozilla.announce
* Be part of the Channel Meeting if you are interested in day-day updates for desktop/mobile releases
* '''Be part of the [[Firefox/Channels/Meetings|Channel Meetings]] if you are interested in day-day updates for desktop/mobile releases'''
**[https://wiki.mozilla.org/Firefox/Channels/Meetings More info on channel meeting]


[[Category:Release Management]]
[[Category:Release Management]]
Confirmed users
1,255

edits

Navigation menu