Bug 1543895 - Move test-platform keying of fetches in tests to individual fetch types. r=tomprince
authorMike Hommey <mh+mozilla@glandium.org>
Fri, 12 Apr 2019 05:31:03 +0000
changeset 469216 a632dfa60af6edd4f7dd03d404d898b6222b56c3
parent 469215 1cf54b6a1c902ef00b7b3b68c08a4b8aa61b8703
child 469217 f4127e39283b592c6dae51795a2b43a46aaa48b2
child 469227 c3b55b97b9ae1101c615ec2fe525fd9336bb8599
push id112770
push usershindli@mozilla.com
push dateFri, 12 Apr 2019 09:36:35 +0000
treeherdermozilla-inbound@f4127e39283b [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewerstomprince
bugs1543895
milestone68.0a1
first release with
nightly linux32
a632dfa60af6 / 68.0a1 / 20190412093400 / files
nightly linux64
a632dfa60af6 / 68.0a1 / 20190412093400 / files
nightly mac
a632dfa60af6 / 68.0a1 / 20190412093400 / files
nightly win32
a632dfa60af6 / 68.0a1 / 20190412093400 / files
nightly win64
a632dfa60af6 / 68.0a1 / 20190412093400 / files
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
releases
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Bug 1543895 - Move test-platform keying of fetches in tests to individual fetch types. r=tomprince So, instead of fetches['by-test-platform']['fetch'], we have fetches['fetch']['by-test-platform']. Differential Revision: https://phabricator.services.mozilla.com/D27227
taskcluster/ci/test/raptor-chrome.yml
taskcluster/taskgraph/transforms/tests.py
--- a/taskcluster/ci/test/raptor-chrome.yml
+++ b/taskcluster/ci/test/raptor-chrome.yml
@@ -27,28 +27,25 @@ job-defaults:
                     - raptor/windows_vm_config.py
                 linux64-ccov/opt:
                     - raptor/linux64_config_taskcluster.py
                 android-hw.*:
                     - raptor/android_hw_config.py
                 default:
                     - raptor/linux_config.py
     fetches:
-        by-test-platform:
-            win.*64.*:
-                fetch:
+        fetch:
+            by-test-platform:
+                win.*64.*:
                     - win64-chromium
-            win.*32.*:
-                fetch:
+                win.*32.*:
                     - win32-chromium
-            macosx.*:
-                fetch:
+                macosx.*:
                     - mac-chromium
-            default:
-                fetch:
+                default:
                     - linux64-chromium
 
 raptor-tp6-1-chrome:
     description: "Raptor tp6-1 on Chrome"
     try-name: raptor-tp6-1-chrome
     treeherder-symbol: Rap-C(tp6-1)
     max-run-time: 1200
     mozharness:
@@ -207,86 +204,77 @@ raptor-unity-webgl-chrome:
     description: "Raptor Unity WebGL on Chrome"
     try-name: raptor-unity-webgl-chrome
     treeherder-symbol: Rap-C(ugl)
     mozharness:
         extra-options:
             - --test=raptor-unity-webgl
             - --app=chrome
     fetches:
-        by-test-platform:
-            win.*64.*:
-                fetch:
+        fetch:
+            by-test-platform:
+                win.*64.*:
                     - win64-chromium
                     - unity-webgl
-            win.*32.*:
-                fetch:
+                win.*32.*:
                     - win32-chromium
                     - unity-webgl
-            macosx.*:
-                fetch:
+                macosx.*:
                     - mac-chromium
                     - unity-webgl
-            default:
-                fetch:
+                default:
                     - linux64-chromium
                     - unity-webgl
 
 raptor-wasm-misc-chrome:
     description: "Raptor WASM Misc on Chrome"
     try-name: raptor-wasm-misc-chrome
     treeherder-symbol: Rap-C(wm)
     mozharness:
         extra-options:
             - --test=raptor-wasm-misc
             - --app=chrome
     fetches:
-        by-test-platform:
-            win.*64.*:
-                fetch:
+        fetch:
+            by-test-platform:
+                win.*64.*:
                     - win64-chromium
                     - wasm-misc
-            win.*32.*:
-                fetch:
+                win.*32.*:
                     - win32-chromium
                     - wasm-misc
-            macosx.*:
-                fetch:
+                macosx.*:
                     - mac-chromium
                     - wasm-misc
-            default:
-                fetch:
+                default:
                     - linux64-chromium
                     - wasm-misc
 
 raptor-assorted-dom-chrome:
     description: "Raptor Assorted-Dom on Chrome"
     try-name: raptor-assorted-dom-chrome
     treeherder-symbol: Rap-C(dom)
     max-run-time: 1500
     mozharness:
         extra-options:
             - --test=raptor-assorted-dom
             - --app=chrome
     fetches:
-        by-test-platform:
-            win.*64.*:
-                fetch:
+        fetch:
+            by-test-platform:
+                win.*64.*:
                     - win64-chromium
                     - assorted-dom
-            win.*32.*:
-                fetch:
+                win.*32.*:
                     - win32-chromium
                     - assorted-dom
-            macosx.*:
-                fetch:
+                macosx.*:
                     - mac-chromium
                     - assorted-dom
-            default:
-                fetch:
+                default:
                     - linux64-chromium
                     - assorted-dom
 
 raptor-wasm-godot-chrome:
     description: "Raptor Wasm Godot on Chrome"
     try-name: raptor-wasm-godot-chrome
     treeherder-symbol: Rap-C(godot)
     max-run-time: 1500
--- a/taskcluster/taskgraph/transforms/tests.py
+++ b/taskcluster/taskgraph/transforms/tests.py
@@ -444,22 +444,19 @@ test_description_schema = Schema({
     # target.dmg (Mac), target.apk (Android), target.tar.bz2 (Linux),
     # or target.zip (Windows).
     Optional('target'): optionally_keyed_by(
         'test-platform',
         Any(basestring, None, {'index': basestring, 'name': basestring}),
     ),
 
     # A list of artifacts to install from 'fetch' tasks.
-    Optional('fetches'): optionally_keyed_by(
-        'test-platform',
-        {
-            basestring: [basestring]
-        }
-    ),
+    Optional('fetches'): {
+        basestring: optionally_keyed_by('test-platform', [basestring])
+    },
 }, required=True)
 
 
 @transforms.add
 def handle_keyed_by_mozharness(config, tests):
     """Resolve a mozharness field if it is keyed by something"""
     for test in tests:
         resolve_keyed_by(test, 'mozharness', item_name=test['test-name'])
@@ -781,17 +778,18 @@ def handle_keyed_by(config, tests):
         'mozharness.chunked',
         'mozharness.config',
         'mozharness.extra-options',
         'mozharness.requires-signed-builds',
         'mozharness.script',
         'workdir',
         'worker-type',
         'virtualization',
-        'fetches',
+        'fetches.fetch',
+        'fetches.toolchain',
     ]
     for test in tests:
         for field in fields:
             resolve_keyed_by(test, field, item_name=test['test-name'],
                              project=config.params['project'])
         yield test