Bug 1527777 - Move spidermonkey jobs from win32 to win64 r=jmaher
authorSteve Fink <sfink@mozilla.com>
Fri, 22 Feb 2019 09:33:02 +0000
changeset 460975 293617cdb29dcd04a178f83dd33f130b91c834c9
parent 460974 70bcec52a7731c976c1a83b54c2d3d716ffc7bfd
child 460976 e42ba4e47d6520db2794e5195ac9979749d437f4
push id35613
push usernerli@mozilla.com
push dateTue, 26 Feb 2019 03:52:35 +0000
treeherdermozilla-central@faec87a80ed1 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersjmaher
bugs1527777
milestone67.0a1
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Bug 1527777 - Move spidermonkey jobs from win32 to win64 r=jmaher Differential Revision: https://phabricator.services.mozilla.com/D20619
taskcluster/ci/spidermonkey/windows.yml
taskcluster/scripts/builder/build-sm.sh
taskcluster/taskgraph/transforms/job/spidermonkey.py
--- a/taskcluster/ci/spidermonkey/windows.yml
+++ b/taskcluster/ci/spidermonkey/windows.yml
@@ -2,48 +2,105 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 
 job-defaults:
     worker-type: aws-provisioner-v1/gecko-{level}-b-win2012
     worker:
         max-run-time: 36000
         env:
-            TOOLTOOL_MANIFEST: "browser/config/tooltool-manifests/win32/releng.manifest"
+            TOOLTOOL_MANIFEST: "browser/config/tooltool-manifests/win64/releng.manifest"
+
+sm-plain-win64/debug:
+    description: "Spidermonkey Plain win64 debug"
+    index:
+        job-name: sm-plain-win64-debug
+    treeherder:
+        platform: windows2012-64/debug
+        symbol: SM(p)
+    run:
+        spidermonkey-variant: plaindebug
+        spidermonkey-platform: win64
+    toolchains:
+        - win64-clang-cl
+        - win64-rust
 
 sm-plain-win32/debug:
-    description: "Spidermonkey Plain"
+    description: "Spidermonkey Plain win32 debug"
     index:
         job-name: sm-plain-win32-debug
     treeherder:
         platform: windows2012-32/debug
         symbol: SM(p)
+    run-on-projects: []
     run:
         spidermonkey-variant: plaindebug
+        spidermonkey-platform: win32
+    toolchains:
+        - win64-clang-cl
+        - win64-rust
+    worker:
+        env:
+            TOOLTOOL_MANIFEST: "browser/config/tooltool-manifests/win32/releng.manifest"
+
+sm-plain-win64/opt:
+    description: "Spidermonkey Plain win64 opt"
+    index:
+        job-name: sm-plain-win64-opt
+    treeherder:
+        platform: windows2012-64/opt
+        symbol: SM(p)
+    run:
+        spidermonkey-variant: plain
+        spidermonkey-platform: win64
     toolchains:
         - win64-clang-cl
         - win64-rust
 
 sm-plain-win32/opt:
-    description: "Spidermonkey Plain"
+    description: "Spidermonkey Plain win32 opt"
     index:
         job-name: sm-plain-win32-opt
     treeherder:
         platform: windows2012-32/opt
         symbol: SM(p)
+    run-on-projects: []
     run:
         spidermonkey-variant: plain
+        spidermonkey-platform: win32
+    toolchains:
+        - win64-clang-cl
+        - win64-rust
+    worker:
+        env:
+            TOOLTOOL_MANIFEST: "browser/config/tooltool-manifests/win32/releng.manifest"
+
+sm-compacting-win64/debug:
+    description: "Spidermonkey Compacting win64 debug"
+    index:
+        job-name: sm-compacting-win64-debug
+    treeherder:
+        platform: windows2012-64/debug
+        symbol: SM(cgc)
+    run:
+        spidermonkey-variant: compacting
+        spidermonkey-platform: win64
     toolchains:
         - win64-clang-cl
         - win64-rust
 
 sm-compacting-win32/debug:
-    description: "Spidermonkey Compacting"
+    description: "Spidermonkey Compacting win32 debug"
     index:
         job-name: sm-compacting-win32-debug
     treeherder:
         platform: windows2012-32/debug
         symbol: SM(cgc)
     run:
         spidermonkey-variant: compacting
+        spidermonkey-platform: win32
+    run-on-projects: []
     toolchains:
         - win64-clang-cl
         - win64-rust
+    worker:
+        env:
+            TOOLTOOL_MANIFEST: "browser/config/tooltool-manifests/win32/releng.manifest"
--- a/taskcluster/scripts/builder/build-sm.sh
+++ b/taskcluster/scripts/builder/build-sm.sh
@@ -3,17 +3,17 @@
 set -x
 
 source $(dirname $0)/sm-tooltool-config.sh
 
 : ${PYTHON:=python2.7}
 
 # Run the script
 export MOZ_UPLOAD_DIR="$UPLOAD_DIR"
-AUTOMATION=1 $PYTHON $SRCDIR/js/src/devtools/automation/autospider.py $SPIDERMONKEY_VARIANT
+AUTOMATION=1 $PYTHON $SRCDIR/js/src/devtools/automation/autospider.py ${SPIDERMONKEY_PLATFORM:+--platform=$SPIDERMONKEY_PLATFORM} $SPIDERMONKEY_VARIANT
 BUILD_STATUS=$?
 
 # Ensure upload dir exists
 mkdir -p $UPLOAD_DIR
 
 # Copy artifacts for upload by TaskCluster
 cp -rL $SRCDIR/obj-spider/dist/bin/{js,jsapi-tests,js-gdb.py} $UPLOAD_DIR
 
--- a/taskcluster/taskgraph/transforms/job/spidermonkey.py
+++ b/taskcluster/taskgraph/transforms/job/spidermonkey.py
@@ -3,33 +3,34 @@
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 """
 Support for running spidermonkey jobs via dedicated scripts
 """
 
 from __future__ import absolute_import, print_function, unicode_literals
 
 from taskgraph.util.schema import Schema
-from voluptuous import Required, Any
+from voluptuous import Required, Any, Optional
 
 from taskgraph.transforms.job import run_job_using
 from taskgraph.transforms.job.common import (
     docker_worker_add_artifacts,
     generic_worker_add_artifacts,
     generic_worker_hg_commands,
     docker_worker_add_tooltool,
     support_vcs_checkout,
 )
 
 sm_run_schema = Schema({
     Required('using'): Any('spidermonkey', 'spidermonkey-package', 'spidermonkey-mozjs-crate',
                            'spidermonkey-rust-bindings'),
 
-    # The SPIDERMONKEY_VARIANT
+    # SPIDERMONKEY_VARIANT and SPIDERMONKEY_PLATFORM
     Required('spidermonkey-variant'): basestring,
+    Optional('spidermonkey-platform'): basestring,
 
     # Base work directory used to set up the task.
     Required('workdir'): basestring,
 })
 
 
 @run_job_using("docker-worker", "spidermonkey", schema=sm_run_schema)
 @run_job_using("docker-worker", "spidermonkey-package", schema=sm_run_schema)
@@ -54,16 +55,18 @@ def docker_worker_spidermonkey(config, j
 
     env = worker.setdefault('env', {})
     env.update({
         'MOZHARNESS_DISABLE': 'true',
         'SPIDERMONKEY_VARIANT': run['spidermonkey-variant'],
         'MOZ_BUILD_DATE': config.params['moz_build_date'],
         'MOZ_SCM_LEVEL': config.params['level'],
     })
+    if 'spidermonkey-platform' in run:
+        env['SPIDERMONKEY_PLATFORM'] = run['spidermonkey-platform']
 
     support_vcs_checkout(config, job, taskdesc)
 
     script = "build-sm.sh"
     if run['using'] == 'spidermonkey-package':
         script = "build-sm-package.sh"
     elif run['using'] == 'spidermonkey-mozjs-crate':
         script = "build-sm-mozjs-crate.sh"