summaryrefslogtreecommitdiffstats
path: root/taskcluster/gecko_taskgraph/transforms/test/__init__.py
diff options
context:
space:
mode:
Diffstat (limited to 'taskcluster/gecko_taskgraph/transforms/test/__init__.py')
-rw-r--r--taskcluster/gecko_taskgraph/transforms/test/__init__.py14
1 files changed, 13 insertions, 1 deletions
diff --git a/taskcluster/gecko_taskgraph/transforms/test/__init__.py b/taskcluster/gecko_taskgraph/transforms/test/__init__.py
index 92704bf18c..19ab8d289f 100644
--- a/taskcluster/gecko_taskgraph/transforms/test/__init__.py
+++ b/taskcluster/gecko_taskgraph/transforms/test/__init__.py
@@ -27,6 +27,7 @@ from taskgraph.util.schema import Schema, optionally_keyed_by, resolve_keyed_by
from voluptuous import Any, Exclusive, Optional, Required
from gecko_taskgraph.optimize.schema import OptimizationSchema
+from gecko_taskgraph.transforms.job import job_description_schema
from gecko_taskgraph.transforms.test.other import get_mobile_project
from gecko_taskgraph.util.chunking import manifest_loaders
@@ -118,7 +119,9 @@ test_description_schema = Schema(
Required("run-without-variant"): optionally_keyed_by("test-platform", bool),
# The EC2 instance size to run these tests on.
Required("instance-size"): optionally_keyed_by(
- "test-platform", Any("default", "large", "xlarge")
+ "test-platform",
+ "variant",
+ Any("default", "large", "large-noscratch", "xlarge", "xlarge-noscratch"),
),
# type of virtualization or hardware required by test.
Required("virtualization"): optionally_keyed_by(
@@ -265,11 +268,14 @@ test_description_schema = Schema(
str,
None,
{Required("index"): str, Required("name"): str},
+ {Required("upstream-task"): str, Required("name"): str},
),
),
# A list of artifacts to install from 'fetch' tasks. Validation deferred
# to 'job' transforms.
Optional("fetches"): object,
+ # A list of extra dependencies
+ Optional("dependencies"): object,
# Raptor / browsertime specific keys, defer validation to 'raptor.py'
# transform.
Optional("raptor"): object,
@@ -279,6 +285,8 @@ test_description_schema = Schema(
Optional("subtest"): str,
# Define if a given task supports artifact builds or not, see bug 1695325.
Optional("supports-artifact-builds"): bool,
+ # Version of python used to run the task
+ Optional("use-python"): job_description_schema["use-python"],
}
)
@@ -346,6 +354,7 @@ def set_defaults(config, tasks):
task.setdefault("run-without-variant", True)
task.setdefault("variants", [])
task.setdefault("supports-artifact-builds", True)
+ task.setdefault("use-python", "system")
task["mozharness"].setdefault("extra-options", [])
task["mozharness"].setdefault("requires-signed-builds", False)
@@ -484,6 +493,9 @@ def make_job_description(config, tasks):
if task["mozharness"]["requires-signed-builds"] is True:
jobdesc["dependencies"]["build-signing"] = task["build-signing-label"]
+ if "dependencies" in task:
+ jobdesc["dependencies"].update(task["dependencies"])
+
if "expires-after" in task:
jobdesc["expires-after"] = task["expires-after"]