--- a/taskcluster/ci/test/test-platforms.yml
+++ b/taskcluster/ci/test/test-platforms.yml
@@ -127,65 +127,45 @@ linux64-ccov/opt:
linux64-jsdcov/opt:
build-platform: linux64-jsdcov/opt
test-sets:
- jsdcov-code-coverage-tests
##
# Windows platforms (matching /windows.*/)
-# win32 vm
-windows7-32-vm/debug:
- build-platform: win32/debug
- test-sets:
- - windows-vm-tests
- - headless
-windows7-32-vm/opt:
- build-platform: win32/opt
- test-sets:
- - windows-vm-tests
- - awsy
- - desktop-screenshot-capture
- - headless
-
-# win32 gpu
+# win32
windows7-32/debug:
build-platform: win32/debug
test-sets:
- - windows-gpu-tests
+ - headless
+ - windows-tests
windows7-32/opt:
build-platform: win32/opt
test-sets:
- - windows-gpu-tests
- - desktop-screenshot-capture
-
-# win64 vm
-windows10-64-vm/debug:
- build-platform: win64/debug
- test-sets:
- - windows-vm-tests
- - headless
-windows10-64-vm/opt:
- build-platform: win64/opt
- test-sets:
- - windows-vm-tests
- awsy
- desktop-screenshot-capture
- headless
+ - windows-talos
+ - windows-tests
-# win64 gpu
+# win64
windows10-64/debug:
build-platform: win64/debug
test-sets:
- - windows-gpu-tests
+ - headless
+ - windows-tests
windows10-64/opt:
build-platform: win64/opt
test-sets:
- - windows-gpu-tests
+ - awsy
- desktop-screenshot-capture
+ - headless
+ - windows-talos
+ - windows-tests
windows10-64-asan/opt:
build-platform: win64-asan/opt
test-sets:
- common-tests
##
# MacOS X platforms (matching /macosx.*/)
--- a/taskcluster/ci/test/test-sets.yml
+++ b/taskcluster/ci/test/test-sets.yml
@@ -98,48 +98,52 @@ qr-tests:
- xpcshell
jsdcov-code-coverage-tests:
- mochitest
- mochitest-browser-chrome
- mochitest-devtools-chrome
- xpcshell
-##
-# Test sets still being greened up in various ways
-
-windows-vm-tests:
+windows-tests:
- cppunit
- crashtest
- firefox-ui-functional-local
- firefox-ui-functional-remote
- gtest
- jittest
- jsreftest
- marionette
- mochitest
- mochitest-a11y
- mochitest-browser-chrome
+ - mochitest-chrome
+ - mochitest-clipboard
- mochitest-devtools-chrome
+ - mochitest-gpu
- mochitest-jetpack
- mochitest-media
+ - mochitest-webgl
+ - reftest
+ - reftest-no-accel
- web-platform-tests
- web-platform-tests-reftests
- #- xpcshell
+ - xpcshell
-windows-gpu-tests:
- - reftest
- - reftest-no-accel
- - mochitest-gpu
- - mochitest-webgl
-
-# these tests currently run on hardware, but may migrate above when validated
-# see https://bugzilla.mozilla.org/show_bug.cgi?id=1280474#c36
-# - mochitest-chrome
-# - mochitest-clipboard
+windows-talos:
+ - talos-chrome
+ - talos-dromaeojs
+ - talos-g1
+ - talos-g2
+ - talos-g4
+ - talos-g5
+ - talos-other
+ - talos-perf-reftest
+ - talos-svgr
+ - talos-tp5o
macosx64-tests:
- cppunit
- crashtest
- firefox-ui-functional-local
- firefox-ui-functional-remote
- gtest
- jittest
--- a/taskcluster/ci/test/tests.yml
+++ b/taskcluster/ci/test/tests.yml
@@ -28,17 +28,16 @@ cppunit:
description: "CPP Unit Tests"
suite: cppunittest
treeherder-symbol: tc(Cpp)
e10s: false
docker-image: {"in-tree": "desktop1604-test"}
run-on-projects:
by-test-platform:
windows.*: ['mozilla-central', 'try']
- windows7-32-vm/debug: built-projects
windows7-32/debug: built-projects
windows10-64-asan/opt: [] # as an exception to windows.*
linux64-qr/.*: ['mozilla-central', 'try']
default: built-projects
mozharness:
by-test-platform:
android.*:
script: android_emulator_unittest.py
@@ -177,17 +176,16 @@ gtest:
suite: gtest
treeherder-symbol: tc(GTest)
e10s: false
instance-size: xlarge
docker-image: {"in-tree": "desktop1604-test"}
run-on-projects:
by-test-platform:
windows.*: ['mozilla-central', 'try']
- windows7-32-vm/debug: built-projects
windows7-32/debug: built-projects
linux64-qr/.*: ['mozilla-central', 'try']
default: built-projects
mozharness:
script: desktop_unittest.py
no-read-buildbot-config: true
config:
by-test-platform:
@@ -266,17 +264,16 @@ jsreftest:
max-run-time:
by-test-platform:
android.*: 7200
default: 3600
run-on-projects:
by-test-platform:
windows10-64-asan/opt: built-projects # exception to windows.*, below
windows.*: ['mozilla-central', 'try']
- windows7-32-vm/debug: built-projects
windows7-32/debug: built-projects
default: built-projects
mozharness:
by-test-platform:
android.*:
script: android_emulator_unittest.py
no-read-buildbot-config: true
config:
@@ -330,17 +327,16 @@ marionette:
default: 1
e10s:
by-test-platform:
macosx.*: true
default: both
run-on-projects:
by-test-platform:
windows.*: ['mozilla-central', 'try']
- windows7-32-vm/debug: built-projects
windows7-32/debug: built-projects
default: built-projects
mozharness:
by-test-platform:
android.*:
script: android_emulator_unittest.py
no-read-buildbot-config: true
config:
@@ -476,17 +472,16 @@ mochitest-a11y:
suite: mochitest/a11y
treeherder-symbol: tc-M(a11y)
loopback-video: true
e10s: false
docker-image: {"in-tree": "desktop1604-test"}
run-on-projects:
by-test-platform:
windows.*: ['mozilla-central', 'try']
- windows7-32-vm/debug: built-projects
windows7-32/debug: built-projects
linux64-qr/.*: ['mozilla-central', 'try']
default: built-projects
mozharness:
script: desktop_unittest.py
no-read-buildbot-config: true
chunked: false
mochitest-flavor: a11y
@@ -593,31 +588,32 @@ mochitest-browser-screenshots:
instance-size: legacy
allow-software-gl-layers: false
mochitest-chrome:
description: "Mochitest chrome run"
suite: mochitest/chrome
treeherder-symbol: tc-M(c)
loopback-video: true
+ virtualization: hardware
docker-image: {"in-tree": "desktop1604-test"}
instance-size:
by-test-platform:
android.*: xlarge
default: default
chunks:
by-test-platform:
android-4.3-arm7-api-15/debug: 4
android.*: 2
default: 3
max-run-time: 3600
e10s: false
run-on-projects:
by-test-platform:
- windows10.*: []
+ windows.*: ['try']
default: built-projects
mozharness:
by-test-platform:
android.*:
mochitest-flavor: chrome
script: android_emulator_unittest.py
no-read-buildbot-config: true
config:
@@ -671,25 +667,26 @@ mochitest-chrome-style:
extra-options:
- --mochitest-suite=chrome-style
mochitest-clipboard:
description: "Mochitest clipboard run"
suite: mochitest/clipboard
treeherder-symbol: tc-M(cl)
loopback-video: true
+ virtualization: hardware
docker-image: {"in-tree": "desktop1604-test"}
instance-size: xlarge
e10s:
by-test-platform:
macosx64/debug: true
default: both
run-on-projects:
by-test-platform:
- windows10.*: []
+ windows.*: ['try']
default: built-projects
mozharness:
by-test-platform:
android.*:
mochitest-flavor: plain
script: android_emulator_unittest.py
no-read-buildbot-config: true
config:
@@ -733,17 +730,16 @@ mochitest-devtools-chrome:
by-test-platform:
windows.*: 8
macosx.*: 8
default: 10
run-on-projects:
by-test-platform:
windows10.*: []
windows7.*: ['mozilla-central', 'try']
- windows7-32-vm/debug: built-projects
windows7-32/debug: built-projects
default: built-projects
e10s:
by-test-platform:
linux64-jsdcov/opt: false
macosx64/debug: true
default: both
mozharness:
@@ -774,16 +770,17 @@ mochitest-devtools-chrome:
# Bug 1296086: high number of intermittents observed with software GL and large instances
allow-software-gl-layers: false
mochitest-gpu:
description: "Mochitest GPU run"
suite: mochitest/gpu
treeherder-symbol: tc-M(gpu)
loopback-video: true
+ virtualization: virtual-with-gpu
docker-image: {"in-tree": "desktop1604-test"}
run-on-projects:
by-test-platform:
windows10.*: []
default: built-projects
e10s:
by-test-platform:
windows.*: both
@@ -829,17 +826,16 @@ mochitest-jetpack:
loopback-video: true
e10s: false
max-run-time: 5400
docker-image: {"in-tree": "desktop1604-test"}
run-on-projects:
by-test-platform:
windows10-64-asan/opt: built-projects # exception to windows.*, below
windows.*: ['mozilla-central', 'try']
- windows7-32-vm/debug: built-projects
windows7-32/debug: built-projects
default: built-projects
mozharness:
mochitest-flavor: jetpack-package
script: desktop_unittest.py
no-read-buildbot-config: true
chunked: false
config:
@@ -963,16 +959,17 @@ mochitest-valgrind:
- remove_executables.py
extra-options:
- --mochitest-suite=valgrind-plain
mochitest-webgl:
description: "Mochitest webgl run"
suite: mochitest/mochitest-gl
treeherder-symbol: tc-M(gl)
+ virtualization: virtual-with-gpu
docker-image: {"in-tree": "desktop1604-test"}
run-on-projects:
by-test-platform:
windows10.*: []
default: built-projects
chunks:
by-test-platform:
android.*: 10
@@ -1032,16 +1029,17 @@ reftest:
run-on-projects:
by-test-platform:
windows10.*: []
default: built-projects
instance-size:
by-test-platform:
android.*: xlarge
default: default
+ virtualization: virtual-with-gpu
chunks:
by-test-platform:
android-4.3-arm7-api-15/debug: 48
android.*: 16
macosx64/opt: 1
macosx64/debug: 2
default: 8
max-run-time:
@@ -1083,16 +1081,17 @@ reftest:
by-test-platform:
linux64-qr/.*: 1
default: default
reftest-no-accel:
description: "Reftest not accelerated run"
suite: reftest/reftest-no-accel
treeherder-symbol: tc-R(Ru)
+ virtualization: virtual-with-gpu
docker-image: {"in-tree": "desktop1604-test"}
run-on-projects:
by-test-platform:
windows10.*: []
linux64-qr/.*: ['mozilla-central', 'try']
default: built-projects
chunks:
by-test-platform:
@@ -1182,287 +1181,330 @@ robocop:
extra-options:
- --test-suite=robocop
talos-chrome:
description: "Talos chrome"
suite: talos
try-name: chromez
treeherder-symbol: tc-T(c)
+ virtualization: hardware
run-on-projects:
by-test-platform:
linux64-stylo-sequential/.*: ['mozilla-central','try']
linux64-stylo/.*: ['mozilla-central', 'try']
+ windows.*: ['try']
default: ['mozilla-beta', 'mozilla-central', 'mozilla-inbound', 'autoland', 'try']
max-run-time: 3600
e10s: true
mozharness:
script: talos_script.py
no-read-buildbot-config: true
config:
by-test-platform:
macosx.*:
- talos/mac_config.py
+ windows.*:
+ - talos/windows_taskcluster_config.py
default:
- talos/linux_config.py
extra-options:
- --suite=chromez
- --add-option
- --webServer,localhost
talos-dromaeojs:
description: "Talos dromaeojs"
suite: talos
try-name: dromaeojs
treeherder-symbol: tc-T(d)
+ virtualization: hardware
run-on-projects:
by-test-platform:
linux64-stylo-sequential/.*: ['mozilla-central','try']
linux64-stylo/.*: ['mozilla-central', 'try']
+ windows.*: ['try']
default: ['mozilla-beta', 'mozilla-central', 'mozilla-inbound', 'autoland', 'try']
max-run-time: 3600
e10s: true
mozharness:
script: talos_script.py
no-read-buildbot-config: true
config:
by-test-platform:
macosx.*:
- talos/mac_config.py
+ windows.*:
+ - talos/windows_taskcluster_config.py
default:
- talos/linux_config.py
extra-options:
- --suite=dromaeojs
- --add-option
- --webServer,localhost
talos-g1:
description: "Talos g1"
suite: talos
try-name: g1
treeherder-symbol: tc-T(g1)
+ virtualization: hardware
run-on-projects:
by-test-platform:
linux64-stylo-sequential/.*: ['mozilla-central','try']
linux64-stylo/.*: ['mozilla-central', 'try']
+ windows.*: ['try']
default: ['mozilla-beta', 'mozilla-central', 'mozilla-inbound', 'autoland', 'try']
max-run-time: 7200
e10s: true
mozharness:
script: talos_script.py
no-read-buildbot-config: true
config:
by-test-platform:
macosx.*:
- talos/mac_config.py
+ windows.*:
+ - talos/windows_taskcluster_config.py
default:
- talos/linux_config.py
extra-options:
- --suite=g1
- --add-option
- --webServer,localhost
talos-g2:
description: "Talos g2"
suite: talos
try-name: g2
treeherder-symbol: tc-T(g2)
+ virtualization: hardware
max-run-time: 7200
run-on-projects:
by-test-platform:
linux64-stylo-sequential/.*: ['mozilla-central','try']
linux64-stylo/.*: ['mozilla-central', 'try']
+ windows.*: ['try']
default: ['mozilla-beta', 'mozilla-central', 'mozilla-inbound', 'autoland', 'try']
e10s: true
mozharness:
script: talos_script.py
no-read-buildbot-config: true
config:
by-test-platform:
macosx.*:
- talos/mac_config.py
+ windows.*:
+ - talos/windows_taskcluster_config.py
default:
- talos/linux_config.py
extra-options:
- --suite=g2
- --add-option
- --webServer,localhost
talos-g3:
description: "Talos g3"
suite: talos
try-name: g3
treeherder-symbol: tc-T(g3)
+ virtualization: hardware
run-on-projects:
by-test-platform:
linux64-stylo-sequential/.*: ['mozilla-central','try']
linux64-stylo/.*: ['mozilla-central', 'try']
default: ['mozilla-beta','mozilla-central', 'mozilla-inbound', 'autoland', 'try']
max-run-time: 3600
e10s: true
mozharness:
script: talos_script.py
no-read-buildbot-config: true
config:
by-test-platform:
macosx.*:
- talos/mac_config.py
+ windows.*:
+ - talos/windows_taskcluster_config.py
default:
- talos/linux_config.py
extra-options:
- --suite=g3
- --add-option
- --webServer,localhost
talos-g4:
description: "Talos g4"
suite: talos
try-name: g4
treeherder-symbol: tc-T(g4)
+ virtualization: hardware
run-on-projects:
by-test-platform:
linux64-stylo-sequential/.*: ['mozilla-central','try']
linux64-stylo/.*: ['mozilla-central', 'try']
+ windows.*: ['try']
default: ['mozilla-beta','mozilla-central', 'mozilla-inbound', 'autoland', 'try']
max-run-time: 3600
e10s: true
mozharness:
script: talos_script.py
no-read-buildbot-config: true
config:
by-test-platform:
macosx.*:
- talos/mac_config.py
+ windows.*:
+ - talos/windows_taskcluster_config.py
default:
- talos/linux_config.py
extra-options:
- --suite=g4
- --add-option
- --webServer,localhost
talos-g5:
description: "Talos g5"
suite: talos
try-name: g5
treeherder-symbol: tc-T(g5)
+ virtualization: hardware
run-on-projects:
by-test-platform:
linux64-stylo-sequential/.*: ['mozilla-central','try']
linux64-stylo/.*: ['mozilla-central', 'try']
+ windows.*: ['try']
default: ['mozilla-beta', 'mozilla-central', 'mozilla-inbound', 'autoland', 'try']
max-run-time: 3600
e10s: true
mozharness:
script: talos_script.py
no-read-buildbot-config: true
config:
by-test-platform:
macosx.*:
- talos/mac_config.py
+ windows.*:
+ - talos/windows_taskcluster_config.py
default:
- talos/linux_config.py
- remove_executables.py
extra-options:
- --suite=g5
- --add-option
- --webServer,localhost
talos-other:
description: "Talos other"
suite: talos
try-name: other
treeherder-symbol: tc-T(o)
+ virtualization: hardware
run-on-projects:
by-test-platform:
linux64-stylo-sequential/.*: ['mozilla-central','try']
linux64-stylo/.*: ['mozilla-central', 'try']
+ windows.*: ['try']
default: ['mozilla-beta','mozilla-central', 'mozilla-inbound', 'autoland', 'try']
max-run-time: 3600
e10s: true
mozharness:
script: talos_script.py
no-read-buildbot-config: true
config:
by-test-platform:
macosx.*:
- talos/mac_config.py
+ windows.*:
+ - talos/windows_taskcluster_config.py
default:
- talos/linux_config.py
extra-options:
- --suite=other
- --add-option
- --webServer,localhost
talos-perf-reftest:
description: "Talos perf-reftest"
suite: talos
try-name: perf-reftest
treeherder-symbol: tc-T(p)
+ virtualization: hardware
run-on-projects:
by-test-platform:
linux64-stylo-sequential/.*: ['mozilla-central', 'try']
linux64-stylo/.*: ['mozilla-central', 'try']
+ windows.*: ['try']
default: ['mozilla-central', 'mozilla-inbound', 'autoland', 'try']
max-run-time: 3600
e10s: true
mozharness:
script: talos_script.py
no-read-buildbot-config: true
config:
by-test-platform:
+ windows.*:
+ - talos/windows_taskcluster_config.py
default:
- talos/linux_config.py
extra-options:
- --suite=perf-reftest
talos-svgr:
description: "Talos svgr"
suite: talos
try-name: svgr
treeherder-symbol: tc-T(s)
+ virtualization: hardware
run-on-projects:
by-test-platform:
linux64-stylo-sequential/.*: ['mozilla-central','try']
linux64-stylo/.*: ['mozilla-central', 'try']
+ windows.*: ['try']
default: ['mozilla-beta', 'mozilla-central', 'mozilla-inbound', 'autoland', 'try']
max-run-time: 3600
e10s: true
mozharness:
script: talos_script.py
no-read-buildbot-config: true
config:
by-test-platform:
macosx.*:
- talos/mac_config.py
+ windows.*:
+ - talos/windows_taskcluster_config.py
default:
- talos/linux_config.py
extra-options:
- --suite=svgr
- --add-option
- --webServer,localhost
talos-tp5o:
description: "Talos tp5o"
suite: talos
try-name: tp5o
treeherder-symbol: tc-T(tp)
+ virtualization: hardware
run-on-projects:
by-test-platform:
linux64-stylo-sequential/.*: ['mozilla-central','try']
linux64-stylo/.*: ['mozilla-central', 'try']
+ windows.*: ['try']
default: ['mozilla-beta', 'mozilla-central', 'mozilla-inbound', 'autoland', 'try']
max-run-time: 3600
e10s: true
mozharness:
script: talos_script.py
no-read-buildbot-config: true
config:
by-test-platform:
macosx.*:
- talos/mac_config.py
+ windows.*:
+ - talos/windows_taskcluster_config.py
default:
- talos/linux_config.py
extra-options:
- --suite=tp5o
- --add-option
- --webServer,localhost
web-platform-tests:
@@ -1480,17 +1522,16 @@ web-platform-tests:
default: both
max-run-time: 7200
instance-size: xlarge
docker-image: {"in-tree": "desktop1604-test"}
run-on-projects:
by-test-platform:
windows10.*: ['mozilla-central', 'try']
windows7.*: ['mozilla-central', 'try']
- windows7-32-vm/debug: built-projects
windows7-32/debug: built-projects
default: built-projects
mozharness:
script: web_platform_tests.py
no-read-buildbot-config: true
chunked: true
config:
by-test-platform:
@@ -1514,17 +1555,16 @@ web-platform-tests-reftests:
by-test-platform:
macosx.*: true
default: both
docker-image: {"in-tree": "desktop1604-test"}
run-on-projects:
by-test-platform:
windows10.*: ['mozilla-central', 'try']
windows7.*: ['mozilla-central', 'try']
- windows7-32-vm/debug: built-projects
windows7-32/debug: built-projects
default: built-projects
mozharness:
script: web_platform_tests.py
no-read-buildbot-config: true
config:
by-test-platform:
windows.*:
--- a/taskcluster/taskgraph/transforms/job/mozharness_test.py
+++ b/taskcluster/taskgraph/transforms/job/mozharness_test.py
@@ -27,16 +27,18 @@ BUILDER_NAME_PREFIX = {
'linux64-jsdcov': 'Ubuntu Code Coverage VM 12.04 x64',
'linux64-stylo': 'Ubuntu VM 12.04 x64',
'linux64-devedition-nightly': 'Ubuntu VM 12.04 x64 DevEdition',
'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',
}
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,
})
--- a/taskcluster/taskgraph/transforms/tests.py
+++ b/taskcluster/taskgraph/transforms/tests.py
@@ -39,25 +39,36 @@ import logging
# default worker types keyed by instance-size
LINUX_WORKER_TYPES = {
'large': 'aws-provisioner-v1/gecko-t-linux-large',
'xlarge': 'aws-provisioner-v1/gecko-t-linux-xlarge',
'legacy': 'aws-provisioner-v1/gecko-t-linux-medium',
'default': 'aws-provisioner-v1/gecko-t-linux-large',
}
-# windows / os x worker types keyed by test-platform
+# windows worker types keyed by test-platform and virtualization
WINDOWS_WORKER_TYPES = {
- 'windows7-32-vm': 'aws-provisioner-v1/gecko-t-win7-32',
- 'windows7-32': 'aws-provisioner-v1/gecko-t-win7-32-gpu',
- 'windows10-64-vm': 'aws-provisioner-v1/gecko-t-win10-64',
- 'windows10-64': 'aws-provisioner-v1/gecko-t-win10-64-gpu',
- 'windows10-64-asan': 'aws-provisioner-v1/gecko-t-win10-64-gpu',
+ '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-win7-32-hw',
+ },
+ 'windows10-64': {
+ 'virtual': 'aws-provisioner-v1/gecko-t-win10-64',
+ 'virtual-with-gpu': 'aws-provisioner-v1/gecko-t-win10-64-gpu',
+ 'hardware': 'releng-hardware/gecko-t-win10-64-hw',
+ },
+ 'windows10-64-asan': {
+ 'virtual': 'aws-provisioner-v1/gecko-t-win10-64',
+ 'virtual-with-gpu': 'aws-provisioner-v1/gecko-t-win10-64-gpu',
+ 'hardware': 'releng-hardware/gecko-t-win10-64-hw',
+ },
}
+# os x worker types keyed by test-platform
MACOSX_WORKER_TYPES = {
'macosx64': 'releng-hardware/gecko-t-osx-1010',
}
logger = logging.getLogger(__name__)
transforms = TransformSequence()
@@ -138,16 +149,21 @@ test_description_schema = Schema({
# Whether the task should run with WebRender enabled or not.
Optional('webrender', default=False): bool,
# The EC2 instance size to run these tests on.
Required('instance-size', default='default'): optionally_keyed_by(
'test-platform',
Any('default', 'large', 'xlarge', 'legacy')),
+ # type of virtualization or hardware required by test.
+ Required('virtualization', default='virtual'): optionally_keyed_by(
+ 'test-platform',
+ Any('virtual', 'virtual-with-gpu', 'hardware')),
+
# Whether the task requires loopback audio or video (whatever that may mean
# on the platform)
Required('loopback-audio', default=False): bool,
Required('loopback-video', default=False): bool,
# Whether the test can run using a software GL implementation on Linux
# using the GL compositor. May not be used with "legacy" sized instances
# due to poor LLVMPipe performance (bug 1296086). Defaults to true for
@@ -687,27 +703,29 @@ def parallel_stylo_tests(config, tests):
.append('--parallel-stylo-traversal')
yield test
@transforms.add
def set_worker_type(config, tests):
"""Set the worker type based on the test platform."""
for test in tests:
- # during the taskcluuster migration, this is a bit tortured, but it
+ # during the taskcluster migration, this is a bit tortured, but it
# will get simpler eventually!
test_platform = test['test-platform']
if test_platform.startswith('macosx'):
# note that some portion of these will be allocated to BBB below
test['worker-type'] = MACOSX_WORKER_TYPES['macosx64']
elif test_platform.startswith('win'):
- if test.get('suite', '') == 'talos':
+ if test.get('suite', '') == 'talos' and \
+ not any('taskcluster' in cfg for cfg in test['mozharness']['config']):
test['worker-type'] = 'buildbot-bridge/buildbot-bridge'
else:
- test['worker-type'] = WINDOWS_WORKER_TYPES[test_platform.split('/')[0]]
+ test['worker-type'] = \
+ WINDOWS_WORKER_TYPES[test_platform.split('/')[0]][test['virtualization']]
elif test_platform.startswith('linux') or test_platform.startswith('android'):
if test.get('suite', '') == 'talos':
if config.config['args'].taskcluster_worker:
test['worker-type'] = 'releng-hardware/gecko-t-linux-talos'
else:
test['worker-type'] = 'buildbot-bridge/buildbot-bridge'
else:
test['worker-type'] = LINUX_WORKER_TYPES[test['instance-size']]
--- a/taskcluster/taskgraph/util/workertypes.py
+++ b/taskcluster/taskgraph/util/workertypes.py
@@ -19,18 +19,20 @@ WORKER_TYPES = {
'aws-provisioner-v1/gecko-3-b-macosx64': ('docker-worker', 'linux'),
'aws-provisioner-v1/gecko-3-b-win2012': ('generic-worker', 'windows'),
'aws-provisioner-v1/gecko-symbol-upload': ('docker-worker', 'linux'),
'aws-provisioner-v1/gecko-t-linux-large': ('docker-worker', 'linux'),
'aws-provisioner-v1/gecko-t-linux-medium': ('docker-worker', 'linux'),
'aws-provisioner-v1/gecko-t-linux-xlarge': ('docker-worker', 'linux'),
'aws-provisioner-v1/gecko-t-win10-64': ('generic-worker', 'windows'),
'aws-provisioner-v1/gecko-t-win10-64-gpu': ('generic-worker', 'windows'),
+ 'releng-hardware/gecko-t-win10-64-hw': ('generic-worker', 'windows'),
'aws-provisioner-v1/gecko-t-win7-32': ('generic-worker', 'windows'),
'aws-provisioner-v1/gecko-t-win7-32-gpu': ('generic-worker', 'windows'),
+ 'releng-hardware/gecko-t-win7-32-hw': ('generic-worker', 'windows'),
'aws-provisioner-v1/taskcluster-generic': ('docker-worker', 'linux'),
'buildbot-bridge/buildbot-bridge': ('buildbot-bridge', None),
'invalid/invalid': ('invalid', None),
'null-provisioner/human-breakpoint': ('push-apk-breakpoint', None),
'null-provisioner/human-breakpoint': ('push-apk-breakpoint', None),
'releng-hardware/gecko-t-linux-talos': ('native-engine', 'linux'),
'scriptworker-prov-v1/balrogworker-v1': ('balrog', None),
'scriptworker-prov-v1/beetmoverworker-v1': ('beetmover', None),
new file mode 100644
--- /dev/null
+++ b/testing/mozharness/configs/talos/windows_taskcluster_config.py
@@ -0,0 +1,55 @@
+import os
+import socket
+
+PYTHON = sys.executable
+PYTHON_DLL = 'c:/mozilla-build/python/python27.dll'
+VENV_PATH = os.path.join(os.getcwd(), 'venv')
+
+config = {
+ "log_name": "talos",
+ "buildbot_json_path": "buildprops.json",
+ "installer_path": "installer.exe",
+ "virtualenv_path": VENV_PATH,
+ "virtualenv_python_dll": PYTHON_DLL,
+ "pip_index": False,
+ "find_links": [
+ "http://pypi.pub.build.mozilla.org/pub",
+ ],
+ "virtualenv_modules": ['pypiwin32', 'talos', 'mozinstall'],
+ "exes": {
+ 'python': PYTHON,
+ 'virtualenv': [
+ sys.executable,
+ os.path.join(os.path.dirname(sys.executable), 'Lib', 'site-packages', 'virtualenv.py')
+ ],
+ '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')],
+ },
+ "title": socket.gethostname().split('.')[0],
+ "default_actions": [
+ "populate-webroot",
+ "create-virtualenv",
+ "install",
+ "setup-mitmproxy",
+ "run-tests",
+ ],
+ "default_blob_upload_servers": [
+ "https://blobupload.elasticbeanstalk.com",
+ ],
+ "blob_uploader_auth_file": 'C:/builds/oauth.txt',
+ "metro_harness_path_frmt": "%(metro_base_path)s/metro/metrotestharness.exe",
+ "download_minidump_stackwalk": True,
+ "tooltool_cache": os.path.join('Y:\\', 'tooltool-cache'),
+ "minidump_stackwalk_path": "win32-minidump_stackwalk.exe",
+ "minidump_tooltool_manifest_path": "config/tooltool-manifests/win32/releng.manifest",
+ "python3_manifest": {
+ "win32": "python3.manifest",
+ "win64": "python3_x64.manifest",
+ },
+ "env": {
+ # python3 requires C runtime, found in firefox installation; see bug 1361732
+ "PATH": "%(PATH)s;%(CD)s\\build\\application\\firefox;"
+ }
+}