From bc0fe0564b74919935afcd74228600d9ac5c94ea Mon Sep 17 00:00:00 2001 From: Rail Aliiev Date: Wed, 15 Feb 2012 09:38:00 -0500 Subject: [PATCH] Bug 607392 - split tagging into en-US and other. r=rail --- process/release.py | 112 +++++++++++++++++++++++++++++++++------------ 1 file changed, 82 insertions(+), 30 deletions(-) diff --git a/process/release.py b/process/release.py index 1275c83b..005f06c1 100644 --- a/process/release.py +++ b/process/release.py @@ -389,41 +389,78 @@ def majorUpdateVerifyBuilders(platform): } }) + dummy_tag_builders=[] if not releaseConfig.get('skip_tag'): pf = branchConfig['platforms']['linux'] tag_env = builder_env.copy() if pf['env'].get('HG_SHARE_BASE_DIR', None): tag_env['HG_SHARE_BASE_DIR'] = pf['env']['HG_SHARE_BASE_DIR'] - tag_factory = ScriptFactory( + # Other includes mozharness, required for Mobile Builds + tag_source_factory = ScriptFactory( scriptRepo=tools_repo, scriptName='scripts/release/tagging.sh', + extra_data={"tag_args": "--tag-source --tag-other"}, ) builders.append({ - 'name': builderPrefix('%s_tag' % releaseConfig['productName']), + 'name': builderPrefix('%s_tag_source' % releaseConfig['productName']), 'slavenames': pf['slaves'] + \ - branchConfig['platforms']['linux64']['slaves'], + branchConfig['platforms']['linux64']['slaves'], 'category': builderPrefix(''), - 'builddir': builderPrefix('%s_tag' % releaseConfig['productName']), + 'builddir': builderPrefix('%s_tag_source' % releaseConfig['productName']), 'slavebuilddir': reallyShort( - builderPrefix('%s_tag' % releaseConfig['productName'])), - 'factory': tag_factory, + builderPrefix('%s_tag_source' % releaseConfig['productName'])), + 'factory': tag_source_factory, 'nextSlave': _nextFastReservedSlave, 'env': tag_env, 'properties': { 'builddir': builderPrefix( - '%s_tag' % releaseConfig['productName']), + '%s_tag_source' % releaseConfig['productName']), 'slavebuilddir': reallyShort( - builderPrefix('%s_tag' % releaseConfig['productName'])), + builderPrefix('%s_tag_source' % releaseConfig['productName'])), 'release_config': releaseConfigFile, 'platform': None, 'branch': 'release-%s' % sourceRepoInfo['name'], } }) + + if len(releaseConfig['l10nPlatforms']) > 0: + tag_l10n_factory = ScriptFactory( + scriptRepo=tools_repo, + scriptName='scripts/release/tagging.sh', + extra_data={"tag_args": "--tag-l10n"}, + ) + + builders.append({ + 'name': builderPrefix('%s_tag_l10n' % releaseConfig['productName']), + 'slavenames': pf['slaves'] + \ + branchConfig['platforms']['linux64']['slaves'], + 'category': builderPrefix(''), + 'builddir': builderPrefix('%s_tag_l10n' % releaseConfig['productName']), + 'slavebuilddir': reallyShort( + builderPrefix('%s_tag_l10n' % releaseConfig['productName'])), + 'factory': tag_l10n_factory, + 'nextSlave': _nextFastReservedSlave, + 'env': tag_env, + 'properties': { + 'builddir': builderPrefix( + '%s_tag_l10n' % releaseConfig['productName']), + 'slavebuilddir': reallyShort( + builderPrefix('%s_tag_l10n' % releaseConfig['productName'])), + 'release_config': releaseConfigFile, + 'platform': None, + 'branch': 'release-%s' % sourceRepoInfo['name'], + } + }) + else: + dummy_tag_builders.append("l10n") else: + dummy_tag_builders.extend(["source","l10n"]) + for dummy in dummy_tag_builders: builders.append(makeDummyBuilder( - name=builderPrefix('%s_tag' % releaseConfig['productName']), + name=builderPrefix('%s_tag_%s' % + (releaseConfig['productName'], dummy)), slaves=all_slaves, category=builderPrefix(''), properties={ @@ -565,10 +602,6 @@ def majorUpdateVerifyBuilders(platform): if not releaseConfig.get('skip_build'): platform_env = pf['env'].copy() platform_env['MOZ_UPDATE_CHANNEL'] = releaseChannel - if platform in releaseConfig['l10nPlatforms']: - triggeredSchedulers = [builderPrefix('%s_repack' % platform)] - else: - triggeredSchedulers = None multiLocaleConfig = releaseConfig.get( 'multilocale_config', {}).get('platforms', {}).get(platform) mozharnessMultiOptions = releaseConfig.get( @@ -612,7 +645,6 @@ def majorUpdateVerifyBuilders(platform): unittestBranch=unittestBranch, clobberURL=branchConfig['base_clobber_url'], triggerBuilds=True, - triggeredSchedulers=triggeredSchedulers, stagePlatform=buildbot2ftp(platform), use_mock=pf.get('use_mock'), android_signing=pf.get('android_signing', False), @@ -1563,11 +1595,17 @@ def majorUpdateVerifyBuilders(platform): '%s_repo_setup' % releaseConfig['productName'])], ) schedulers.append(repo_setup_scheduler) - tag_scheduler = Dependent( - name=builderPrefix('%s_tag' % releaseConfig['productName']), + tag_source_scheduler = Dependent( + name=builderPrefix('%s_tag_source' % releaseConfig['productName']), upstream=repo_setup_scheduler, builderNames=[builderPrefix( - '%s_tag' % releaseConfig['productName'])], + '%s_tag_source' % releaseConfig['productName'])], + ) + tag_l10n_scheduler = Dependent( + name=builderPrefix('%s_tag_l10n' % releaseConfig['productName']), + upstream=repo_setup_scheduler, + builderNames=[builderPrefix( + '%s_tag_l10n' % releaseConfig['productName'])], ) if not releaseConfig.get('skip_release_download'): release_downloader_scheduler = Scheduler( @@ -1582,35 +1620,49 @@ def majorUpdateVerifyBuilders(platform): ) schedulers.append(release_downloader_scheduler) else: - tag_scheduler = Dependent( - name=builderPrefix('%s_tag' % releaseConfig['productName']), + tag_source_scheduler = Dependent( + name=builderPrefix('%s_tag_source' % releaseConfig['productName']), + upstream=reset_schedulers_scheduler, + builderNames=[builderPrefix( + '%s_tag_source' % releaseConfig['productName'])], + ) + tag_l10n_scheduler = Dependent( + name=builderPrefix('%s_tag_l10n' % releaseConfig['productName']), upstream=reset_schedulers_scheduler, builderNames=[builderPrefix( - '%s_tag' % releaseConfig['productName'])], + '%s_tag_l10n' % releaseConfig['productName'])], ) - schedulers.append(tag_scheduler) + schedulers.append(tag_source_scheduler) + schedulers.append(tag_l10n_scheduler) - tag_downstream = [builderPrefix('%s_source' % releaseConfig['productName'])] + tag_source_downstream = [builderPrefix('%s_source' % releaseConfig['productName'])] if releaseConfig['buildNumber'] == 1 \ and not releaseConfig.get('disableBouncerEntries'): - tag_downstream.append(builderPrefix('bouncer_submitter')) + tag_source_downstream.append(builderPrefix('bouncer_submitter')) if releaseConfig['doPartnerRepacks']: - tag_downstream.append(builderPrefix('euballot_bouncer_submitter')) + tag_source_downstream.append(builderPrefix('euballot_bouncer_submitter')) if releaseConfig.get('xulrunnerPlatforms'): - tag_downstream.append(builderPrefix('xulrunner_source')) + tag_source_downstream.append(builderPrefix('xulrunner_source')) for platform in releaseConfig['enUSPlatforms']: - tag_downstream.append(builderPrefix('%s_build' % platform)) + tag_source_downstream.append(builderPrefix('%s_build' % platform)) if platform in releaseConfig['notifyPlatforms']: important_builders.append(builderPrefix('%s_build' % platform)) if platform in releaseConfig['l10nPlatforms']: l10nBuilderNames = l10nBuilders(platform).values() - repack_scheduler = Triggerable( + repack_upstream = [ + builderPrefix('%s_build' % platform), + builderPrefix('%s_tag_l10n' % releaseConfig['productName']), + ] + repack_scheduler = AggregatingScheduler( name=builderPrefix('%s_repack' % platform), + branch=sourceRepoInfo['path'], + upstreamBuilders=repack_upstream, builderNames=l10nBuilderNames, + properties={'script_repo_revision': releaseTag,}, ) schedulers.append(repack_scheduler) repack_complete_scheduler = AggregatingScheduler( @@ -1622,15 +1674,15 @@ def majorUpdateVerifyBuilders(platform): schedulers.append(repack_complete_scheduler) for platform in releaseConfig.get('xulrunnerPlatforms', []): - tag_downstream.append(builderPrefix('xulrunner_%s_build' % platform)) + tag_source_downstream.append(builderPrefix('xulrunner_%s_build' % platform)) DependentID = makePropertiesScheduler(Dependent, [buildIDSchedFunc, buildUIDSchedFunc]) schedulers.append( DependentID( name=builderPrefix('%s_build' % releaseConfig['productName']), - upstream=tag_scheduler, - builderNames=tag_downstream, + upstream=tag_source_scheduler, + builderNames=tag_source_downstream, )) if releaseConfig.get('majorUpdateRepoPath'):