Backout removal of when.files-changed support for tests from Bug 1403322; r=dustin
authorTom Prince <mozilla@hocat.ca>
Tue, 09 Jan 2018 11:51:08 -0700
changeset 452867 a6fb6d5f3b5e45874f5d2f0ddb4b308d263d382e
parent 452866 24aa7ff25c3d4334234a103b718ba4b643a4e397
child 452868 57386b58c05713c04b5beeba1a67e0f43935b3d9
child 452887 b6d240f90874d58ef2d339029dbf71d73af84555
push id1648
push usermtabara@mozilla.com
push dateThu, 01 Mar 2018 12:45:47 +0000
treeherdermozilla-release@cbb9688c2eeb [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersdustin
bugs1403322
milestone59.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
Backout removal of when.files-changed support for tests from Bug 1403322; r=dustin MozReview-Commit-ID: 1ZT1VWJx7Y
taskcluster/taskgraph/transforms/tests.py
--- a/taskcluster/taskgraph/transforms/tests.py
+++ b/taskcluster/taskgraph/transforms/tests.py
@@ -373,16 +373,21 @@ test_description_schema = Schema({
     'test-platform': basestring,
 
     # 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
+    Optional('when'): Any({
+        Optional('files-changed'): [basestring],
+    }),
+
     Optional('worker-type'): optionally_keyed_by(
         'test-platform',
         Any(basestring, None),
     ),
 
 }, required=True)
 
 
@@ -1006,17 +1011,19 @@ def make_job_description(config, tests):
         if suite in INCLUSIVE_COMPONENTS:
             # if this is an "inclusive" test, then all files which might
             # cause it to run are annotated with SCHEDULES in moz.build,
             # so do not include the platform or any other components here
             schedules = [suite]
         else:
             schedules = [suite, platform_family(test['build-platform'])]
 
-        if config.params['project'] != 'try':
+        if test.get('when'):
+            jobdesc['when'] = test['when']
+        elif config.params['project'] != 'try':
             # for non-try branches, include SETA
             jobdesc['optimization'] = {'skip-unless-schedules-or-seta': schedules}
         else:
             # otherwise just use skip-unless-schedules
             jobdesc['optimization'] = {'skip-unless-schedules': schedules}
 
         run = jobdesc['run'] = {}
         run['using'] = 'mozharness-test'