Bug 1336479 - Add 32-bit windows QR builds. r?kmoir draft
authorKartikaya Gupta <kgupta@mozilla.com>
Wed, 08 Feb 2017 15:02:47 -0500
changeset 480676 b0ae0c8bb86d634e12f6e5546257d04ba0d580a7
parent 480675 5b019f9298985d8084f7da0c94b6945d97e7d8e1
child 545025 d3a063356552ecbbe70b8cfdcf0ff82707a931f5
push id44623
push userkgupta@mozilla.com
push dateWed, 08 Feb 2017 20:04:12 +0000
reviewerskmoir
bugs1336479
milestone54.0a1
Bug 1336479 - Add 32-bit windows QR builds. r?kmoir MozReview-Commit-ID: FrlTIhMdKS7
browser/config/mozconfigs/win32/debug-qr
browser/config/mozconfigs/win32/opt-qr
taskcluster/ci/build/windows.yml
taskcluster/taskgraph/transforms/gecko_v2_whitelist.py
testing/mozharness/configs/builds/taskcluster_firefox_win32_qr_debug.py
testing/mozharness/configs/builds/taskcluster_firefox_win32_qr_opt.py
new file mode 100644
--- /dev/null
+++ b/browser/config/mozconfigs/win32/debug-qr
@@ -0,0 +1,3 @@
+. "$topsrcdir/browser/config/mozconfigs/win32/debug"
+
+ac_add_options --enable-webrender
new file mode 100644
--- /dev/null
+++ b/browser/config/mozconfigs/win32/opt-qr
@@ -0,0 +1,3 @@
+. "$topsrcdir/browser/config/mozconfigs/win32/nightly"
+
+ac_add_options --enable-webrender
--- a/taskcluster/ci/build/windows.yml
+++ b/taskcluster/ci/build/windows.yml
@@ -148,8 +148,48 @@ win64-qr/opt:
         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' ]
+
+win32-qr/debug:
+    description: "Win32 Debug QuantumRender"
+    index:
+        product: firefox
+        job-name: win32-qr-debug
+    treeherder:
+        platform: windows2012-32-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_win32_qr_debug.py
+    run-on-projects: [ 'graphics' ]
+
+win32-qr/opt:
+    description: "Win32 Opt QuantumRender"
+    index:
+        product: firefox
+        job-name: win32-qr-opt
+    treeherder:
+        platform: windows2012-32-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_win32_qr_opt.py
+    run-on-projects: [ 'graphics' ]
--- a/taskcluster/taskgraph/transforms/gecko_v2_whitelist.py
+++ b/taskcluster/taskgraph/transforms/gecko_v2_whitelist.py
@@ -79,16 +79,18 @@ JOB_NAME_WHITELIST = set([
     'sm-rootanalysis-debug',
     'sm-tsan-opt',
     'win32-st-an-debug',
     'win32-st-an-opt',
     'win32-clang-tidy',
     'win32-debug',
     'win32-opt',
     'win32-pgo',
+    'win32-qr-debug',
+    'win32-qr-opt',
     'win64-st-an-debug',
     'win64-st-an-opt',
     'win64-clang-tidy',
     'win64-debug',
     'win64-opt',
     'win64-pgo',
     'win64-qr-debug',
     'win64-qr-opt',
new file mode 100644
--- /dev/null
+++ b/testing/mozharness/configs/builds/taskcluster_firefox_win32_qr_debug.py
@@ -0,0 +1,96 @@
+import os
+import sys
+
+config = {
+    #########################################################################
+    ######## WINDOWS GENERIC CONFIG KEYS/VAlUES
+    # if you are updating this with custom 32 bit keys/values please add them
+    # below under the '32 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
+    # - taskcluster_firefox_win32_clang
+    # - taskcluster_firefox_win32_clang_debug
+    # - taskcluster_firefox_win64_clang
+    # - taskcluster_firefox_win64_clang_debug
+
+    'default_actions': [
+        'clone-tools',
+        'build',
+        'check-test',
+        'generate-build-stats'
+    ],
+    '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,
+    #########################################################################
+
+
+     #########################################################################
+     ###### 32 bit specific ######
+    'base_name': 'WINNT_5.2_%(branch)s',
+    'platform': 'win32',
+    'stage_platform': 'win32-debug',
+    'debug_build': True,
+    'publish_nightly_en_US_routes': True,
+    'env': {
+        'BINSCOPE': os.path.join(
+            os.environ['ProgramFiles(x86)'], 'Microsoft', 'SDL BinScope', 'BinScope.exe'
+        ),
+        'HG_SHARE_BASE_DIR': os.path.join('y:', os.sep, 'hg-shared'),
+        'MOZBUILD_STATE_PATH': os.path.join(os.getcwd(), '.mozbuild'),
+        'MOZ_AUTOMATION': '1',
+        'MOZ_CRASHREPORTER_NO_REPORT': '1',
+        'MOZ_OBJDIR': 'obj-firefox',
+        'PDBSTR_PATH': '/c/Program Files (x86)/Windows Kits/10/Debuggers/x86/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\\win32\\minidump_stackwalk.exe',
+        'MINIDUMP_SAVE_PATH': '%(base_work_dir)s\\minidumps',
+    },
+    'enable_pymake': True,
+    'src_mozconfig': 'browser\\config\\mozconfigs\\win32\\debug-qr',
+    'tooltool_manifest_src': 'browser\\config\\tooltool-manifests\\win32\\releng.manifest',
+    #########################################################################
+}
new file mode 100644
--- /dev/null
+++ b/testing/mozharness/configs/builds/taskcluster_firefox_win32_qr_opt.py
@@ -0,0 +1,94 @@
+import os
+import sys
+
+config = {
+    #########################################################################
+    ######## WINDOWS GENERIC CONFIG KEYS/VAlUES
+    # if you are updating this with custom 32 bit keys/values please add them
+    # below under the '32 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
+    # - taskcluster_firefox_win32_clang
+    # - taskcluster_firefox_win32_clang_debug
+    # - taskcluster_firefox_win64_clang
+    # - taskcluster_firefox_win64_clang_debug
+
+    'default_actions': [
+        'clone-tools',
+        'build',
+        'check-test',
+        'generate-build-stats'
+    ],
+    '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,
+    #########################################################################
+
+
+     #########################################################################
+     ###### 32 bit specific ######
+    'base_name': 'WINNT_5.2_%(branch)s',
+    'platform': 'win32',
+    'stage_platform': 'win32',
+    'publish_nightly_en_US_routes': True,
+    'env': {
+        'BINSCOPE': os.path.join(
+            os.environ['ProgramFiles(x86)'], 'Microsoft', 'SDL BinScope', 'BinScope.exe'
+        ),
+        'HG_SHARE_BASE_DIR': os.path.join('y:', os.sep, 'hg-shared'),
+        'MOZBUILD_STATE_PATH': os.path.join(os.getcwd(), '.mozbuild'),
+        'MOZ_AUTOMATION': '1',
+        'MOZ_CRASHREPORTER_NO_REPORT': '1',
+        'MOZ_OBJDIR': 'obj-firefox',
+        'PDBSTR_PATH': '/c/Program Files (x86)/Windows Kits/10/Debuggers/x86/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\\win32\\minidump_stackwalk.exe',
+        'MINIDUMP_SAVE_PATH': '%(base_work_dir)s\\minidumps',
+    },
+    'enable_pymake': True,
+    'src_mozconfig': 'browser\\config\\mozconfigs\\win32\\opt-qr',
+    'tooltool_manifest_src': 'browser\\config\\tooltool-manifests\\win32\\releng.manifest',
+    #########################################################################
+}