Bug 1160717 - Add horizon configs to mozharness - r=jlund
authorChris Cooper <ccooper@deadsquid.com>
Tue, 16 Jun 2015 09:48:38 -0400 (2015-06-16)
changeset 4152 8f0c7d940aee25b88dd2b84d172bd589f1102cb9
parent 4149 038e0e12dcbd164d2c5df4a4a0b35dd00fa1c6b5
child 4153 321d9dcec7b2398fecb24eb1487d67467019ac5d
child 4154 3fc731cf6da80fa313dbccd994aca66ddc0f9cf0
push id3300
push usercoop@mozilla.com
push dateTue, 16 Jun 2015 13:48:51 +0000 (2015-06-16)
reviewersjlund
bugs1160717
Bug 1160717 - Add horizon configs to mozharness - r=jlund
configs/balrog/docker-worker.py
configs/balrog/production.py
configs/balrog/staging.py
configs/builds/releng_sub_linux_configs/64_graphene.py
configs/builds/releng_sub_linux_configs/64_horizon.py
configs/builds/releng_sub_mac_configs/64_graphene.py
configs/builds/releng_sub_mac_configs/64_horizon.py
configs/builds/releng_sub_windows_configs/64_graphene.py
configs/builds/releng_sub_windows_configs/64_horizon.py
mozharness/mozilla/building/buildbase.py
mozharness/mozilla/updates/balrog.py
--- a/configs/balrog/docker-worker.py
+++ b/configs/balrog/docker-worker.py
@@ -8,13 +8,14 @@ config = {
             ],
             'balrog_usernames': {
                 'b2g': 'b2gbld',
                 'firefox': 'ffxbld',
                 'thunderbird': 'tbirdbld',
                 'mobile': 'ffxbld',
                 'Fennec': 'ffxbld',
                 'graphene': 'ffxbld',
+                'horizon': 'ffxbld',
             }
         }
     ]
 }
 
--- a/configs/balrog/production.py
+++ b/configs/balrog/production.py
@@ -8,24 +8,26 @@ config = {
             ],
             'balrog_usernames': {
                 'b2g': 'b2gbld',
                 'firefox': 'ffxbld',
                 'thunderbird': 'tbirdbld',
                 'mobile': 'ffxbld',
                 'Fennec': 'ffxbld',
                 'graphene': 'ffxbld',
+                'horizon': 'ffxbld',
             }
         },
         {
             'balrog_api_root': 'https://aus4-admin-dev.allizom.org/api',
             'ignore_failures': True,
             'balrog_usernames': {
                 'b2g': 'stage-b2gbld',
                 'firefox': 'stage-ffxbld',
                 'thunderbird': 'stage-tbirdbld',
                 'mobile': 'stage-ffxbld',
                 'Fennec': 'stage-ffxbld',
                 'graphene': 'stage-ffxbld',
+                'horizon': 'stage-ffxbld',
             }
         }
     ]
 }
--- a/configs/balrog/staging.py
+++ b/configs/balrog/staging.py
@@ -5,12 +5,13 @@ config = {
             'ignore_failures': False,
             'balrog_usernames': {
                 'b2g': 'stage-b2gbld',
                 'firefox': 'stage-ffxbld',
                 'thunderbird': 'stage-tbirdbld',
                 'mobile': 'stage-ffxbld',
                 'Fennec': 'stage-ffxbld',
                 'graphene': 'stage-ffxbld',
+                'horizon': 'stage-ffxbld',
             }
         }
     ]
 }
--- a/configs/builds/releng_sub_linux_configs/64_graphene.py
+++ b/configs/builds/releng_sub_linux_configs/64_graphene.py
@@ -35,10 +35,11 @@ config = {
 /usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/tools/git/bin:/tools/python27/bin:\
 /tools/python27-mercurial/bin:/home/cltbld/bin',
         "SYMBOL_SERVER_HOST": "%(symbol_server_host)s",
         "SYMBOL_SERVER_SSH_KEY": "/home/mock_mozilla/.ssh/ffxbld_rsa",
         "SYMBOL_SERVER_USER": "ffxbld",
         "SYMBOL_SERVER_PATH": "/mnt/netapp/breakpad/symbols_ffx",
     },
     'src_mozconfig': 'b2g/graphene/config/mozconfigs/linux64/nightly',
+    'balrog_platform': 'linux64',
     #######################
 }
new file mode 100644
--- /dev/null
+++ b/configs/builds/releng_sub_linux_configs/64_horizon.py
@@ -0,0 +1,45 @@
+import os
+
+config = {
+    'default_actions': [
+        'clobber',
+        'clone-tools',
+        'checkout-sources',
+        'setup-mock',
+        'build',
+        'upload-files',
+        'sendchange',
+        'check-test',
+        'update',  # may or may not happen based on query_is_nightly()
+    ],
+    'stage_platform': 'linux64',
+    'stage_product': 'b2g',
+    'enable_signing': False,
+    'enable_talos_sendchange': False,
+    'enable_unittest_sendchange': False,
+    'enable_count_ctors': False,
+    'objdir': 'obj-horizon',
+    #### 64 bit build specific #####
+    'env': {
+        'MOZBUILD_STATE_PATH': os.path.join(os.getcwd(), '.mozbuild'),
+        'MOZ_AUTOMATION': '1',
+        'HG_SHARE_BASE_DIR': '/builds/hg-shared',
+        'MOZ_OBJDIR': 'obj-horizon',
+        'TINDERBOX_OUTPUT': '1',
+        'CCACHE_DIR': '/builds/ccache',
+        'CCACHE_COMPRESS': '1',
+        'CCACHE_UMASK': '002',
+        'LC_ALL': 'C',
+        ## 64 bit specific
+        'PATH': '/tools/buildbot/bin:/usr/local/bin:/usr/lib64/ccache:/bin:\
+/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/tools/git/bin:/tools/python27/bin:\
+/tools/python27-mercurial/bin:/home/cltbld/bin',
+        "SYMBOL_SERVER_HOST": "%(symbol_server_host)s",
+        "SYMBOL_SERVER_SSH_KEY": "/home/mock_mozilla/.ssh/ffxbld_rsa",
+        "SYMBOL_SERVER_USER": "ffxbld",
+        "SYMBOL_SERVER_PATH": "/mnt/netapp/breakpad/symbols_ffx",
+    },
+    'src_mozconfig': 'b2g/graphene/config/horizon-mozconfigs/linux64/nightly',
+    'balrog_platform': 'linux64',
+    #######################
+}
--- a/configs/builds/releng_sub_mac_configs/64_graphene.py
+++ b/configs/builds/releng_sub_mac_configs/64_graphene.py
@@ -33,10 +33,11 @@ config = {
         'PATH': '/tools/python/bin:/tools/buildbot/bin:/opt/local/bin:/usr/bin:'
                 '/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin',
         "SYMBOL_SERVER_HOST": "%(symbol_server_host)s",
         "SYMBOL_SERVER_SSH_KEY": "/Users/cltbld/.ssh/ffxbld_rsa",
         "SYMBOL_SERVER_USER": "ffxbld",
         "SYMBOL_SERVER_PATH": "/mnt/netapp/breakpad/symbols_ffx",
     },
     'src_mozconfig': 'b2g/graphene/config/mozconfigs/macosx64/nightly',
+    'balrog_platform': 'macosx64',
     #######################
 }
new file mode 100644
--- /dev/null
+++ b/configs/builds/releng_sub_mac_configs/64_horizon.py
@@ -0,0 +1,43 @@
+import os
+
+config = {
+    'default_actions': [
+        'clobber',
+        'clone-tools',
+        'checkout-sources',
+        'build',
+        'upload-files',
+        'sendchange',
+        'check-test',
+        'update',  # may or may not happen based on query_is_nightly()
+    ],
+    'stage_platform': 'mac',
+    'stage_product': 'b2g',
+    'enable_signing': False,
+    'enable_talos_sendchange': False,
+    'enable_unittest_sendchange': False,
+    'enable_count_ctors': False,
+    'objdir': 'obj-horizon',
+    #### 64 bit build specific #####
+    'env': {
+        'MOZBUILD_STATE_PATH': os.path.join(os.getcwd(), '.mozbuild'),
+        'MOZ_AUTOMATION': '1',
+        'HG_SHARE_BASE_DIR': '/builds/hg-shared',
+        'MOZ_OBJDIR': 'obj-horizon',
+        'TINDERBOX_OUTPUT': '1',
+        'CCACHE_DIR': '/builds/ccache',
+        'CCACHE_COMPRESS': '1',
+        'CCACHE_UMASK': '002',
+        'LC_ALL': 'C',
+        ## 64 bit specific
+        'PATH': '/tools/python/bin:/tools/buildbot/bin:/opt/local/bin:/usr/bin:'
+                '/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin',
+        "SYMBOL_SERVER_HOST": "%(symbol_server_host)s",
+        "SYMBOL_SERVER_SSH_KEY": "/Users/cltbld/.ssh/ffxbld_rsa",
+        "SYMBOL_SERVER_USER": "ffxbld",
+        "SYMBOL_SERVER_PATH": "/mnt/netapp/breakpad/symbols_ffx",
+    },
+    'src_mozconfig': 'b2g/graphene/config/horizon-mozconfigs/macosx64/nightly',
+    'balrog_platform': 'macosx64',
+    #######################
+}
--- a/configs/builds/releng_sub_windows_configs/64_graphene.py
+++ b/configs/builds/releng_sub_windows_configs/64_graphene.py
@@ -32,10 +32,11 @@ config = {
         'TINDERBOX_OUTPUT': '1',
         'XPCOM_DEBUG_BREAK': 'stack-and-abort',
         "SYMBOL_SERVER_HOST": "%(symbol_server_host)s",
         "SYMBOL_SERVER_SSH_KEY": "/c/Users/cltbld/.ssh/ffxbld_rsa",
         "SYMBOL_SERVER_USER": "ffxbld",
         "SYMBOL_SERVER_PATH": "/mnt/netapp/breakpad/symbols_ffx",
     },
     'src_mozconfig': 'b2g/graphene/config/mozconfigs/win64/nightly',
+    'balrog_platform': 'win64',
     #######################
 }
new file mode 100644
--- /dev/null
+++ b/configs/builds/releng_sub_windows_configs/64_horizon.py
@@ -0,0 +1,42 @@
+import os
+
+config = {
+    'default_actions': [
+        'clobber',
+        'clone-tools',
+        'checkout-sources',
+        'build',
+        'upload-files',
+        'sendchange',
+        'check-test',
+        'update',  # may or may not happen based on query_is_nightly()
+    ],
+    'stage_platform': 'win64',
+    'stage_product': 'b2g',
+    'enable_signing': False,
+    'enable_talos_sendchange': False,
+    'enable_unittest_sendchange': False,
+    'enable_count_ctors': False,
+    'objdir': 'obj-horizon',
+    'env': {
+        'BINSCOPE': 'C:/Program Files (x86)/Microsoft/SDL BinScope/BinScope.exe',
+        'HG_SHARE_BASE_DIR': 'C:/builds/hg-shared',
+        'MOZBUILD_STATE_PATH': os.path.join(os.getcwd(), '.mozbuild'),
+        'MOZ_AUTOMATION': '1',
+        'MOZ_CRASHREPORTER_NO_REPORT': '1',
+        'MOZ_OBJDIR': 'obj-horizon',
+        'PATH': 'C:/mozilla-build/nsis-3.0b1;C:/mozilla-build/nsis-2.46u;C:/mozilla-build/python27;'
+                'C:/mozilla-build/buildbotve/scripts;'
+                '%s' % (os.environ.get('path')),
+        'PROPERTIES_FILE': os.path.join(os.getcwd(), 'buildprops.json'),
+        'TINDERBOX_OUTPUT': '1',
+        'XPCOM_DEBUG_BREAK': 'stack-and-abort',
+        "SYMBOL_SERVER_HOST": "%(symbol_server_host)s",
+        "SYMBOL_SERVER_SSH_KEY": "/c/Users/cltbld/.ssh/ffxbld_rsa",
+        "SYMBOL_SERVER_USER": "ffxbld",
+        "SYMBOL_SERVER_PATH": "/mnt/netapp/breakpad/symbols_ffx",
+    },
+    'src_mozconfig': 'b2g/graphene/config/horizon-mozconfigs/win64/nightly',
+    'balrog_platform': 'win64',
+    #######################
+}
--- a/mozharness/mozilla/building/buildbase.py
+++ b/mozharness/mozilla/building/buildbase.py
@@ -308,16 +308,17 @@ class BuildOptionParser(object):
         'asan': 'builds/releng_sub_%s_configs/%s_asan.py',
         'b2g-debug': 'b2g/releng_sub_%s_configs/%s_debug.py',
         'debug': 'builds/releng_sub_%s_configs/%s_debug.py',
         'asan-and-debug': 'builds/releng_sub_%s_configs/%s_asan_and_debug.py',
         'stat-and-debug': 'builds/releng_sub_%s_configs/%s_stat_and_debug.py',
         'mulet': 'builds/releng_sub_%s_configs/%s_mulet.py',
         'code-coverage': 'builds/releng_sub_%s_configs/%s_code_coverage.py',
         'graphene': 'builds/releng_sub_%s_configs/%s_graphene.py',
+        'horizon': 'builds/releng_sub_%s_configs/%s_horizon.py',
         'source': 'builds/releng_sub_%s_configs/%s_source.py',
         'api-9': 'builds/releng_sub_%s_configs/%s_api_9.py',
         'api-11': 'builds/releng_sub_%s_configs/%s_api_11.py',
         'api-9-debug': 'builds/releng_sub_%s_configs/%s_api_9_debug.py',
         'api-11-debug': 'builds/releng_sub_%s_configs/%s_api_11_debug.py',
         'x86': 'builds/releng_sub_%s_configs/%s_x86.py',
     }
     build_pool_cfg_file = 'builds/build_pool_specifics.py'
--- a/mozharness/mozilla/updates/balrog.py
+++ b/mozharness/mozilla/updates/balrog.py
@@ -39,21 +39,18 @@ class BalrogMixin(object):
             buildbot_properties = self.buildbot_config["properties"].items()
         else:
             buildbot_properties = []
 
         balrog_props = dict(properties=dict(chain(
             buildbot_properties,
             self.buildbot_properties.items(),
         )))
-        # XXX: hack alert, turn fake graphene platforms into real ones. This
-        # was done more generically originally (bug 1140437), but it broke
-        # flame-kk updates (bug 1141633)
-        balrog_props["properties"]["platform"] = balrog_props["properties"]["platform"].replace("_graphene", "")
-
+        if self.config.get('balrog_platform'):
+            balrog_props["properties"]["platform"] = self.config['balrog_platform']
         if "branch" not in balrog_props["properties"]:
             balrog_props["properties"]["branch"] = self.query_branch()
 
         self.dump_config(props_path, balrog_props)
         cmd = [
             self.query_exe("python"),
             submitter_script,
             "--build-properties", props_path,