Bug 1200928 - Part 1: Iterate over all the things in task.extra.locations and build out the test_parameter. r=garndt
authorEdgar Chen <echen@mozilla.com>
Tue, 17 Nov 2015 16:07:59 +0800
changeset 276722 8284bea565d7c5aef8fd5e3c967af8e7bfba74df
parent 276721 75656b6bb12a870b34b2a7019e701849b9502432
child 276723 77ab820ce477438af4b32cea83f82fd55744cec7
push id69273
push usercbook@mozilla.com
push dateThu, 17 Dec 2015 11:03:52 +0000
treeherdermozilla-inbound@565d7ae436ba [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersgarndt
bugs1200928
milestone46.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
Bug 1200928 - Part 1: Iterate over all the things in task.extra.locations and build out the test_parameter. r=garndt
testing/taskcluster/mach_commands.py
--- a/testing/taskcluster/mach_commands.py
+++ b/testing/taskcluster/mach_commands.py
@@ -415,49 +415,22 @@ class Graph(object):
                 routes_transform.decorate_task_json_routes(build_task['task'],
                                                            json_routes,
                                                            build_parameters)
 
             # Ensure each build graph is valid after construction.
             taskcluster_graph.build_task.validate(build_task)
             graph['tasks'].append(build_task)
 
-            test_packages_url, tests_url, mozharness_url = None, None, None
-
-            if 'test_packages' in build_task['task']['extra']['locations']:
-                test_packages_url = ARTIFACT_URL.format(
+            for location in build_task['task']['extra'].get('locations', {}):
+                build_parameters['{}_url'.format(location)] = ARTIFACT_URL.format(
                     build_parameters['build_slugid'],
-                    build_task['task']['extra']['locations']['test_packages']
-                )
-
-            if 'tests' in build_task['task']['extra']['locations']:
-                tests_url = ARTIFACT_URL.format(
-                    build_parameters['build_slugid'],
-                    build_task['task']['extra']['locations']['tests']
+                    build_task['task']['extra']['locations'][location]
                 )
 
-            if 'mozharness' in build_task['task']['extra']['locations']:
-                mozharness_url = ARTIFACT_URL.format(
-                    build_parameters['build_slugid'],
-                    build_task['task']['extra']['locations']['mozharness']
-                )
-
-            build_url = ARTIFACT_URL.format(
-                build_parameters['build_slugid'],
-                build_task['task']['extra']['locations']['build']
-            )
-            build_parameters['build_url'] = build_url
-
-            # img_url is only necessary for device builds
-            img_url = ARTIFACT_URL.format(
-                build_parameters['build_slugid'],
-                build_task['task']['extra']['locations'].get('img', '')
-            )
-            build_parameters['img_url'] = img_url
-
             define_task = DEFINE_TASK.format(build_task['task']['workerType'])
 
             for route in build_task['task'].get('routes', []):
                 if route.startswith('index.gecko.v2') and route in all_routes:
                     raise Exception("Error: route '%s' is in use by multiple tasks: '%s' and '%s'" % (
                         route,
                         build_task['task']['metadata']['name'],
                         all_routes[route],
@@ -509,22 +482,17 @@ class Graph(object):
 
             for test in build['dependents']:
                 test = test['allowed_build_tasks'][build['task']]
                 # TODO additional-parameters is currently not an option, only
                 # enabled for build tasks
                 test_parameters = merge_dicts(build_parameters,
                                               test.get('additional-parameters', {}))
                 test_parameters = copy.copy(build_parameters)
-                if tests_url:
-                    test_parameters['tests_url'] = tests_url
-                if test_packages_url:
-                    test_parameters['test_packages_url'] = test_packages_url
-                if mozharness_url:
-                    test_parameters['mozharness_url'] = mozharness_url
+
                 test_definition = templates.load(test['task'], {})['task']
                 chunk_config = test_definition['extra'].get('chunks', {})
 
                 # Allow branch configs to override task level chunking...
                 if 'chunks' in test:
                     chunk_config['total'] = test['chunks']
 
                 chunked = 'total' in chunk_config