Skip to content
This repository has been archived by the owner on Jun 11, 2019. It is now read-only.

Commit

Permalink
Merge bug 607392 to production.
Browse files Browse the repository at this point in the history
--HG--
branch : production-0.8
  • Loading branch information
bhearsum committed Apr 9, 2012
2 parents 9005487 + bc0fe05 commit f249527
Showing 1 changed file with 82 additions and 30 deletions.
112 changes: 82 additions & 30 deletions process/release.py
Expand Up @@ -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={
Expand Down Expand Up @@ -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(
Expand Down Expand Up @@ -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),
Expand Down Expand Up @@ -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(
Expand All @@ -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(
Expand All @@ -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'):
Expand Down

0 comments on commit f249527

Please sign in to comment.