Release Management/ESR Landing Process: Difference between revisions

Jump to navigation Jump to search
support for two esr
(using the new templates to support 2 versions of ESR)
(support for two esr)
Line 1: Line 1:
'''Goal:''' We'd like to have a lightweight process that prevents "surprise" ESR landings at the 11th hour and makes sure ESR patches are created very soon after their related mainline patches
'''Goal:''' We'd like to have a lightweight process that prevents "surprise" ESR landings at the 11th hour and makes sure ESR patches are created very soon after their related mainline patches


'''The ESR repo:''' https://hg.mozilla.org/releases/mozilla-esr{{ESR_VERSION}}/
=== REPOS ===
'''The ESR{{ESR_CURRENT}} repo:''' https://hg.mozilla.org/releases/mozilla-esr{{ESR_CURRENT}}/
'''The ESR{{ESR_NEXT}} repo:''' https://hg.mozilla.org/releases/mozilla-esr{{ESR_NEXT}}/


'''More info about the ESR:'''
===More info about the ESR===
* https://wiki.mozilla.org/Enterprise/Firefox/ExtendedSupport:Proposal
* https://wiki.mozilla.org/Enterprise/Firefox/ExtendedSupport:Proposal
* https://www.mozilla.org/en-US/firefox/organizations/
* https://www.mozilla.org/en-US/firefox/organizations/
* [https://www.mozilla.org/en-US/firefox/organizations/all/ Download]
* [https://www.mozilla.org/en-US/firefox/organizations/all/ Download]


'''What should land on mozilla-esr{{ESR_VERSION}}:''' Security and some major stability fixes when they're landed/merged onto mozilla-beta, or fixes for regressions specific to the ESR. Exception: If patches only make changes to tests, test harnesses or anything else that does not affect the shipped builds, they may land with self approval (use a=testonly, a=npotb etc).
===What should land on mozilla-esr{{ESR_VERSION}}===


'''The associated flags:'''
Security and some major stability fixes when they're landed/merged onto mozilla-beta, or fixes for regressions specific to the ESR. Exception: If patches only make changes to tests, test harnesses or anything else that does not affect the shipped builds, they may land with self approval (use a=testonly, a=npotb etc).


approval-mozilla-esr{{ESR_VERSION}}: ''?'', ''+'', ''-''
=== The associated flags===


tracking-esr{{ESR_VERSION}}: ''?'', ''-'', ''11+'', ''12+'', ''13+'', ...
approval-mozilla-esr{{ESR_CURRENT}}: ''?'', ''+'', ''-''
approval-mozilla-esr{{ESR_NEXT}}: ''?'', ''+'', ''-''


status-esr{{ESR_VERSION}}: ''?'', ''unaffected'', ''wontfix'', ''affected'', ''checkin-pending'', ''fixed'', ''verified''
tracking-esr{{ESR_CURRENT}}: ''?'', ''-'', ''{{BETA_VERSION}}+'', ''{{AURORA_VERSION}}+'', ''{{NIGHTLY_VERSION}}+'', ...
tracking-esr{{ESR_NEXT}}: ''?'', ''-'', ''{{BETA_VERSION}}+'', ''{{AURORA_VERSION}}+'', ''{{NIGHTLY_VERSION}}+'', ...


'''The process:'''
status-esr{{ESR_CURRENT}}: ''?'', ''unaffected'', ''wontfix'', ''affected'', ''checkin-pending'', ''fixed'', ''verified''
status-esr{{ESR_NEXT}}: ''?'', ''unaffected'', ''wontfix'', ''affected'', ''checkin-pending'', ''fixed'', ''verified''
 
===The process===


1) When an engineer believes that a stability bug needs to be addressed for the ESR, or a security fix that's landed on a branch affects the ESR:
1) When an engineer believes that a stability bug needs to be addressed for the ESR, or a security fix that's landed on a branch affects the ESR:
* Set '''tracking-esr{{ESR_VERSION}}''' to '''?'''
* Set '''tracking-esr{{ESR_CURRENT}}''' (and if we're in the middle of supporting 2 versions, then also tracking-esr{{ESR_NEXT}} to '''?'''
* Set '''status-esr{{ESR_VERSION}}''' to '''affected''' if an ESR patch is still being worked on
* Set '''tracking-esr{{ESR_CURRENT}}''' (and if we're in the middle of supporting 2 versions, then also tracking-esr{{ESR_NEXT}} to '''affected''' if an ESR patch is still being worked on
* Set '''approval-mozilla-esr{{ESR_VERSION}}''' to '''?''' and '''status-esr{{ESR_VERSION}}''' checkin-pending if a patch is ''ready to land on mozilla-esr{{ESR_VERSION}}''
* Set '''approval-mozilla-esr{{ESR_CURRENT}}''' (and if we're in the middle of support 2 versions, then also approval-mozilla-esr{{ESR_NEXT}} to '''?''' and '''status-esr{{ESR_CURRENT}}/{{ESR_NEXT}}''' checkin-pending if a patch is ''ready to land on mozilla-esr{{ESR_CURRENT}}/{{ESR_NEXT}}''
2) Members of both Security and Release Management teams will triage tracking-esr{{ESR_VERSION}}=?, and if agreement is that it's needed for the ESR, the tracking flag will be set to the first version of mainline Firefox that the patch is present in and the '''approval-mozilla-esr{{ESR_VERSION}}''' flag will be set to '''+'''.
2) Members of both Security and Release Management teams will triage tracking-esr{{ESR_CURRENT}}/{{ESR_NEXT}}=?, and if agreement is that it's needed for the ESR, the tracking flag will be set to the first version of mainline Firefox that the patch is present in and the '''approval-mozilla-esr{{ESR_CURRENT}}/{{ESR_NEXT}}''' flag will be set to '''+'''.
* In the case of an ESR-specific regression, we'll track for the next ESR release.
* In the case of an ESR-specific regression, we'll track for the next ESR release (e.g.: {{ESR_FUTURE}}).
* Why are we using mainline versions to track the ESR? According to the ESR proposal, a chemspill uses a minor version number, thus throwing off our tracking flags. Additionally, engineers shouldn't have to know what version of the ESR we're on.
* Why are we using mainline versions to track the ESR? According to the ESR proposal, a chemspill uses a minor version number, thus throwing off our tracking flags. Additionally, engineers shouldn't have to know what version of the ESR we're on.
3) Once the mozilla-beta version matches the tracking-esr{{ESR_VERSION}} version, Security and Release Management teams will triage those bugs and make sure affected/checkin-pending fixes are landed at least 1 week prior to release so that we can go-to-build.
3) Once the mozilla-beta version matches the tracking-esr{{ESR_CURRENT}}/{{ESR_NEXT}} version(s), Security and Release Management teams will triage those bugs and make sure affected/checkin-pending fixes are landed at least 1 week prior to release so that we can go-to-build.
* Approval is required, so add "a={whoever set the approval-mozilla-esr10 flag to +}" to the commit message.
* Approval is required, so add "a={whoever set the approval-mozilla-esr10 flag to +}" to the commit message.
* After landing the patch, set status-esr{{ESR_VERSION}} to "fixed".
* After landing the patch, set status-esr{{ESR_CURRENT}}/{{ESR_NEXT}} to "fixed".
* Our beta period for the ESR will be to push this build to FTP a week early for qualification by enterprises.
* Our beta period for the ESR will be to push this build to FTP a week early for qualification by enterprises.




= ESR Triage Queries =
= ESR Triage Queries =
CURRENT TEMPLATE VALUES:
ESR_CURRENT:  {{ESR_CURRENT}}
ESR_CURRENT_DOT: {{ESR_CURRENT_DOT}}
ESR_NEXT: {{ESR_NEXT}}
ESR_NEXT_DOT: {{ESR_NEXT_DOT}}
ESR_FUTURE: {{ESR_FUTURE}}


== ESR{{ESR_NEXT}} ==
== ESR{{ESR_NEXT}} ==
Confirmed users
4,467

edits

Navigation menu