ReleaseEngineering/How To/Create new ESR branch: Difference between revisions

From MozillaWiki
Jump to navigation Jump to search
(→‎Update TBPL: Slight tweak)
(Replaced content with "The documentation has been moved to [https://github.com/mozilla/releasewarrior/blob/master/how-tos/new-esr-branch-setup.md releasewarrior]")
 
(24 intermediate revisions by 8 users not shown)
Line 1: Line 1:
{{Release Engineering How To|Create new ESR branch}}
The documentation has been moved to [https://github.com/mozilla/releasewarrior/blob/master/how-tos/new-esr-branch-setup.md releasewarrior]
 
This process also works, with slight (obvious?) modifications for new twigs and b2g gecko branches. ESR17 process was tracked by {{Bug|796995}} and the dependent bugs. The process can be split into 2 major parts: internal and external
 
= Internal changes =
This covers changes to configs, buildbotcustom and tools.
 
[https://bugzilla.mozilla.org/attachment.cgi?id=678768&action=edit buildbotcustom changes] for ESR17 were not critical and are not ESR specific.
 
== tools changes ==
[https://bugzilla.mozilla.org/attachment.cgi?id=678767&action=edit tools changes]
* adds new release branch to [http://hg.mozilla.org/build/tools/file/default/buildfarm/maintenance/production-masters.json production-masters.json] file
* adds new branch to buildapi's [http://hg.mozilla.org/build/tools/file/default/buildfarm/maintenance/production-branches.json production-branches.json] file
* since the [https://bugzilla.mozilla.org/attachment.cgi?id=678814&action=edit config patch] introduces new configurations file which are need to be symlinked to the build/scheduler master there is a need for a fabric methods to create the links
* mozconfig whitelist changes (tested in {{bug|808077}})
* preproduction tweaks
 
== buildbot-configs changes ==
Some highlights:
* Explicitly list the platforms (and use lock_platforms) since we don't ship ESR to all mozilla-central/release platforms (android, for example)
* Copy mozilla-beta configs, compare them to the previous ESR release and check if you understand what they stand for
* No dep/nightly L10N builds required, as a result no need to create Tinderbox trees
* check mozilla-beta exceptions (loops) and check if they are aplicable to the current ESR
* for every exception (MERGE DAY exceptions) file a bug to track it
* you may need to add shortening code for new branches
** be sure to run <tt>test-masters.sh</tt> to verify
** see, e.g. https://hg.mozilla.org/build/buildbotcustom/annotate/b863ef3d9559/common.py#l128
=== New release configs ===
* Make sure that the following variables set
releaseConfig['partialUpdates'] = {}
releaseConfig['skip_updates'] = True
releaseConfig['verifyConfigs'] = {}
releaseConfig['ftpSymlinkName'] = 'latest-esr'
* File new tracking bug for the next minor esr release (17.0.1esr) to update these variables
* update previous release configs and set
releaseConfig['ftpSymlinkName'] = 'latest-10.0esr'
* add mozilla2/*/comm-esr17/release/l10n-mozconfig for every platform. Copy them from mozilla-beta and compare to the previous esr configs
* add mozilla2/linux/comm-esr17/release/mozconfig (linux only). We need this for source builder. Will be fixed by {{bug|748796}}
 
 
= External changes =
 
== Ask IT to clone repos ==
See {{bug|807979}} for the details. We usually clone ~1-2 weeks in advance off beta to test how automation works.
 
== Add new branches to treestatus.m.o ==
Ask a treestatus admin to add the trees. Notice that Thunderbird trees have -thunderbird suffix (comm-esr17-thunderbird). <small>(as of <s>{{bug|823618}}</s>, tree addition & deletion require admin rights. Current admins include sheriffs, catlee, hwine. See {{bug|877948}} for futures.)</small>
 
== Update tree closure hooks ==
See {{bug|807983}} for the details (fyi, [https://bugzil.la/816766#c1 ted has given us blanket approval] to land branch-name-only updates - have someone else double check). Requires deployment by IT (see {{bug|807694}}).
 
== Update graphs.m.o and graphs.allizom.org with ==
Graph server schema changes. Requires both sql update ({{bug|808007}}) & deployment to both staging and production servers using a process similar to [[ReleaseEngineering:Buildduty:Slave_Management#Slavealloc|slavealloc updates]]. (releng has add permissions, so IT deployment <s>{{bug|808537}}</s> no longer needed except for deleting mistakes). (Use copy/modify/paste for all elements. Note that branch name is given in tbpl capitalization format.
 
== Update TBPL ==
# Add new trees to TBPL, using [https://bugzilla.mozilla.org/enter_bug.cgi?alias=&assigned_to=nobody%40mozilla.org&attach_text=&blocked=&bug_file_loc=http%3A%2F%2F&bug_severity=normal&bug_status=NEW&cf_status_b2g18=---&cf_status_b2g18_1_0_0=---&cf_status_b2g18_1_0_1=---&cf_status_b2g_1_1_hd=---&cf_status_firefox22=---&cf_status_firefox23=---&cf_status_firefox24=---&cf_status_firefox25=---&cf_status_firefox_esr17=---&cf_tracking_b2g18=---&cf_tracking_firefox22=---&cf_tracking_firefox23=---&cf_tracking_firefox24=---&cf_tracking_firefox25=---&cf_tracking_firefox_esr17=---&cf_tracking_firefox_relnote=---&cf_tracking_relnote_b2g=---&comment=&component=Tinderboxpushlog&contenttypeentry=&contenttypemethod=autodetect&contenttypeselection=text%2Fplain&data=&defined_groups=1&dependson=&description=&flag_type-4=X&flag_type-607=X&flag_type-791=X&flag_type-800=X&form_name=enter_bug&keywords=&maketemplate=Remember%20values%20as%20bookmarkable%20template&op_sys=All&priority=--&product=Webtools&qa_contact=&rep_platform=All&requestee_type-4=&requestee_type-607=&requestee_type-791=&requestee_type-800=&short_desc=Add%20new%20tree%20XXXXXX%20to%20TBPL&status_whiteboard=&target_milestone=---&version=Trunk this template] (See {{bug|808017}} for example, be sure to file in webtools::tinderboxpushlog).
# Test after landing by seeing trees displayed as expected on [https://tbpl-dev.allizom.org/ tbpl staging].
# Requires deployment - request using [https://bugzilla.mozilla.org/enter_bug.cgi?alias=&assigned_to=emorley%40mozilla.com&attach_text=&blocked=&bug_file_loc=http%3A%2F%2F&bug_severity=normal&bug_status=ASSIGNED&cc=ryanvm%40gmail.com&cc=kwierso%40gmail.com&cc=cbook%40mozilla.com&cc=philringnalda%40gmail.com&cf_status_b2g18=---&cf_status_b2g18_1_0_0=---&cf_status_b2g18_1_0_1=---&cf_status_b2g_1_1_hd=---&cf_status_firefox22=---&cf_status_firefox23=---&cf_status_firefox24=---&cf_status_firefox25=---&cf_status_firefox_esr17=---&cf_tracking_b2g18=---&cf_tracking_firefox22=---&cf_tracking_firefox23=---&cf_tracking_firefox24=---&cf_tracking_firefox25=---&cf_tracking_firefox_esr17=---&cf_tracking_firefox_relnote=---&cf_tracking_relnote_b2g=---&comment=https%3A%2F%2Fhg.mozilla.org%2Fwebtools%2Ftbpl%2Fpushloghtml%3Ffromchange%3DYYYYYYYYYYY%26tochange%3DZZZZZZZZZZZZ&component=Tinderboxpushlog&contenttypeentry=&contenttypemethod=autodetect&contenttypeselection=text%2Fplain&data=&defined_groups=1&dependson=&description=&flag_type-4=X&flag_type-607=X&flag_type-791=X&flag_type-800=X&flag_type-803=X&form_name=enter_bug&keywords=&maketemplate=Remember%20values%20as%20bookmarkable%20template&op_sys=All&priority=--&product=Webtools&qa_contact=&rep_platform=All&requestee_type-4=&requestee_type-607=&requestee_type-791=&requestee_type-800=&short_desc=Update%20TBPL%20production%20to%20ZZZZZZZZZZ&status_whiteboard=&target_milestone=---&version=Trunk this template]. Fill in pushlog url based on [https://tbpl.mozilla.org/cache/revision_info.txt revision_info.txt] for the prior changeset, or leave blank. Ed Morley can deploy it via chief. For urgent needs, IT can also deploy (see {{bug|809543}}, be sure to cc ":edmorley,tinderboxpushlog@webtools.bugs" on IT bug if you choose to file - often worth also checking for any other undeployed changes (see pushlog url), in case they are not ready to push).
<small><em>Deployment process & details from [https://bugzil.la/816775 Ed].</em></small>
 
== Update AUS2 ==
Adds new entries for nightly builds. See {{bug|808543}} for the details. Requires IT deployment (see {{bug|808543}}) Project and inbound branches usually do not have nightly builds.
 
Also need to create some symlinks for mac:
  ssh aus3-staging.mozilla.org    # using your ldap username, VPN running
  sudo su - ffxbld
  cd /opt/aus2/incoming/2/Firefox
  mkdir mozilla-esrNN            # where NN is your new version
  ln -s Darwin_x86_64-gcc3 Darwin_x86_64-gcc3-u-i386-x86_64
  ln -s Darwin_x86_64-gcc3 Darwin_x86-gcc3-u-i386-x86_64
 
= Testing =
== CI builds ==
Make sure to run all esr and some other builds in staging. Run leak test and nightly builds 2 times to allow them to generate leak log and partial updates.
 
== Release builds ==
Make sure to run a staging release. It takes less time then usual build, because there are no updates to be generated.
 
= Ship it! =
Close the bug and have some tea. :)

Latest revision as of 04:58, 9 March 2017

The documentation has been moved to releasewarrior