bug 1398799: don't add depedencies when current task and upstream task don't have a matching build platform. r=aki
authorBen Hearsum <bhearsum@mozilla.com>
Wed, 07 Feb 2018 14:50:10 -0500
changeset 402854 3d939862ff91602b915e9e48d3f8f6e990b744e9
parent 402853 e2818fa5791629800811b280926b834270b26958
child 402855 644169ace322e06ba9ed3509216e1b78ed50133e
push id33405
push usershindli@mozilla.com
push dateThu, 08 Feb 2018 10:04:47 +0000
treeherdermozilla-central@0ac953fcddf1 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersaki
bugs1398799
milestone60.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 1398799: don't add depedencies when current task and upstream task don't have a matching build platform. r=aki
taskcluster/taskgraph/transforms/release_deps.py
--- a/taskcluster/taskgraph/transforms/release_deps.py
+++ b/taskcluster/taskgraph/transforms/release_deps.py
@@ -54,16 +54,21 @@ def add_dependencies(config, jobs):
                     continue
                 # Skip old-id
                 if 'old-id' in dep_task.label:
                     continue
             # We can only depend on tasks in the current or previous phases
             dep_phase = dep_task.attributes.get('shipping_phase')
             if dep_phase and PHASES.index(dep_phase) > PHASES.index(phase):
                 continue
+
+            if dep_task.attributes.get("build_platform") and \
+               job.get("attributes", {}).get("build_platform"):
+                if dep_task.attributes["build_platform"] != job["attributes"]["build_platform"]:
+                    continue
             # Add matching product tasks to deps
             if _get_product(dep_task.task) == product or \
                     dep_task.attributes.get('shipping_product') == product:
                 dependencies[dep_task.label] = dep_task.label
 
         job.setdefault('dependencies', {}).update(dependencies)
 
         yield job