Backed out 3 changesets (bug 1643689) for Gecko Decision Task failure. CLOSED TREE

Backed out changeset 2912d91dd291 (bug 1643689)
Backed out changeset 50195a6883bf (bug 1643689)
Backed out changeset 6c2a31b47d0b (bug 1643689)
This commit is contained in:
Dorel Luca
2020-09-29 19:00:55 +03:00
parent 09e2cf9114
commit acfc8f3c24
21 changed files with 48 additions and 65 deletions

View File

@@ -47,11 +47,9 @@ from taskgraph.util.schema import (
from taskgraph.optimize.schema import OptimizationSchema
from taskgraph.util.chunking import (
chunk_manifests,
get_manifest_loader,
get_runtimes,
guess_mozinfo_from_task,
manifest_loaders,
DefaultLoader,
)
from taskgraph.util.taskcluster import (
get_artifact_path,
@@ -289,6 +287,44 @@ TEST_VARIANTS = {
}
CHUNK_SUITES_BLACKLIST = (
'awsy',
'cppunittest',
'crashtest',
'crashtest-qr',
'firefox-ui-functional-local',
'firefox-ui-functional-remote',
'geckoview-junit',
'gtest',
'jittest',
'jsreftest',
'marionette',
'mochitest-browser-chrome-screenshots',
'mochitest-browser-chrome-thunderbird',
'mochitest-valgrind-plain',
'mochitest-webgl1-core',
'mochitest-webgl1-ext',
'mochitest-webgl2-core',
'mochitest-webgl2-ext',
'raptor',
'reftest',
'reftest-qr',
'reftest-gpu',
'reftest-no-accel',
'talos',
'telemetry-tests-client',
'test-coverage',
'test-coverage-wpt',
'test-verify',
'test-verify-gpu',
'test-verify-wpt',
'web-platform-tests-backlog',
'web-platform-tests-print-reftest',
'web-platform-tests-reftest-backlog',
)
"""These suites will be chunked at test runtime rather than here in the taskgraph."""
DYNAMIC_CHUNK_DURATION = 20 * 60 # seconds
"""The approximate time each test chunk should take to run."""
@@ -396,12 +432,6 @@ test_description_schema = Schema({
'test-platform',
Any(int, 'dynamic')),
# Custom 'test_manifest_loader' to use, overriding the one configured in the
# parameters. When 'null', no test chunking will be performed. Can also
# be used to disable "manifest scheduling".
Optional('test-manifest-loader'): Any(None, list(manifest_loaders)),
# the time (with unit) after which this task is deleted; default depends on
# the branch (see below)
Optional('expires-after'): text_type,
@@ -1466,10 +1496,11 @@ def set_test_verify_chunks(config, tasks):
def set_test_manifests(config, tasks):
"""Determine the set of test manifests that should run in this task."""
loader_cls = manifest_loaders[config.params['test_manifest_loader']]
loader = loader_cls(config.params)
for task in tasks:
# When a task explicitly requests no 'test_manifest_loader', test
# resolving will happen at test runtime rather than in the taskgraph.
if 'test-manifest-loader' in task and task['test-manifest-loader'] is None:
if task['suite'] in CHUNK_SUITES_BLACKLIST:
yield task
continue
@@ -1495,9 +1526,6 @@ def set_test_manifests(config, tasks):
mozinfo = guess_mozinfo_from_task(task)
loader_name = task.pop('test-manifest-loader', config.params['test_manifest_loader'])
loader = get_manifest_loader(loader_name, config.params)
task['test-manifests'] = loader.get_manifests(
task['suite'],
frozenset(mozinfo.items()),
@@ -1507,7 +1535,7 @@ def set_test_manifests(config, tasks):
# loader, we'll only run some subset of manifests and the hardcoded
# chunk numbers will no longer be valid. Dynamic chunking should yield
# better results.
if not isinstance(loader, DefaultLoader):
if config.params['test_manifest_loader'] != 'default':
task['chunks'] = "dynamic"
yield task