Bug 1354625 - Use mozilla-unified for upstream for all Firefox builds; r?aki draft
authorGregory Szorc <gps@mozilla.com>
Fri, 07 Apr 2017 11:08:11 -0700
changeset 558431 3fd7e79362f39f45ee83260d8c15601729edc84a
parent 558430 c91ad3dbabfb3940f18dddd5aea8b79e5a6930f1
child 623213 2208894b8ab88b2b38118c44e6d1a07225712955
push id52895
push usergszorc@mozilla.com
push dateFri, 07 Apr 2017 18:11:20 +0000
reviewersaki
bugs1354625
milestone55.0a1
Bug 1354625 - Use mozilla-unified for upstream for all Firefox builds; r?aki Without the use of an upstream the first repo cloned on a machine will be cached. If a subsequent job references a different repo, it may have to pull thousands of changesets because those changesets aren't part of the initially-cloned repo. This is why the --upstream feature to robustclone exists and is why it uses the mozilla-unified repo. The mozilla-unified repo is a superset of central, aurora, beta, release, etc. So by cloning it, you get changesets for all of the repos at the time of the clone. When a subsequent job comes along and requests a changeset from a different repo, you likely only need to fetch data for a handful of changesets, not thousands. This change adds the upstream url config for all fx_desktop_build jobs, ensuring it is used. A redundant config entry for the try repo has been removed as well. MozReview-Commit-ID: 3EL7aSXS4AG
testing/mozharness/configs/builds/branch_specifics.py
testing/mozharness/scripts/fx_desktop_build.py
--- a/testing/mozharness/configs/builds/branch_specifics.py
+++ b/testing/mozharness/configs/builds/branch_specifics.py
@@ -189,19 +189,16 @@ config = {
         'update_channel': 'aurora',
         'branch_uses_per_checkin_strategy': True,
         'stage_server': 'upload.ffxbld.productdelivery.prod.mozaws.net',
     },
     'try': {
         'repo_path': 'try',
         'clone_by_revision': True,
         'clone_with_purge': True,
-        # FUTURE this should be a unified repo because Try pushes may e.g.
-        # be on Aurora or Beta revisions.
-        'clone_upstream_url': 'https://hg.mozilla.org/mozilla-central',
         'tinderbox_build_dir': '%(who)s-%(got_revision)s',
         'to_tinderbox_dated': False,
         'include_post_upload_builddir': True,
         'release_to_try_builds': True,
         'stage_server': 'upload.trybld.productdelivery.prod.mozaws.net',
         'stage_username': 'trybld',
         'stage_ssh_key': 'trybld_dsa',
         'branch_supports_uploadsymbols': False,
--- a/testing/mozharness/scripts/fx_desktop_build.py
+++ b/testing/mozharness/scripts/fx_desktop_build.py
@@ -58,16 +58,19 @@ class FxDesktopBuild(BuildScript, TryToo
                 "pgo_platforms": ['linux', 'linux64', 'win32', 'win64'],
                 # nightly stuff
                 "nightly_build": False,
                 'balrog_credentials_file': 'oauth.txt',
                 'taskcluster_credentials_file': 'oauth.txt',
                 'periodic_clobber': 168,
                 # hg tool stuff
                 "tools_repo": "https://hg.mozilla.org/build/tools",
+                # Seed all clones with mozilla-unified. This ensures subsequent
+                # jobs have a minimal `hg pull`.
+                "clone_upstream_url": "https://hg.mozilla.org/mozilla-unified",
                 "repo_base": "https://hg.mozilla.org",
                 'tooltool_url': 'https://api.pub.build.mozilla.org/tooltool/',
                 "graph_selector": "/server/collect.cgi",
                 # only used for make uploadsymbols
                 'old_packages': [
                     "%(objdir)s/dist/firefox-*",
                     "%(objdir)s/dist/fennec*",
                     "%(objdir)s/dist/seamonkey*",