Bug 1288882 - use_vcs_unique_share defined in mozharness migration configs is ignored, r?callek draft
authorJordan Lund <jlund@mozilla.com>
Fri, 22 Jul 2016 18:24:50 -0700
changeset 392101 74d75f8b8b01d038815dbd9bb2d3c5466228efc5
parent 389387 bc53844a7c49e43d75997e5e8d09a715e16ddf67
child 526252 ea9d2f05ba4285dc7f37b67452e754f6abbb9990
push id23939
push userjlund@mozilla.com
push dateSat, 23 Jul 2016 01:30:01 +0000
reviewerscallek
bugs1288882
milestone50.0a1
Bug 1288882 - use_vcs_unique_share defined in mozharness migration configs is ignored, r?callek note: this requires a clean work dir unfortunately. so you have to blow away the fake build/hg-share and any repos in build/ MozReview-Commit-ID: 3TfNLdga9Dt
testing/mozharness/configs/merge_day/aurora_to_beta.py
testing/mozharness/configs/merge_day/beta_to_release.py
testing/mozharness/configs/merge_day/bump_esr.py
testing/mozharness/configs/merge_day/central_to_aurora.py
testing/mozharness/configs/merge_day/release_to_esr.py
testing/mozharness/configs/merge_day/staging_beta_migration.py
testing/mozharness/scripts/merge_day/gecko_migration.py
--- a/testing/mozharness/configs/merge_day/aurora_to_beta.py
+++ b/testing/mozharness/configs/merge_day/aurora_to_beta.py
@@ -55,17 +55,16 @@ config = {
         ("build/mozconfig.common",
          "MOZ_REQUIRE_SIGNING=${MOZ_REQUIRE_SIGNING-0}",
          "MOZ_REQUIRE_SIGNING=${MOZ_REQUIRE_SIGNING-1}"),
         ("build/mozconfig.common",
          "# Disable enforcing that add-ons are signed by the trusted root",
          "# Enable enforcing that add-ons are signed by the trusted root")
     ],
 
-    "use_vcs_unique_share": True,
     "vcs_share_base": os.path.join(ABS_WORK_DIR, 'hg-shared'),
     # "hg_share_base": None,
     "tools_repo_url": "https://hg.mozilla.org/build/tools",
     "tools_repo_branch": "default",
     "from_repo_url": "ssh://hg.mozilla.org/releases/mozilla-aurora",
     "to_repo_url": "ssh://hg.mozilla.org/releases/mozilla-beta",
 
     "base_tag": "FIREFOX_BETA_%(major_version)s_BASE",
--- a/testing/mozharness/configs/merge_day/beta_to_release.py
+++ b/testing/mozharness/configs/merge_day/beta_to_release.py
@@ -24,17 +24,16 @@ config = {
         ("browser/confvars.sh",
          "ACCEPTED_MAR_CHANNEL_IDS=firefox-mozilla-beta,firefox-mozilla-release",
          "ACCEPTED_MAR_CHANNEL_IDS=firefox-mozilla-release"),
         ("browser/confvars.sh",
          "MAR_CHANNEL_ID=firefox-mozilla-beta",
          "MAR_CHANNEL_ID=firefox-mozilla-release"),
     ],
 
-    "use_vcs_unique_share": True,
     "vcs_share_base": os.path.join(ABS_WORK_DIR, 'hg-shared'),
     # "hg_share_base": None,
     "tools_repo_url": "https://hg.mozilla.org/build/tools",
     "tools_repo_branch": "default",
     "from_repo_url": "ssh://hg.mozilla.org/releases/mozilla-beta",
     "to_repo_url": "ssh://hg.mozilla.org/releases/mozilla-release",
 
     "base_tag": "FIREFOX_RELEASE_%(major_version)s_BASE",
--- a/testing/mozharness/configs/merge_day/bump_esr.py
+++ b/testing/mozharness/configs/merge_day/bump_esr.py
@@ -1,13 +1,12 @@
 import os
 
 ABS_WORK_DIR = os.path.join(os.getcwd(), "build")
 config = {
-    "use_vcs_unique_share": True,
     "vcs_share_base": os.path.join(ABS_WORK_DIR, 'hg-shared'),
     "log_name": "bump_esr",
     "version_files": [
         {"file": "browser/config/version.txt", "suffix": ""},
         {"file": "browser/config/version_display.txt", "suffix": ""},
         {"file": "config/milestone.txt", "suffix": ""},
     ],
     "tools_repo_url": "https://hg.mozilla.org/build/tools",
--- a/testing/mozharness/configs/merge_day/central_to_aurora.py
+++ b/testing/mozharness/configs/merge_day/central_to_aurora.py
@@ -64,17 +64,16 @@ config = {
     ],
     "locale_files": [
         "browser/locales/shipped-locales",
         "browser/locales/all-locales",
         "mobile/android/locales/maemo-locales",
         "mobile/android/locales/all-locales"
     ],
 
-    "use_vcs_unique_share": True,
     "vcs_share_base": os.path.join(ABS_WORK_DIR, 'hg-shared'),
     # "hg_share_base": None,
     "tools_repo_url": "https://hg.mozilla.org/build/tools",
     "tools_repo_branch": "default",
     "from_repo_url": "ssh://hg.mozilla.org/mozilla-central",
     "to_repo_url": "ssh://hg.mozilla.org/releases/mozilla-aurora",
 
     "base_tag": "FIREFOX_AURORA_%(major_version)s_BASE",
--- a/testing/mozharness/configs/merge_day/release_to_esr.py
+++ b/testing/mozharness/configs/merge_day/release_to_esr.py
@@ -16,17 +16,16 @@ config = {
         # File, from, to
         ("browser/confvars.sh",
          "ACCEPTED_MAR_CHANNEL_IDS=firefox-mozilla-release",
          "ACCEPTED_MAR_CHANNEL_IDS=firefox-mozilla-esr"),
         ("browser/confvars.sh",
          "MAR_CHANNEL_ID=firefox-mozilla-release",
          "MAR_CHANNEL_ID=firefox-mozilla-esr"),
     ],
-    "use_vcs_unique_share": True,
     "vcs_share_base": os.path.join(ABS_WORK_DIR, 'hg-shared'),
     # "hg_share_base": None,
     "tools_repo_url": "https://hg.mozilla.org/build/tools",
     "tools_repo_branch": "default",
     "from_repo_url": "ssh://hg.mozilla.org/releases/mozilla-release",
     "to_repo_url": NEW_ESR_REPO,
 
     "base_tag": "FIREFOX_ESR_%(major_version)s_BASE",
--- a/testing/mozharness/configs/merge_day/staging_beta_migration.py
+++ b/testing/mozharness/configs/merge_day/staging_beta_migration.py
@@ -4,17 +4,16 @@
 #   mozharness/configs/merge_day/staging_beta_migration.py ...
 import os
 
 ABS_WORK_DIR = os.path.join(os.getcwd(), "build")
 
 config = {
     "log_name": "staging_beta",
 
-    "use_vcs_unique_share": True,
     "vcs_share_base": os.path.join(ABS_WORK_DIR, 'hg-shared'),
     "tools_repo_url": "https://hg.mozilla.org/build/tools",
     "tools_repo_branch": "default",
     "from_repo_url": "ssh://hg.mozilla.org/releases/mozilla-aurora",
     "to_repo_url": "ssh://hg.mozilla.org/users/stage-ffxbld/mozilla-beta",
 
     "base_tag": "FIREFOX_BETA_%(major_version)s_BASE",
     "end_tag": "FIREFOX_BETA_%(major_version)s_END",
--- a/testing/mozharness/scripts/merge_day/gecko_migration.py
+++ b/testing/mozharness/scripts/merge_day/gecko_migration.py
@@ -151,16 +151,21 @@ class GeckoMigration(MercurialScript, Ba
             repo_key = "%s_repo_url" % k
             url = self.config.get(repo_key)
             if url:
                 self.gecko_repos.append({
                     "repo": url,
                     "branch": self.config.get("%s_repo_branch" % (k,), "default"),
                     "dest": dirs['abs_%s_dir' % k],
                     "vcs": "hg",
+                    # "hg" vcs uses robustcheckout extension requires the use of a share
+                    # but having a share breaks migration logic when merging repos.
+                    # Solution: tell hg vcs to create a unique share directory for each
+                    # gecko repo. see mozharness/base/vcs/mercurial.py for implementation
+                    "use_vcs_unique_share": True,
                 })
             else:
                 self.warning("Skipping %s" % repo_key)
         self.info(pprint.pformat(self.gecko_repos))
         return self.gecko_repos
 
     def query_commit_dirs(self):
         dirs = self.query_abs_dirs()