Bug 1335748 - Enable QR builds on win64 on m-c and graphics. r=kmoir
authorKartikaya Gupta <kgupta@mozilla.com>
Mon, 06 Feb 2017 11:42:54 -0500
changeset 479454 9a4162f8ebd8071ed7f40e3c122b2523f12dc8f2
parent 479453 f687734f8b6f7b6b8d66720a7b05f84166331df2
child 479455 12c02bf624c48903b155428f7c8a419ba7a333a6
push id44263
push userbmo:madeleinechercover@me.com
push dateMon, 06 Feb 2017 18:53:13 +0000
reviewerskmoir
bugs1335748
milestone54.0a1
Bug 1335748 - Enable QR builds on win64 on m-c and graphics. r=kmoir MozReview-Commit-ID: KDYwa748wkz
taskcluster/ci/build/windows.yml
taskcluster/taskgraph/transforms/gecko_v2_whitelist.py
testing/mozharness/configs/builds/taskcluster_firefox_win64_qr_debug.py
testing/mozharness/configs/builds/taskcluster_firefox_win64_qr_opt.py
--- a/taskcluster/ci/build/windows.yml
+++ b/taskcluster/ci/build/windows.yml
@@ -108,8 +108,48 @@ win64/pgo:
         implementation: generic-worker
         max-run-time: 10800
     run:
         using: mozharness
         options: [enable-pgo]
         script: mozharness/scripts/fx_desktop_build.py
         config:
             - builds/taskcluster_firefox_windows_64_opt.py
+
+win64-qr/debug:
+    description: "Win64 Debug QuantumRender"
+    index:
+        product: firefox
+        job-name: win64-qr-debug
+    treeherder:
+        platform: windows2012-64-qr/debug
+        symbol: tc(B)
+        tier: 2
+    worker-type: aws-provisioner-v1/gecko-{level}-b-win2012
+    worker:
+        implementation: generic-worker
+        max-run-time: 7200
+    run:
+        using: mozharness
+        script: mozharness/scripts/fx_desktop_build.py
+        config:
+            - builds/taskcluster_firefox_win64_qr_debug.py
+    run-on-projects: [ 'graphics' ]
+
+win64-qr/opt:
+    description: "Win64 Opt QuantumRender"
+    index:
+        product: firefox
+        job-name: win64-qr-opt
+    treeherder:
+        platform: windows2012-64-qr/opt
+        symbol: tc(B)
+        tier: 2
+    worker-type: aws-provisioner-v1/gecko-{level}-b-win2012
+    worker:
+        implementation: generic-worker
+        max-run-time: 7200
+    run:
+        using: mozharness
+        script: mozharness/scripts/fx_desktop_build.py
+        config:
+            - builds/taskcluster_firefox_win64_qr_opt.py
+    run-on-projects: [ 'graphics' ]
--- a/taskcluster/taskgraph/transforms/gecko_v2_whitelist.py
+++ b/taskcluster/taskgraph/transforms/gecko_v2_whitelist.py
@@ -83,16 +83,18 @@ JOB_NAME_WHITELIST = set([
     'win32-opt',
     'win32-pgo',
     'win64-st-an-debug',
     'win64-st-an-opt',
     'win64-clang-tidy',
     'win64-debug',
     'win64-opt',
     'win64-pgo',
+    'win64-qr-debug',
+    'win64-qr-opt',
 ])
 
 JOB_NAME_WHITELIST_ERROR = """\
 The gecko-v2 job name {} is not in the whitelist in gecko_v2_whitelist.py.
 If this job runs on Buildbot, please ensure that the job names match between
 Buildbot and TaskCluster, then add the job name to the whitelist.  If this is a
 new job, there is nothing to check -- just add the job to the whitelist.
 """
new file mode 100644
--- /dev/null
+++ b/testing/mozharness/configs/builds/taskcluster_firefox_win64_qr_debug.py
@@ -0,0 +1,87 @@
+import os
+import sys
+
+config = {
+    #########################################################################
+    ######## WINDOWS GENERIC CONFIG KEYS/VAlUES
+    # if you are updating this with custom 64 bit keys/values please add them
+    # below under the '64 bit specific' code block otherwise, update in this
+    # code block and also make sure this is synced between:
+    # - taskcluster_firefox_win32_debug
+    # - taskcluster_firefox_win32_opt
+    # - taskcluster_firefox_win64_debug
+    # - taskcluster_firefox_win64_opt
+
+    'default_actions': [
+        'clone-tools',
+        'build',
+        'check-test',
+    ],
+    'exes': {
+        'python2.7': sys.executable,
+        'make': [
+            sys.executable,
+            os.path.join(
+                os.getcwd(), 'build', 'src', 'build', 'pymake', 'make.py'
+            )
+        ],
+        'virtualenv': [
+            sys.executable,
+            os.path.join(
+                os.getcwd(), 'build', 'src', 'python', 'virtualenv', 'virtualenv.py'
+            )
+        ],
+        'mach-build': [
+            os.path.join(os.environ['MOZILLABUILD'], 'msys', 'bin', 'bash.exe'),
+            os.path.join(os.getcwd(), 'build', 'src', 'mach'),
+            '--log-no-times', 'build', '-v'
+        ],
+    },
+    'app_ini_path': '%(obj_dir)s/dist/bin/application.ini',
+    # decides whether we want to use moz_sign_cmd in env
+    'enable_signing': True,
+    'enable_ccache': False,
+    'vcs_share_base': os.path.join('y:', os.sep, 'hg-shared'),
+    'objdir': 'obj-firefox',
+    'tooltool_script': [
+      sys.executable,
+      os.path.join(os.environ['MOZILLABUILD'], 'tooltool.py')
+    ],
+    'tooltool_bootstrap': 'setup.sh',
+    'enable_count_ctors': False,
+    'max_build_output_timeout': 60 * 80,
+    #########################################################################
+
+
+     #########################################################################
+     ###### 64 bit specific ######
+    'base_name': 'WINNT_6.1_x86-64_%(branch)s',
+    'platform': 'win64',
+    'stage_platform': 'win64-debug',
+    'debug_build': True,
+    'publish_nightly_en_US_routes': True,
+    'env': {
+        'HG_SHARE_BASE_DIR': os.path.join('y:', os.sep, 'hg-shared'),
+        'MOZ_AUTOMATION': '1',
+        'MOZ_CRASHREPORTER_NO_REPORT': '1',
+        'MOZ_OBJDIR': 'obj-firefox',
+        'PDBSTR_PATH': '/c/Program Files (x86)/Windows Kits/10/Debuggers/x64/srcsrv/pdbstr.exe',
+        'TINDERBOX_OUTPUT': '1',
+        'TOOLTOOL_CACHE': '/c/builds/tooltool_cache',
+        'TOOLTOOL_HOME': '/c/builds',
+        'XPCOM_DEBUG_BREAK': 'stack-and-abort',
+        'MSYSTEM': 'MINGW32',
+    },
+    'upload_env': {
+        'UPLOAD_HOST': 'localhost',
+        'UPLOAD_PATH': os.path.join(os.getcwd(), 'public', 'build'),
+    },
+    "check_test_env": {
+        'MINIDUMP_STACKWALK': '%(abs_tools_dir)s\\breakpad\\win64\\minidump_stackwalk.exe',
+        'MINIDUMP_SAVE_PATH': '%(base_work_dir)s\\minidumps',
+    },
+    'enable_pymake': True,
+    'src_mozconfig': 'browser\\config\\mozconfigs\\win64\\debug-qr',
+    'tooltool_manifest_src': 'browser\\config\\tooltool-manifests\\win64\\releng.manifest',
+    #########################################################################
+}
new file mode 100644
--- /dev/null
+++ b/testing/mozharness/configs/builds/taskcluster_firefox_win64_qr_opt.py
@@ -0,0 +1,85 @@
+import os
+import sys
+
+config = {
+    #########################################################################
+    ######## WINDOWS GENERIC CONFIG KEYS/VAlUES
+    # if you are updating this with custom 64 bit keys/values please add them
+    # below under the '64 bit specific' code block otherwise, update in this
+    # code block and also make sure this is synced between:
+    # - taskcluster_firefox_win32_debug
+    # - taskcluster_firefox_win32_opt
+    # - taskcluster_firefox_win64_debug
+    # - taskcluster_firefox_win64_opt
+
+    'default_actions': [
+        'clone-tools',
+        'build',
+        'check-test',
+    ],
+    'exes': {
+        'python2.7': sys.executable,
+        'make': [
+            sys.executable,
+            os.path.join(
+                os.getcwd(), 'build', 'src', 'build', 'pymake', 'make.py'
+            )
+        ],
+        'virtualenv': [
+            sys.executable,
+            os.path.join(
+                os.getcwd(), 'build', 'src', 'python', 'virtualenv', 'virtualenv.py'
+            )
+        ],
+        'mach-build': [
+            os.path.join(os.environ['MOZILLABUILD'], 'msys', 'bin', 'bash.exe'),
+            os.path.join(os.getcwd(), 'build', 'src', 'mach'),
+            '--log-no-times', 'build', '-v'
+        ],
+    },
+    'app_ini_path': '%(obj_dir)s/dist/bin/application.ini',
+    # decides whether we want to use moz_sign_cmd in env
+    'enable_signing': True,
+    'enable_ccache': False,
+    'vcs_share_base': os.path.join('y:', os.sep, 'hg-shared'),
+    'objdir': 'obj-firefox',
+    'tooltool_script': [
+      sys.executable,
+      os.path.join(os.environ['MOZILLABUILD'], 'tooltool.py')
+    ],
+    'tooltool_bootstrap': 'setup.sh',
+    'enable_count_ctors': False,
+    'max_build_output_timeout': 60 * 80,
+    #########################################################################
+
+
+     #########################################################################
+     ###### 64 bit specific ######
+    'base_name': 'WINNT_6.1_x86-64_%(branch)s',
+    'platform': 'win64',
+    'stage_platform': 'win64',
+    'publish_nightly_en_US_routes': True,
+    'env': {
+        'HG_SHARE_BASE_DIR': os.path.join('y:', os.sep, 'hg-shared'),
+        'MOZ_AUTOMATION': '1',
+        'MOZ_CRASHREPORTER_NO_REPORT': '1',
+        'MOZ_OBJDIR': 'obj-firefox',
+        'PDBSTR_PATH': '/c/Program Files (x86)/Windows Kits/10/Debuggers/x64/srcsrv/pdbstr.exe',
+        'TINDERBOX_OUTPUT': '1',
+        'TOOLTOOL_CACHE': '/c/builds/tooltool_cache',
+        'TOOLTOOL_HOME': '/c/builds',
+        'MSYSTEM': 'MINGW32',
+    },
+    'upload_env': {
+        'UPLOAD_HOST': 'localhost',
+        'UPLOAD_PATH': os.path.join(os.getcwd(), 'public', 'build'),
+    },
+    "check_test_env": {
+        'MINIDUMP_STACKWALK': '%(abs_tools_dir)s\\breakpad\\win64\\minidump_stackwalk.exe',
+        'MINIDUMP_SAVE_PATH': '%(base_work_dir)s\\minidumps',
+    },
+    'enable_pymake': True,
+    'src_mozconfig': 'browser\\config\\mozconfigs\\win64\\opt-qr',
+    'tooltool_manifest_src': 'browser\\config\\tooltool-manifests\\win64\\releng.manifest',
+    #########################################################################
+}