Backed out changeset 45d01b30e9d1 (bug 1340564)
authorCarsten "Tomcat" Book <cbook@mozilla.com>
Fri, 12 May 2017 15:59:30 +0200
changeset 358080 4bb396799a3106a38a55b12e904b9b79f0cde92d
parent 358079 2d6baa44eff236c217650a9c60f28e1016359909
child 358081 1ec1d88637208098802e57d13db9033902e5a229
push id31810
push usercbook@mozilla.com
push dateFri, 12 May 2017 14:01:07 +0000
treeherdermozilla-central@1ec1d8863720 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
bugs1340564
milestone55.0a1
backs out45d01b30e9d1eb6e7a06eb2800d7d54d302c2f6e
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
Backed out changeset 45d01b30e9d1 (bug 1340564)
taskcluster/taskgraph/loader/push_apk.py
taskcluster/taskgraph/util/push_apk.py
--- a/taskcluster/taskgraph/loader/push_apk.py
+++ b/taskcluster/taskgraph/loader/push_apk.py
@@ -21,13 +21,12 @@ def loader(kind, path, config, params, l
 def get_dependent_loaded_tasks(config, loaded_tasks):
     nightly_tasks = (
         task for task in loaded_tasks if task.attributes.get('nightly')
     )
     tasks_with_matching_kind = (
         task for task in nightly_tasks if task.kind in config.get('kind-dependencies')
     )
     android_tasks = [
-        task for task in tasks_with_matching_kind
-        if task.attributes.get('build_platform', '').startswith('android')
+        task for task in tasks_with_matching_kind if 'android' in task.label
     ]
 
     return android_tasks
--- a/taskcluster/taskgraph/util/push_apk.py
+++ b/taskcluster/taskgraph/util/push_apk.py
@@ -4,20 +4,17 @@
 """
 Common functions for both push-apk and push-apk-breakpoint.
 """
 
 import re
 
 from taskgraph.util.schema import validate_schema
 
-REQUIRED_ARCHITECTURES = {
-    'android-x86-nightly',
-    'android-api-15-nightly',
-}
+REQUIRED_ARCHITECTURES = ('android-x86', 'android-api-15')
 PLATFORM_REGEX = re.compile(r'signing-android-(\S+)-nightly')
 
 
 def fill_labels_tranform(_, jobs):
     for job in jobs:
         job['label'] = job['name']
 
         yield job
@@ -34,19 +31,25 @@ def validate_jobs_schema_transform_parti
 
 def validate_dependent_tasks_transform(_, jobs):
     for job in jobs:
         check_every_architecture_is_present_in_dependent_tasks(job['dependent-tasks'])
         yield job
 
 
 def check_every_architecture_is_present_in_dependent_tasks(dependent_tasks):
-    dep_platforms = set(t.attributes.get('build_platform') for t in dependent_tasks)
-    missed_architectures = REQUIRED_ARCHITECTURES - dep_platforms
-    if missed_architectures:
+    dependencies_labels = [task.label for task in dependent_tasks]
+
+    is_this_required_architecture_present = {
+        architecture: any(architecture in label for label in dependencies_labels)
+        for architecture in REQUIRED_ARCHITECTURES
+    }
+    are_all_required_achitectures_present = all(is_this_required_architecture_present.values())
+
+    if not are_all_required_achitectures_present:
         raise Exception('''One or many required architectures are missing.
 
 Required architectures: {}.
 Given dependencies: {}.
 '''.format(REQUIRED_ARCHITECTURES, dependent_tasks)
         )