bug 1148424: don't block cdntest update channels on antivirus completion - fix push to mirrors dependencies. r=nthomas
authorBen Hearsum <bhearsum@mozilla.com>
Mon, 13 Apr 2015 08:46:54 -0400
changeset 4185 43f28d2027009dac5e55922c33529271e47d77ad
parent 4184 afbcf8c86304e66c713fb711d299863eb894dd88
child 4188 09d375824bf292c5620acfdf5fedcc2a575c7540
child 4189 466c5a5a791cbc591318a9dd76c82bb1a8fc5891
push id3489
push userbhearsum@mozilla.com
push dateMon, 13 Apr 2015 12:47:13 +0000
reviewersnthomas
bugs1148424
bug 1148424: don't block cdntest update channels on antivirus completion - fix push to mirrors dependencies. r=nthomas
process/release.py
--- a/process/release.py
+++ b/process/release.py
@@ -337,17 +337,16 @@ def generateReleaseBranchObjects(release
     builders = []
     test_builders = []
     schedulers = []
     change_source = []
     status = []
     updates_upstream_builders = []
     post_signing_builders = []
     update_verify_builders = defaultdict(list)
-    post_update_builders = []
     deliverables_builders = []
     xr_deliverables_builders = []
     post_deliverables_builders = []
     email_message_id = getMessageId()
 
     # Builders #
 
     builder_env = {
@@ -1837,40 +1836,49 @@ def generateReleaseBranchObjects(release
 
             schedulers.append(AggregatingScheduler(
                 name=builderPrefix('%s_ready-for-release_%s' % (releaseConfig['productName'], channel)),
                 branch=sourceRepoInfo['path'],
                 upstreamBuilders=readyForReleaseUpstreams,
                 builderNames=[builderPrefix('%s_%s_ready_for_release' % (releaseConfig['productName'], channel))],
             ))
 
-    if releaseConfig.get('enableAutomaticPushToMirrors') and not releaseConfig.get("skip_updates"):
-        post_update_builders.append(builderPrefix('%s_push_to_mirrors' % releaseConfig['productName']))
-
-    if releaseConfig.get('enableAutomaticPushToMirrors') and \
-            hasPlatformSubstring(releaseConfig['enUSPlatforms'], 'android'):
-        post_deliverables_builders.append(builderPrefix('%s_push_to_mirrors' % releaseConfig['productName']))
-
     schedulers.append(AggregatingScheduler(
         name=builderPrefix(
             '%s_signing_done' % releaseConfig['productName']),
         branch=sourceRepoInfo['path'],
         upstreamBuilders=updates_upstream_builders,
         builderNames=post_signing_builders,
     ))
+
+    push_to_mirrors_upstreams = []
     for channel, updateConfig in updateChannels.iteritems():
+        push_to_mirrors_upstreams.append(builderPrefix("%s_%s_updates" % (releaseConfig["productName"], channel)))
         if updateConfig.get('verifyConfigs'):
-            downstreams = post_update_builders[:]
-            downstreams.extend(update_verify_builders[channel])
             schedulers.append(AggregatingScheduler(
                 name=builderPrefix('%s_updates_done' % channel),
                 branch=sourceRepoInfo['path'],
                 upstreamBuilders=[builderPrefix('%s_%s_updates' % (releaseConfig['productName'], channel))],
-                builderNames=downstreams,
+                builderNames=update_verify_builders[channel],
             ))
+
+    if releaseConfig.get('enableAutomaticPushToMirrors'):
+        if not hasPlatformSubstring(releaseConfig["enUSPlatforms"], "android"):
+            push_to_mirrors_upstreams.extend([
+                builderPrefix("%s_checksums" % releaseConfig["productName"]),
+                builderPrefix("check_permissions"),
+            ])
+
+        schedulers.append(AggregatingScheduler(
+            name=builderPrefix("%s_push_to_mirrors" % releaseConfig["productName"]),
+            branch=sourceRepoInfo["path"],
+            upstreamBuilders=push_to_mirrors_upstreams,
+            builderNames=[builderPrefix("%s_push_to_mirrors" % releaseConfig["productName"])],
+        ))
+
     if post_deliverables_builders:
         schedulers.append(AggregatingScheduler(
             name=builderPrefix(
                 '%s_deliverables_ready' % releaseConfig['productName']),
             branch=sourceRepoInfo['path'],
             upstreamBuilders=deliverables_builders,
             builderNames=post_deliverables_builders,
         ))