Bug 1019724 - Update channels for single locale Beta and Release builds of Firefox for Android 30 (and beyond) r=rail
authorkmoir@mozilla.com
Tue, 04 Nov 2014 20:27:58 -0500 (2014-11-05)
changeset 3940 cbc087de62349984088f2db9e098d92bcf8b7e07
parent 3936 28cdef2c1df37cc32a99a682d4f176a5f7cc7118
child 3941 d36534fba5669820bfea26df852c5e2be720d688
child 3946 c0185f80b7fad7a92dbdbc2d5a2814d26ea420a1
push id3249
push userkmoir@mozilla.com
push dateWed, 05 Nov 2014 01:28:09 +0000 (2014-11-05)
reviewersrail
bugs1019724
Bug 1019724 - Update channels for single locale Beta and Release builds of Firefox for Android 30 (and beyond) r=rail
process/release.py
--- a/process/release.py
+++ b/process/release.py
@@ -1194,42 +1194,42 @@ def generateReleaseBranchObjects(release
             promptWaitTime=releaseConfig.get(
                 'promptWaitTime', None),
             balrog_api_root=balrog_api_root,
             balrog_username=balrog_username,
             balrog_credentials_file=balrog_credentials_file,
         )
 
         builders.append({
-            'name': builderPrefix('updates_%s' % releaseConfig['productName']),
+            'name': builderPrefix('%s_updates' % releaseConfig['productName']),
             'slavenames': branchConfig['platforms']['linux']['slaves'],
             'category': builderPrefix(''),
-            'builddir': builderPrefix('updates_%s' % releaseConfig['productName']),
-            'slavebuilddir': normalizeName(builderPrefix('updates_%s' % releaseConfig['productName']), releaseConfig['productName']),
+            'builddir': builderPrefix('%s_updates' % releaseConfig['productName']),
+            'slavebuilddir': normalizeName(builderPrefix('%s_updates' % releaseConfig['productName']), releaseConfig['productName']),
             'factory': updates_factory,
             'nextSlave': _nextSlave_skip_spot,
             'env': builder_env,
             'properties': {
-                'slavebuilddir': normalizeName(builderPrefix('updates_%s' % releaseConfig['productName']), releaseConfig['productName']),
+                'slavebuilddir': normalizeName(builderPrefix('%s_updates' % releaseConfig['productName']), releaseConfig['productName']),
                 'platform': platform,
                 'branch': 'release-%s' % sourceRepoInfo['name'],
                 'release_config': releaseConfigFile,
                 'script_repo_revision': releaseTag,
                 'event_group': 'update',
             }
         })
-        post_signing_builders.append(builderPrefix('updates_%s' % releaseConfig['productName']))
+        post_signing_builders.append(builderPrefix('%s_updates' % releaseConfig['productName']))
 
         # Releases that aren't automatically pushed to mirrors have their
         # updates tested on an internal channel first. For these, we need to
         # send out mail to let people know that it's ready to test.
         if not releaseConfig.get('enableAutomaticPushToMirrors'):
-            important_builders.append(builderPrefix('updates_%s' % releaseConfig['productName']))
+            important_builders.append(builderPrefix('%s_updates' % releaseConfig['productName']))
         if not releaseConfig.get('enablePartialMarsAtBuildTime', True):
-            deliverables_builders.append(builderPrefix('updates_%s' % releaseConfig['productName']))
+            deliverables_builders.append(builderPrefix('%s_updates' % releaseConfig['productName']))
 
         update_shipping_factory_args = dict(
             scriptRepo=tools_repo,
             use_credentials_file=True,
             interpreter='python',
             scriptName='scripts/updates/balrog-release-shipper.py',
             extra_args=[
                 '-b', '%s%s' % (branchConfig['hgurl'], branchConfig['config_repo_path']),
@@ -1259,26 +1259,26 @@ def generateReleaseBranchObjects(release
                 'branch': 'release-%s' % sourceRepoInfo['name'],
             },
         })
         important_builders.append(builderPrefix('update_shipping'))
 
     elif releaseConfig.get('verifyConfigs') or \
         hasPlatformSubstring(releaseConfig['enUSPlatforms'], 'android'):
         builders.append(makeDummyBuilder(
-            name=builderPrefix('updates_%s' % releaseConfig['productName']),
+            name=builderPrefix('%s_updates' % releaseConfig['productName']),
             slaves=all_slaves,
             category=builderPrefix(''),
             properties={
                 'platform': None,
                 'branch': 'release-%s' % sourceRepoInfo['name'],
                 'event_group': 'update',
             },
         ))
-        post_signing_builders.append(builderPrefix('updates_%s' % releaseConfig['productName']))
+        post_signing_builders.append(builderPrefix('%s_updates' % releaseConfig['productName']))
 
     for platform in sorted(releaseConfig.get('verifyConfigs', {}).keys()):
         vpf = branchConfig['platforms'][platform]
         for n, builderName in updateVerifyBuilders(platform).iteritems():
             uv_factory = ScriptFactory(
                 scriptRepo=tools_repo,
                 interpreter='bash',
                 scriptName='scripts/release/updates/chunked-verify.sh',
@@ -1498,31 +1498,31 @@ def generateReleaseBranchObjects(release
                 'script_repo_revision': releaseTag,
                 'platform': None,
                 'branch': 'release-%s' % sourceRepoInfo['name'],
             },
         })
 
     if not releaseConfig.get('disableBouncerEntries'):
         trigger_uptake_factory = BuildFactory()
-        schedulerNames = [builderPrefix('almost-ready-for-release_%s' % releaseConfig['productName'])]
+        schedulerNames = [builderPrefix('%s_almost-ready-for-release' % releaseConfig['productName'])]
         if releaseConfig.get('verifyConfigs'):
             schedulerNames.append(builderPrefix('ready-for-rel-test'))
         trigger_uptake_factory.addStep(Trigger(
             schedulerNames=schedulerNames,
             set_properties={
                 'release_config': releaseConfigFile,
                 'script_repo_revision': releaseTag,
             },
         ))
         builders.append({
-            'name': builderPrefix('start_uptake_monitoring_%s' % releaseConfig['productName']),
+            'name': builderPrefix('%s_start_uptake_monitoring' % releaseConfig['productName']),
             'slavenames': all_slaves,
             'category': builderPrefix(''),
-            'builddir': builderPrefix('start_uptake_monitoring_%s' % releaseConfig['productName']),
+            'builddir': builderPrefix('%s_start_uptake_monitoring' % releaseConfig['productName']),
             'slavebuilddir': normalizeName(builderPrefix('st_uptake'), releaseConfig['productName']),
             'factory': trigger_uptake_factory,
             'env': builder_env,
             'nextSlave': _nextSlave_skip_spot,
             'properties': {
                 'slavebuilddir': normalizeName(builderPrefix('st_uptake'), releaseConfig['productName']),
                 'release_config': releaseConfigFile,
                 'script_repo_revision': releaseTag,
@@ -1554,49 +1554,49 @@ def generateReleaseBranchObjects(release
                 'slavebuilddir': normalizeName(builderPrefix('fnl_verf'), releaseConfig['productName']),
                 'platform': None,
                 'branch': 'release-%s' % sourceRepoInfo['name'],
             },
         })
 
     if not releaseConfig.get('disableBouncerEntries'):
         builders.append(makeDummyBuilder(
-            name=builderPrefix('ready_for_releasetest_testing_%s' % releaseConfig['productName']),
+            name=builderPrefix('%s_ready_for_releasetest_testing' % releaseConfig['productName']),
             slaves=all_slaves,
             category=builderPrefix(''),
             properties={
                 'platform': None,
                 'branch': 'release-%s' % sourceRepoInfo['name'],
                 'event_group': 'releasetest',
             },
         ))
         important_builders.append(
-            builderPrefix('ready_for_releasetest_testing_%s' % releaseConfig['productName']))
+            builderPrefix('%s_ready_for_releasetest_testing' % releaseConfig['productName']))
 
         builders.append(makeDummyBuilder(
-            name=builderPrefix('almost_ready_for_release_%s' % releaseConfig['productName']),
+            name=builderPrefix('%s_almost_ready_for_release' % releaseConfig['productName']),
             slaves=all_slaves,
             category=builderPrefix(''),
             properties={
                 'platform': None,
                 'branch': 'release-%s' % sourceRepoInfo['name'],
             },
         ))
 
         builders.append(makeDummyBuilder(
-            name=builderPrefix('ready_for_release_%s' % releaseConfig['productName']),
+            name=builderPrefix('%s_ready_for_release' % releaseConfig['productName']),
             slaves=all_slaves,
             category=builderPrefix(''),
             properties={
                 'platform': None,
                 'branch': 'release-%s' % sourceRepoInfo['name'],
                 'event_group': 'release',
             },
         ))
-        important_builders.append(builderPrefix('ready_for_release_%s' % releaseConfig['productName']))
+        important_builders.append(builderPrefix('%s_ready_for_release' % releaseConfig['productName']))
 
     if not releaseConfig.get('disableBouncerEntries'):
         extra_args = ["-c", releaseConfig["bouncer_submitter_config"],
                       "--revision", releaseTag,
                       "--repo", sourceRepoInfo['path'],
                       "--version", releaseConfig['version'],
                       "--credentials-file", "oauth.txt",
                       "--bouncer-api-prefix", releaseConfig['tuxedoServerUrl'],
@@ -1607,21 +1607,21 @@ def generateReleaseBranchObjects(release
         bouncer_submitter_factory = ScriptFactory(
             scriptRepo=mozharness_repo,
             scriptName="scripts/bouncer_submitter.py",
             extra_args=extra_args,
             use_credentials_file=True,
         )
 
         builders.append({
-            'name': builderPrefix('bouncer_submitter_%s' % releaseConfig['productName'] ),
+            'name': builderPrefix('%s_bouncer_submitter' % releaseConfig['productName'] ),
             'slavenames': branchConfig['platforms']['linux']['slaves'] +
             branchConfig['platforms']['linux64']['slaves'],
             'category': builderPrefix(''),
-            'builddir': builderPrefix('bouncer_submitter_%s' % releaseConfig['productName']),
+            'builddir': builderPrefix('%s_bouncer_submitter' % releaseConfig['productName']),
             'slavebuilddir': normalizeName(builderPrefix('bncr_sub'), releaseConfig['productName']),
             'factory': bouncer_submitter_factory,
             'env': builder_env,
             'nextSlave': _nextSlave_skip_spot,
             'properties': {
                 'slavebuilddir': normalizeName(builderPrefix('bncr_sub'), releaseConfig['productName']),
                 'release_config': releaseConfigFile,
                 'platform': None,
@@ -1666,17 +1666,17 @@ def generateReleaseBranchObjects(release
         )
     schedulers.append(tag_scheduler)
 
     tag_downstream = [builderPrefix('%s_source' % releaseConfig[
                                     'productName'])]
 
     if releaseConfig['buildNumber'] == 1 \
             and not releaseConfig.get('disableBouncerEntries'):
-        tag_downstream.append(builderPrefix('bouncer_submitter_%s' % releaseConfig['productName']))
+        tag_downstream.append(builderPrefix('%s_bouncer_submitter' % releaseConfig['productName']))
 
     if releaseConfig.get('xulrunnerPlatforms'):
         tag_downstream.append(builderPrefix('xulrunner_source'))
         xr_postrelease_scheduler = Triggerable(
             name=builderPrefix('xr_postrelease'),
             builderNames=[builderPrefix('xr_postrelease')],
         )
         schedulers.append(xr_postrelease_scheduler)
@@ -1727,56 +1727,56 @@ def generateReleaseBranchObjects(release
             name=builderPrefix('%s-opt-unittest' % platform),
             treeStableTimer=0,
             branch=builderPrefix('%s-opt-unittest' % platform),
             builderNames=platform_test_builders,
         )
         schedulers.append(s)
 
     if not releaseConfig.get('disableBouncerEntries'):
-        readyForReleaseUpstreams = [builderPrefix('almost_ready_for_release_%s' % releaseConfig['productName'])]
+        readyForReleaseUpstreams = [builderPrefix('%s_almost_ready_for_release' % releaseConfig['productName'])]
         if releaseConfig.get('verifyConfigs'):
             readyForReleaseUpstreams += post_update_builders
             finalVerifyBuilders = []
             if releaseConfig.get('verifyConfigs'):
                 finalVerifyBuilders = [builderPrefix('final_verification')]
             readyForReleaseUpstreams += finalVerifyBuilders
 
             mirror_scheduler1 = TriggerBouncerCheck(
                 name=builderPrefix('ready-for-rel-test'),
                 configRepo=config_repo,
                 minUptake=releaseConfig.get('releasetestUptake', 10000),
                 builderNames=[builderPrefix(
-                    'ready_for_releasetest_testing_%s' % releaseConfig['productName'])] + finalVerifyBuilders,
+                    '%s_ready_for_releasetest_testing' % releaseConfig['productName'])] + finalVerifyBuilders,
                 username=BuildSlaves.tuxedoUsername,
                 password=BuildSlaves.tuxedoPassword)
 
             schedulers.append(mirror_scheduler1)
 
         # These next two schedulers are a bit weird. When updates are enabled,
         # we need to wait for both the update verify builders and the uptake
         # check before we send the "ready for release" e-mail. Because the
         # TriggerBouncerCheck builder can't depend on an upstream, we need the
         # "ready for release" scheduler to be downstream of both it and the
         # update verify builders to get the behaviour we need.
         schedulers.append(TriggerBouncerCheck(
-            name=builderPrefix('almost-ready-for-release_%s' % releaseConfig['productName']),
+            name=builderPrefix('%s_almost-ready-for-release' % releaseConfig['productName']),
             configRepo=config_repo,
             minUptake=releaseConfig.get('releaseUptake', 10000),
             checkMARs=not releaseConfig.get('skip_updates', False),
-            builderNames=[builderPrefix('almost_ready_for_release_%s' % releaseConfig['productName'])],
+            builderNames=[builderPrefix('%s_almost_ready_for_release' % releaseConfig['productName'])],
             username=BuildSlaves.tuxedoUsername,
             password=BuildSlaves.tuxedoPassword
         ))
 
         schedulers.append(AggregatingScheduler(
             name=builderPrefix('ready-for-release_%s' % releaseConfig['productName']),
             branch=sourceRepoInfo['path'],
             upstreamBuilders=readyForReleaseUpstreams,
-            builderNames=[builderPrefix('ready_for_release_%s' % releaseConfig['productName'])],
+            builderNames=[builderPrefix('%s_ready_for_release' % releaseConfig['productName'])],
         ))
 
     if releaseConfig.get('enableAutomaticPushToMirrors') and \
             releaseConfig.get('verifyConfigs'):
         if releaseConfig.get('disableVirusCheck'):
             post_update_builders.append(builderPrefix('%s_push_to_mirrors' % releaseConfig['productName']))
         else:
             post_antivirus_builders.append(builderPrefix('%s_push_to_mirrors' % releaseConfig['productName']))
@@ -1791,17 +1791,17 @@ def generateReleaseBranchObjects(release
         branch=sourceRepoInfo['path'],
         upstreamBuilders=updates_upstream_builders,
         builderNames=post_signing_builders,
     ))
     if releaseConfig.get('verifyConfigs'):
         schedulers.append(AggregatingScheduler(
             name=builderPrefix('updates_done'),
             branch=sourceRepoInfo['path'],
-            upstreamBuilders=[builderPrefix('updates_%s' % releaseConfig['productName'])],
+            upstreamBuilders=[builderPrefix('%s_updates' % releaseConfig['productName'])],
             builderNames=post_update_builders,
         ))
     if post_deliverables_builders:
         schedulers.append(AggregatingScheduler(
             name=builderPrefix(
                 '%s_deliverables_ready' % releaseConfig['productName']),
             branch=sourceRepoInfo['path'],
             upstreamBuilders=deliverables_builders,
@@ -1838,24 +1838,24 @@ def generateReleaseBranchObjects(release
                     '%s_l10n_done' % releaseConfig['productName'],
                     platform),
                 branch=sourceRepoInfo['path'],
                 upstreamBuilders=[builderPrefix('repack_complete', platform)],
                 builderNames=[builderPrefix('partner_repack', platform)],
             ))
     upstream_builders = [builderPrefix('%s_push_to_mirrors' % releaseConfig['productName'])]
     if releaseConfig.get('verifyConfigs'):
-        upstream_builders.append(builderPrefix('updates_%s' % releaseConfig['productName']))
+        upstream_builders.append(builderPrefix('%s_updates' % releaseConfig['productName']))
     if not releaseConfig.get('disableBouncerEntries'):
         schedulers.append(AggregatingScheduler(
             name=builderPrefix(
                 '%s_uptake_check' % releaseConfig['productName']),
             branch=sourceRepoInfo['path'],
             upstreamBuilders=upstream_builders,
-            builderNames=[builderPrefix('start_uptake_monitoring_%s' % releaseConfig['productName'])]
+            builderNames=[builderPrefix('%s_start_uptake_monitoring' % releaseConfig['productName'])]
         ))
 
     # This builder should be come after all AggregatingSchedulers are set
     aggregating_shedulers = []
     for s in schedulers:
         if isinstance(s, AggregatingScheduler):
             aggregating_shedulers.append(s.name)
     if aggregating_shedulers:
@@ -1953,17 +1953,17 @@ def generateReleaseBranchObjects(release
     if releaseConfig.get('AVVendorsRecipients'):
         status.append(MailNotifier(
             fromaddr='release@mozilla.com',
             sendToInterestedUsers=False,
             extraRecipients=releaseConfig['AVVendorsRecipients'],
             extraHeaders={'In-Reply-To': email_message_id,
                           'References': email_message_id},
             mode='passing',
-            builders=[builderPrefix('updates_%s' % releaseConfig['productName'])],
+            builders=[builderPrefix('%s_updates' % releaseConfig['productName'])],
             relayhost='mail.build.mozilla.org',
             messageFormatter=createReleaseAVVendorsMessage,
         ))
 
     builders.extend(test_builders)
 
     # Don't merge release builder requests
     nomergeBuilders.update([b['name'] for b in builders + test_builders])