diff --git a/taskcluster/taskgraph/transforms/coalesce.py b/taskcluster/taskgraph/transforms/coalesce.py index 310269642f51..ed557e39bf0a 100644 --- a/taskcluster/taskgraph/transforms/coalesce.py +++ b/taskcluster/taskgraph/transforms/coalesce.py @@ -35,7 +35,6 @@ def enable_coalescing(config, jobs): 'aws-provisioner-v1/gecko-t-win7-32-gpu', 'aws-provisioner-v1/gecko-t-win10-64', 'aws-provisioner-v1/gecko-t-win10-64-gpu', - 'releng-hardware/gecko-t-win10-64-hw', ]: job['coalesce'] = { 'job-identifier': sha256(job["label"]).hexdigest()[:20], diff --git a/taskcluster/taskgraph/transforms/tests.py b/taskcluster/taskgraph/transforms/tests.py index 9695a3dcb07b..5a3d23a61362 100644 --- a/taskcluster/taskgraph/transforms/tests.py +++ b/taskcluster/taskgraph/transforms/tests.py @@ -52,27 +52,27 @@ WINDOWS_WORKER_TYPES = { 'windows7-32': { 'virtual': 'aws-provisioner-v1/gecko-t-win7-32', 'virtual-with-gpu': 'aws-provisioner-v1/gecko-t-win7-32-gpu', - 'hardware': 'releng-hardware/gecko-t-win10-64-hw', + 'hardware': 'releng-hardware/gecko-t-win7-32-hw', }, 'windows7-32-pgo': { 'virtual': 'aws-provisioner-v1/gecko-t-win7-32', 'virtual-with-gpu': 'aws-provisioner-v1/gecko-t-win7-32-gpu', - 'hardware': 'releng-hardware/gecko-t-win10-64-hw', + 'hardware': 'releng-hardware/gecko-t-win7-32-hw', }, 'windows7-32-nightly': { 'virtual': 'aws-provisioner-v1/gecko-t-win7-32', 'virtual-with-gpu': 'aws-provisioner-v1/gecko-t-win7-32-gpu', - 'hardware': 'releng-hardware/gecko-t-win10-64-hw', + 'hardware': 'releng-hardware/gecko-t-win7-32-hw', }, 'windows7-32-devedition': { 'virtual': 'aws-provisioner-v1/gecko-t-win7-32', 'virtual-with-gpu': 'aws-provisioner-v1/gecko-t-win7-32-gpu', - 'hardware': 'releng-hardware/gecko-t-win10-64-hw', + 'hardware': 'releng-hardware/gecko-t-win7-32-hw', }, 'windows7-32-stylo-disabled': { 'virtual': 'aws-provisioner-v1/gecko-t-win7-32', 'virtual-with-gpu': 'aws-provisioner-v1/gecko-t-win7-32-gpu', - 'hardware': 'releng-hardware/gecko-t-win10-64-hw', + 'hardware': 'releng-hardware/gecko-t-win7-32-hw', }, 'windows10-64': { 'virtual': 'aws-provisioner-v1/gecko-t-win10-64', @@ -926,23 +926,25 @@ def set_worker_type(config, tests): # during the taskcluster migration, this is a bit tortured, but it # will get simpler eventually! test_platform = test['test-platform'] + try_options = config.params['try_options'] if config.params['try_options'] else {} if test.get('worker-type'): # This test already has its worker type defined, so just use that (yields below) pass elif test_platform.startswith('macosx'): test['worker-type'] = MACOSX_WORKER_TYPES['macosx64'] elif test_platform.startswith('win'): - # figure out what platform the job needs to run on - if test['virtualization'] == 'hardware': - # some jobs like talos and reftest run on real h/w - those are all win10 - win_worker_type_platform = WINDOWS_WORKER_TYPES['windows10-64'] + win_worker_type_platform = WINDOWS_WORKER_TYPES[ + test_platform.split('/')[0] + ] + if test.get('suite', '') == 'talos' and 'ccov' not in test['build-platform']: + if try_options.get('taskcluster_worker'): + test['worker-type'] = win_worker_type_platform['hardware'] + elif test['virtualization'] == 'virtual': + test['worker-type'] = win_worker_type_platform[test['virtualization']] + else: + test['worker-type'] = 'buildbot-bridge/buildbot-bridge' else: - # the other jobs run on a vm which may or may not be a win10 vm - win_worker_type_platform = WINDOWS_WORKER_TYPES[ - test_platform.split('/')[0] - ] - # now we have the right platform set the worker type accordingly - test['worker-type'] = win_worker_type_platform[test['virtualization']] + test['worker-type'] = win_worker_type_platform[test['virtualization']] elif test_platform.startswith('linux') or test_platform.startswith('android'): if test.get('suite', '') == 'talos' and test['build-platform'] != 'linux64-ccov/opt': test['worker-type'] = 'releng-hardware/gecko-t-linux-talos' @@ -954,6 +956,18 @@ def set_worker_type(config, tests): yield test +@transforms.add +def skip_win10_hardware(config, tests): + """Windows 10 hardware isn't ready yet, don't even bother scheduling + unless we're on try""" + for test in tests: + if 'releng-hardware/gecko-t-win10-64-hw' not in test['worker-type']: + yield test + if config.params == 'try': + yield test + # Silently drop the test on the floor if its win10 hardware and we're not try + + @transforms.add def make_job_description(config, tests): """Convert *test* descriptions to *job* descriptions (input to diff --git a/testing/mozharness/configs/talos/windows_config.py b/testing/mozharness/configs/talos/windows_config.py index 17f5f16b7bc0..a0c837b5c663 100644 --- a/testing/mozharness/configs/talos/windows_config.py +++ b/testing/mozharness/configs/talos/windows_config.py @@ -1,8 +1,7 @@ import os import socket -import sys -PYTHON = sys.executable +PYTHON = 'c:/mozilla-build/python27/python.exe' PYTHON_DLL = 'c:/mozilla-build/python27/python27.dll' VENV_PATH = os.path.join(os.getcwd(), 'build/venv') @@ -23,8 +22,7 @@ config = { '%s/scripts/easy_install-2.7-script.py' % VENV_PATH], 'mozinstall': ['%s/scripts/python' % VENV_PATH, '%s/scripts/mozinstall-script.py' % VENV_PATH], - 'hg': os.path.join(os.environ['PROGRAMFILES'], 'Mercurial', 'hg'), - 'tooltool.py': [PYTHON, os.path.join(os.environ['MOZILLABUILD'], 'tooltool.py')], + 'hg': 'c:/mozilla-build/hg/hg', }, "title": socket.gethostname().split('.')[0], "default_actions": [