Release Management/Release Process: Difference between revisions

Jump to navigation Jump to search
Update page to reflect Nightly soft freeze removal
(Update page to reflect Nightly soft freeze removal)
Line 26: Line 26:
== Release timeline ==
== Release timeline ==
The standard release interval of Firefox is four weeks (not counting urgent patch updates), meaning that every four weeks there
The standard release interval of Firefox is four weeks (not counting urgent patch updates), meaning that every four weeks there
will be a new version of Firefox Release. The release interval is sometimes lengthened due to holidays.
will be a new version of Firefox Release. The release interval is sometimes lengthened due to holidays or specific business needs.


=== From mozilla-central to mozilla-release ===
=== From mozilla-central to mozilla-release ===
* Firefox Nightly contains all the changes landed on mozilla-central. Regular Nightly releases occur about every 12 hours, with additional releases generated when a Nightly release has a major problem.
* Firefox Nightly contains all the changes landed on mozilla-central. Regular Nightly releases occur about every 12 hours, with additional releases generated when a Nightly release has a major problem.
* Every 4 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 4 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]].
* Firefox Beta is released three times a week for Desktop, leaving us with 9 betas every cycle unless we have chemspills leading to additional betas. Firefox Beta 1 and 2 are shipped to a subset of our Beta population. The full Beta population gets updated starting with beta 3 only.
* Firefox Beta is released three times a week for Desktop, leaving us with 10 betas every cycle unless we have chemspills leading to additional unplanned betas.
* 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 ===
* Firefox for Android Nightly builds are created at the same time as Desktop (2x daily), but typically only one is pushed to Google Play daily due to app review limitations.
* Firefox for Android Nightly builds are created at the same time as Desktop (2x daily).
* Firefox for Android Beta builds are created at the same time and frequency as their Desktop counterparts and follow the same rollout strategy.
* Firefox for Android Beta builds are created at the same time and frequency as their Desktop counterparts and follow the same rollout strategy.
* Firefox for Android Release Candidate builds are pushed to Production at 5% rollout during RC week to get early feedback. The rollout is bumped to 25% on the official release date to match Desktop.
* Firefox for Android Release Candidate builds are pushed to Production at 5% rollout after QA signoff to get early feedback. The rollout is bumped to 25% on the official release date to match Desktop.


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 4-5 week cycle mentioned. Check the [[Release_Management/Calendar|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 4 week cycle mentioned. Check the [[Release_Management/Calendar|Release Calendar]] to stay updated with the upcoming branch dates.
 
=== Nightly soft code freeze ===
The last few days of the nightly cycle, before merge day (when mozilla-central is merged into the mozilla-beta repository and a new release cycle starts), is a nightly soft code freeze, meaning that developers should not land on mozilla-central code that is deemed risky for the stability and general quality of Firefox and that features that are controlled by a pref and were not activated during the nightly cycle should not be activated during this week.
 
If you land code that introduces new crashers or lowers the overall quality of Firefox during that period, we will back it out instead of waiting for a follow-up fix.


== All about Flags  ==
== All about Flags  ==
Line 103: Line 98:


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


* '''Firefox Beta'''
* '''Firefox Beta'''
** [https://www.mozilla.org/en-US/firefox/beta/notes/ Desktop Beta notes]
** [https://www.firefox.com/firefox/beta/notes/ Desktop 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.firefox.com/firefox/nightly/notes/ Desktop Nightly notes]


== See [https://wiki.mozilla.org/Release_Management/Release_Process/FAQ FAQ] ==
== See [https://wiki.mozilla.org/Release_Management/Release_Process/FAQ FAQ] ==
Confirmed users
1,023

edits

Navigation menu