--- a/taskcluster/taskgraph/transforms/job/mozharness_test.py
+++ b/taskcluster/taskgraph/transforms/job/mozharness_test.py
@@ -11,36 +11,62 @@ from taskgraph.util.schema import Schema
from taskgraph.transforms.tests import (
test_description_schema,
normpath
)
from taskgraph.transforms.job.common import (
support_vcs_checkout,
)
import os
-import re
BUILDER_NAME_PREFIX = {
'linux64-pgo': 'Ubuntu VM 12.04 x64',
'linux64': 'Ubuntu VM 12.04 x64',
'linux64-nightly': 'Ubuntu VM 12.04 x64',
'linux64-asan': 'Ubuntu ASAN VM 12.04 x64',
'linux64-ccov': 'Ubuntu Code Coverage VM 12.04 x64',
'linux64-jsdcov': 'Ubuntu Code Coverage VM 12.04 x64',
'linux64-stylo': 'Ubuntu VM 12.04 x64',
+ 'linux64-stylo-sequential': 'Ubuntu VM 12.04 x64',
+ 'linux64-devedition': 'Ubuntu VM 12.04 x64',
'linux64-devedition-nightly': 'Ubuntu VM 12.04 x64',
'macosx64': 'Rev7 MacOSX Yosemite 10.10.5',
'macosx64-devedition': 'Rev7 MacOSX Yosemite 10.10.5 DevEdition',
'android-4.3-arm7-api-15': 'Android 4.3 armv7 API 15+',
'android-4.2-x86': 'Android 4.2 x86 Emulator',
'android-4.3-arm7-api-15-gradle': 'Android 4.3 armv7 API 15+',
- 'win32': 'Windows 7 x86',
- 'win64': 'Windows 10 x64',
+ 'windows10-64': 'Windows 10 64-bit',
+ 'windows10-64-nightly': 'Windows 10 64-bit',
+ 'windows10-64-pgo': 'Windows 10 64-bit',
+ 'windows10-64-asan': 'Windows 10 64-bit',
+ 'windows7-32': 'Windows 7 32-bit',
+ 'windows7-32-nightly': 'Windows 7 32-bit',
+ 'windows7-32-pgo': 'Windows 7 32-bit',
}
+VARIANTS = [
+ 'nightly',
+ 'devedition',
+ 'pgo',
+ 'asan',
+ 'stylo',
+ 'stylo-sequential',
+ 'qr',
+ 'ccov',
+ 'jsdcov',
+]
+
+
+def get_variant(test_platform):
+ for v in VARIANTS:
+ if '-{}/'.format(v) in test_platform:
+ return v
+ return ''
+
+
test_description_schema = {str(k): v for k, v in test_description_schema.schema.iteritems()}
mozharness_test_run_schema = Schema({
Required('using'): 'mozharness-test',
Required('test'): test_description_schema,
})
@@ -389,17 +415,18 @@ def mozharness_test_on_native_engine(con
@run_job_using('buildbot-bridge', 'mozharness-test', schema=mozharness_test_run_schema)
def mozharness_test_buildbot_bridge(config, job, taskdesc):
test = taskdesc['run']['test']
mozharness = test['mozharness']
worker = taskdesc['worker']
branch = config.params['project']
- platform, build_type = test['build-platform'].split('/')
+ build_platform, build_type = test['build-platform'].split('/')
+ test_platform = test['test-platform'].split('/')[0]
test_name = test.get('try-name', test['test-name'])
mozharness = test['mozharness']
# mochitest e10s follows the pattern mochitest-e10s-<suffix>
# in buildbot, except for these special cases
buildbot_specials = [
'mochitest-webgl',
'mochitest-clipboard',
@@ -427,45 +454,43 @@ def mozharness_test_buildbot_bridge(conf
# in buildbot, mochitest-webgl is called mochitest-gl
test_name = test_name.replace('webgl', 'gl')
if mozharness.get('chunked', False):
this_chunk = test.get('this-chunk')
test_name = '{}-{}'.format(test_name, this_chunk)
if test.get('suite', '') == 'talos':
- # on linux64-<variant>/<build>, we add the variant to the buildername
- m = re.match(r'\w+-([^/]+)/.*', test['test-platform'])
- variant = m.group(1) if m and m.group(1) else ''
+ variant = get_variant(test['test-platform'])
# On beta and release, we run nightly builds on-push; the talos
# builders need to run against non-nightly buildernames
if variant == 'nightly':
variant = ''
# this variant name has branch after the variant type in BBB bug 1338871
if variant in ('stylo', 'stylo-sequential', 'devedition'):
name = '{prefix} {variant} {branch} talos {test_name}'
elif variant:
name = '{prefix} {branch} {variant} talos {test_name}'
else:
name = '{prefix} {branch} talos {test_name}'
buildername = name.format(
- prefix=BUILDER_NAME_PREFIX[platform],
+ prefix=BUILDER_NAME_PREFIX[test_platform],
variant=variant,
branch=branch,
test_name=test_name
)
if buildername.startswith('Ubuntu'):
buildername = buildername.replace('VM', 'HW')
else:
buildername = '{} {} {} test {}'.format(
- BUILDER_NAME_PREFIX[platform],
+ BUILDER_NAME_PREFIX[test_platform],
branch,
build_type,
test_name
)
worker.update({
'buildername': buildername,
'sourcestamp': {