author | Tom Prince <mozilla@hocat.ca> |
Fri, 26 Oct 2018 19:10:42 +0000 | |
changeset 443222 | c6ccc706547610c6897ead77343a2ec62835ec1f |
parent 443221 | bb0a820903b98831234e8bfae11f6d209c7729dc |
child 443223 | 230a5cf2a4b45352217919b185831e767ce1f193 |
push id | 34944 |
push user | ncsoregi@mozilla.com |
push date | Sat, 27 Oct 2018 09:49:55 +0000 |
treeherder | mozilla-central@49d47a692ca4 [default view] [failures only] |
perfherder | [talos] [build metrics] [platform microbench] (compared to previous push) |
reviewers | dustin |
bugs | 1502253 |
milestone | 65.0a1 |
first release with | nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
|
last release without | nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
|
--- a/taskcluster/taskgraph/cron/schema.py +++ b/taskcluster/taskgraph/cron/schema.py @@ -23,25 +23,25 @@ def even_15_minutes(minutes): cron_yml_schema = Schema({ 'jobs': [{ # Name of the crontask (must be unique) Required('name'): basestring, # what to run # Description of the job to run, keyed by 'type' - Required('job'): Any({ + Required('job'): { Required('type'): 'decision-task', # Treeherder symbol for the cron task Required('treeherder-symbol'): basestring, # --target-tasks-method './mach taskgraph decision' argument 'target-tasks-method': basestring, - }), + }, # when to run it # Optional set of projects on which this job should run; if omitted, this will # run on all projects for which cron tasks are set up. This works just like the # `run_on_projects` attribute, where strings like "release" and "integration" are # expanded to cover multiple repositories. (taskcluster/docs/attributes.rst) 'run-on-projects': [basestring],
--- a/taskcluster/taskgraph/transforms/fetch.py +++ b/taskcluster/taskgraph/transforms/fetch.py @@ -5,17 +5,16 @@ # Support for running tasks that download remote content and re-export # it as task artifacts. from __future__ import absolute_import, unicode_literals import os from voluptuous import ( - Any, Optional, Required, ) import taskgraph from .base import ( TransformSequence, @@ -42,17 +41,17 @@ FETCH_SCHEMA = Schema({ # Relative path (from config.path) to the file the task was defined # in. Optional('job-from'): basestring, # Description of the task. Required('description'): basestring, - Required('fetch'): Any({ + Required('fetch'): { 'type': 'static-url', # The URL to download. Required('url'): basestring, # The SHA-256 of the downloaded content. Required('sha256'): basestring, @@ -70,17 +69,17 @@ FETCH_SCHEMA = Schema({ Required('key-path'): basestring, }, # The name to give to the generated artifact. Optional('artifact-name'): basestring, # IMPORTANT: when adding anything that changes the behavior of the task, # it is important to update the digest data used to compute cache hits. - }), + }, }) @transforms.add def validate(config, jobs): for job in jobs: validate_schema( FETCH_SCHEMA, job,
--- a/taskcluster/taskgraph/transforms/job/__init__.py +++ b/taskcluster/taskgraph/transforms/job/__init__.py @@ -20,17 +20,16 @@ from taskgraph.transforms.base import Tr from taskgraph.util.schema import ( validate_schema, Schema, ) from taskgraph.util.taskcluster import get_artifact_prefix from taskgraph.util.workertypes import worker_type_implementation from taskgraph.transforms.task import task_description_schema from voluptuous import ( - Any, Extra, Optional, Required, Exclusive, ) logger = logging.getLogger(__name__) @@ -68,22 +67,22 @@ job_description_schema = Schema({ Exclusive('optimization', 'optimization'): task_description_schema['optimization'], Optional('needs-sccache'): task_description_schema['needs-sccache'], Optional('release-artifacts'): task_description_schema['release-artifacts'], # The "when" section contains descriptions of the circumstances under which # this task should be included in the task graph. This will be converted # into an optimization, so it cannot be specified in a job description that # also gives 'optimization'. - Exclusive('when', 'optimization'): Any({ + Exclusive('when', 'optimization'): { # This task only needs to be run if a file matching one of the given # patterns has changed in the push. The patterns use the mozpack # match function (python/mozbuild/mozpack/path.py). Optional('files-changed'): [basestring], - }), + }, # A list of artifacts to install from 'fetch' tasks. Optional('fetches'): { basestring: [basestring, { Required('artifact'): basestring, Optional('dest'): basestring, Optional('extract'): bool, }],
--- a/taskcluster/taskgraph/transforms/tests.py +++ b/taskcluster/taskgraph/transforms/tests.py @@ -366,19 +366,19 @@ test_description_schema = Schema({ # the name of the test (the key in tests.yml) 'test-name': basestring, # the product name, defaults to firefox Optional('product'): basestring, # conditional files to determine when these tests should be run - Exclusive(Optional('when'), 'optimization'): Any({ + Exclusive(Optional('when'), 'optimization'): { Optional('files-changed'): [basestring], - }), + }, # Optimization to perform on this task during the optimization phase. # Optimizations are defined in taskcluster/taskgraph/optimize.py. Exclusive(Optional('optimization'), 'optimization'): OptimizationSchema, # The SCHEDULES component for this task; this defaults to the suite # (not including the flavor) but can be overridden here. Exclusive(Optional('schedules-component'), 'optimization'): basestring,