--- a/misc.py
+++ b/misc.py
@@ -1685,17 +1685,16 @@ def generateBranchObjects(config, name,
factory_kwargs = {
'env': pf['env'],
'objdir': pf['platform_objdir'],
'platform': platform,
'hgHost': config['hghost'],
'repoPath': config['repo_path'],
'buildToolsRepoPath': config['build_tools_repo_path'],
'configRepoPath': config['config_repo_path'],
- 'configSubDir': config['config_subdir'],
'profiledBuild': per_checkin_build_uses_pgo,
'productName': pf['product_name'],
'mozconfig': pf['mozconfig'],
'srcMozconfig': pf.get('src_mozconfig'),
'use_mock': pf.get('use_mock'),
'mock_target': pf.get('mock_target'),
'mock_packages': pf.get('mock_packages'),
'mock_copyin_files': pf.get('mock_copyin_files'),
@@ -1970,17 +1969,16 @@ def generateBranchObjects(config, name,
mozilla2_nightly_factory = NightlyBuildFactory(
env=nightly_env,
objdir=pf['platform_objdir'],
platform=platform,
hgHost=config['hghost'],
repoPath=config['repo_path'],
buildToolsRepoPath=config['build_tools_repo_path'],
configRepoPath=config['config_repo_path'],
- configSubDir=config['config_subdir'],
profiledBuild=nightly_pgo,
productName=pf['product_name'],
mozconfig=pf['mozconfig'],
srcMozconfig=pf.get('src_mozconfig'),
use_mock=pf.get('use_mock'),
mock_target=pf.get('mock_target'),
mock_packages=pf.get('mock_packages'),
mock_copyin_files=pf.get('mock_copyin_files'),
@@ -2303,17 +2301,16 @@ def generateBranchObjects(config, name,
mozilla2_xulrunner_factory = NightlyBuildFactory(
env=xr_env,
objdir=pf['platform_objdir'],
platform=platform,
hgHost=config['hghost'],
repoPath=config['repo_path'],
buildToolsRepoPath=config['build_tools_repo_path'],
configRepoPath=config['config_repo_path'],
- configSubDir=config['config_subdir'],
profiledBuild=False,
productName='xulrunner',
mozconfig=mozconfig,
srcMozconfig=pf.get('src_xulrunner_mozconfig'),
stageServer=config['stage_server'],
stageUsername=config['stage_username_xulrunner'],
stageGroup=config['stage_group'],
stageSshKey=config['stage_ssh_xulrunner_key'],
--- a/process/factory.py
+++ b/process/factory.py
@@ -796,34 +796,34 @@ class MozillaBuildFactory(RequestSorting
server_cert=SIGNING_SERVER_CERT,
slavedest=token,
workdir='.',
name='download_token',
))
class MercurialBuildFactory(MozillaBuildFactory, MockMixin, TooltoolMixin):
- def __init__(self, objdir, platform, configRepoPath, configSubDir,
+ def __init__(self, objdir, platform, configRepoPath,
profiledBuild, mozconfig, srcMozconfig=None,
productName=None,
buildRevision=None, stageServer=None, stageUsername=None,
stageGroup=None, stageSshKey=None, stageBasePath=None,
stageProduct=None, post_upload_include_platform=False,
ausBaseUploadDir=None, updatePlatform=None,
downloadBaseURL=None, ausUser=None, ausSshKey=None,
ausHost=None, nightly=False,
checkTest=False, valgrindCheck=False,
graphServer=None, graphSelector=None, graphBranch=None,
baseName=None, uploadPackages=True, uploadSymbols=True,
createSnippet=False, createPartial=False, doCleanup=True,
packageSDK=False, packageTests=False, mozillaDir=None,
mozillaSrcDir=None,
enable_ccache=False, stageLogBaseUrl=None,
triggeredSchedulers=None, triggerBuilds=False,
- mozconfigBranch="production", useSharedCheckouts=False,
+ useSharedCheckouts=False,
stagePlatform=None, testPrettyNames=False, l10nCheckTest=False,
disableSymbols=False,
doBuildAnalysis=False,
doPostLinkerSize=False,
downloadSubdir=None,
multiLocale=False,
multiLocaleMerge=True,
compareLocalesRepoPath=None,
@@ -856,17 +856,16 @@ class MercurialBuildFactory(MozillaBuild
self.addStep(FunctionalStep(
name='set_buildids',
func=setBuildIDProps,
))
self.objdir = objdir
self.platform = platform
self.configRepoPath = configRepoPath
- self.configSubDir = configSubDir
self.profiledBuild = profiledBuild
self.mozconfig = mozconfig
self.srcMozconfig = srcMozconfig
self.productName = productName
self.buildRevision = buildRevision
self.stageServer = stageServer
self.stageUsername = stageUsername
self.stageGroup = stageGroup
@@ -900,17 +899,16 @@ class MercurialBuildFactory(MozillaBuild
self.doCleanup = doCleanup
self.packageSDK = packageSDK
self.enablePackaging = enablePackaging
self.enableInstaller = enableInstaller
self.packageTests = packageTests
self.enable_ccache = enable_ccache
self.triggeredSchedulers = triggeredSchedulers
self.triggerBuilds = triggerBuilds
- self.mozconfigBranch = mozconfigBranch
self.post_upload_include_platform = post_upload_include_platform
self.useSharedCheckouts = useSharedCheckouts
self.testPrettyNames = testPrettyNames
self.l10nCheckTest = l10nCheckTest
self.tooltool_manifest_src = tooltool_manifest_src
self.tooltool_url_list = tooltool_url_list or []
self.tooltool_script = tooltool_script or ['/tools/tooltool.py']
self.tooltool_bootstrap = tooltool_bootstrap
@@ -1352,38 +1350,19 @@ class MercurialBuildFactory(MozillaBuild
name='set_comments',
property_name="comments",
value=lambda build: build.source.changes[-
1].comments if len(
build.source.changes) > 0 else "",
))
def addConfigSteps(self):
- assert self.configRepoPath is not None
- assert self.configSubDir is not None
- assert self.mozconfig is not None
-
- configRepo = self.getRepository(self.configRepoPath)
- hg_mozconfig = '%s/raw-file/%s/%s/%s/mozconfig' % (
- configRepo, self.mozconfigBranch, self.configSubDir, self.mozconfig)
- if self.srcMozconfig:
- cmd = ['bash', '-c',
- '''if [ -f "%(src_mozconfig)s" ]; then
- echo Using in-tree mozconfig;
- cp %(src_mozconfig)s .mozconfig;
- else
- echo Downloading mozconfig;
- wget -O .mozconfig %(hg_mozconfig)s;
- fi'''.replace("\n", "") % {'src_mozconfig': self.srcMozconfig, 'hg_mozconfig': hg_mozconfig}]
- else:
- cmd = ['wget', '-O', '.mozconfig', hg_mozconfig]
-
- self.addStep(RetryingShellCommand(
+ self.addStep(ShellCommand(
name='get_mozconfig',
- command=cmd,
+ command=['cp', self.srcMozconfig, '.mozconfig'],
description=['getting', 'mozconfig'],
descriptionDone=['got', 'mozconfig'],
haltOnFailure=True
))
self.addStep(ShellCommand(
name='cat_mozconfig',
command=['cat', '.mozconfig'],
))
@@ -3053,18 +3032,18 @@ class BaseRepackFactory(MozillaBuildFact
# Override ignore_dirs so that we don't delete l10n nightly builds
# before running a l10n nightly build
ignore_dirs = MozillaBuildFactory.ignore_dirs + [normalizeName('*-nightly')]
extraConfigureArgs = []
def __init__(self, project, appName, l10nRepoPath,
compareLocalesRepoPath, compareLocalesTag, stageServer,
- stageUsername, stageSshKey=None, objdir='', platform='',
- mozconfig=None,
+ stageUsername, mozconfig, stageSshKey=None, objdir='',
+ platform='',
tree="notset", mozillaDir=None, mozillaSrcDir=None,
l10nTag='default',
mergeLocales=True,
testPrettyNames=False,
callClientPy=False,
clientPyConfig=None,
tooltool_manifest_src=None,
tooltool_bootstrap="setup.sh",
@@ -3215,31 +3194,19 @@ class BaseRepackFactory(MozillaBuildFact
def processCommand(self, **kwargs):
'''This function is overriden by MaemoNightlyRepackFactory to
adjust the command and workdir approprietaly for mock
'''
return kwargs
def getMozconfig(self):
- if not self.mozconfig:
- return
-
- cmd = ['bash', '-c',
- '''if [ -f "%(mozconfig)s" ]; then
- echo Using in-tree mozconfig;
- cp %(mozconfig)s .mozconfig;
- else
- echo Could not find in-tree mozconfig;
- exit 1;
- fi'''.replace("\n", "") % {'mozconfig': self.mozconfig}]
-
- self.addStep(RetryingShellCommand(
+ self.addStep(ShellCommand(
name='get_mozconfig',
- command=cmd,
+ command=['cp', self.mozconfig, '.mozconfig'],
description=['getting', 'mozconfig'],
descriptionDone=['got', 'mozconfig'],
workdir='build/' + self.origSrcDir,
haltOnFailure=True,
))
self.addStep(ShellCommand(
name='cat_mozconfig',
command=['cat', '.mozconfig'],
@@ -4025,30 +3992,45 @@ class StagingRepositorySetupFactory(Rele
# Wait for hg.m.o to catch up
self.addStep(ShellCommand(
name='wait_for_hg',
command=['sleep', '600'],
description=['wait', 'for', 'hg'],
))
-class SingleSourceFactory(ReleaseFactory):
- def __init__(self, productName, version, baseTag, stagingServer,
- stageUsername, stageSshKey, buildNumber, mozconfig,
- configRepoPath, configSubDir, objdir='',
- mozillaDir=None, mozillaSrcDir=None, autoconfDirs=['.'], buildSpace=2,
- mozconfigBranch="production", appVersion=None, **kwargs):
+class SingleSourceFactory(ReleaseFactory, TooltoolMixin):
+ def __init__(self,
+ productName,
+ version,
+ baseTag,
+ stagingServer,
+ stageUsername,
+ stageSshKey,
+ buildNumber,
+ mozconfig,
+ appVersion=None,
+ objdir='',
+ mozillaDir=None,
+ mozillaSrcDir=None,
+ autoconfDirs=['.'],
+ buildSpace=2,
+ tooltool_manifest_src=None,
+ tooltool_bootstrap="setup.sh",
+ tooltool_url_list=None,
+ tooltool_script=None,
+ **kwargs):
ReleaseFactory.__init__(self, buildSpace=buildSpace, **kwargs)
self.mozconfig = mozconfig
- self.configRepoPath = configRepoPath
- self.configSubDir = configSubDir
- self.mozconfigBranch = mozconfigBranch
+ self.tooltool_manifest_src = tooltool_manifest_src
+ self.tooltool_url_list = tooltool_url_list or []
+ self.tooltool_script = tooltool_script or ['/tools/tooltool.py']
+ self.tooltool_bootstrap = tooltool_bootstrap
self.releaseTag = '%s_RELEASE' % (baseTag)
-
self.origSrcDir = self.branchName
# Mozilla subdir
if mozillaDir:
self.mozillaDir = '/%s' % mozillaDir
self.mozillaSrcDir = '%s/%s' % (self.origSrcDir, mozillaDir)
else:
self.mozillaDir = ''
@@ -4104,16 +4086,18 @@ class SingleSourceFactory(ReleaseFactory
))
self.addStep(SetProperty(
name='hg_ident_revision',
command=['hg', 'identify', '-i'],
property='revision',
workdir=self.mozillaSrcDir,
haltOnFailure=True
))
+ if self.tooltool_manifest_src:
+ self.addTooltoolStep(workdir=self.origSrcDir)
self.addConfigSteps(workdir=self.mozillaSrcDir)
self.addStep(MockCommand(
name='configure',
command=self.makeCmd + ['-f', 'client.mk', 'configure'],
workdir=self.mozillaSrcDir,
env=self.env,
description=['configure'],
mock=self.use_mock,
@@ -4140,55 +4124,23 @@ class SingleSourceFactory(ReleaseFactory
workdir="%s/%s" % (self.mozillaSrcDir, self.mozillaObjdir),
env=uploadEnv,
description=['upload files'],
mock=self.use_mock,
target=self.mock_target,
))
def addConfigSteps(self, workdir='build'):
- assert self.configRepoPath is not None
- assert self.configSubDir is not None
- assert self.mozconfig is not None
- configRepo = self.getRepository(self.configRepoPath)
-
- self.mozconfig = 'configs/%s/%s/mozconfig' % (self.configSubDir,
- self.mozconfig)
self.addStep(ShellCommand(
- name='rm_configs',
- command=['rm', '-rf', 'configs'],
- description=['removing', 'configs'],
- descriptionDone=['remove', 'configs'],
- haltOnFailure=True,
- workdir='.'
- ))
- self.addStep(MercurialCloneCommand(
- name='hg_clone_configs',
- command=['hg', 'clone', configRepo, 'configs'],
- description=['checking', 'out', 'configs'],
- descriptionDone=['checkout', 'configs'],
- haltOnFailure=True,
- workdir='.'
- ))
- self.addStep(ShellCommand(
- name='hg_update',
- command=['hg', 'update', '-r', self.mozconfigBranch],
- description=['updating', 'mozconfigs'],
- haltOnFailure=True,
- workdir='./configs'
- ))
- self.addStep(ShellCommand(
- # cp configs/mozilla2/$platform/$repo/$type/mozconfig
- # .mozconfig
name='cp_mozconfig',
- command=['cp', self.mozconfig, '%s/.mozconfig' % workdir],
+ command=['cp', self.mozconfig, '.mozconfig'],
description=['copying', 'mozconfig'],
descriptionDone=['copy', 'mozconfig'],
haltOnFailure=True,
- workdir='.'
+ workdir=workdir,
))
self.addStep(ShellCommand(
name='cat_mozconfig',
command=['cat', '.mozconfig'],
workdir=workdir
))
--- a/process/release.py
+++ b/process/release.py
@@ -494,18 +494,18 @@ def generateReleaseBranchObjects(release
properties={
'platform': None,
'branch': 'release-%s' % sourceRepoInfo['name'],
},
env=dummy_builder_env,
))
if not releaseConfig.get('skip_source'):
- pf = branchConfig['platforms']['linux']
- mozconfig = 'linux/%s/release' % sourceRepoInfo['name']
+ pf = branchConfig['platforms']['linux64']
+ mozconfig = '%s/config/mozconfigs/linux64/release' % releaseConfig['appName']
platform_env = pf['env'].copy()
platform_env['COMM_REV'] = releaseTag
platform_env['MOZILLA_REV'] = releaseTag
# do not use use_mock(platform) check because we are building source
# packages on the linux platform, else the |platform in mock_platforms|
# check will fail for android.
source_use_mock = releaseConfig.get('use_mock')
@@ -522,24 +522,24 @@ def generateReleaseBranchObjects(release
stagingServer=branchConfig['stage_server'],
stageUsername=branchConfig['stage_username'],
stageSshKey=branchConfig['stage_ssh_key'],
buildNumber=releaseConfig['buildNumber'],
autoconfDirs=['.', 'js/src'],
clobberURL=clobberer_url,
clobberBranch='release-%s' % sourceRepoInfo['name'],
mozconfig=mozconfig,
- configRepoPath=branchConfig['config_repo_path'],
- configSubDir=branchConfig['config_subdir'],
signingServers=getSigningServers('linux'),
- mozconfigBranch=releaseTag,
use_mock=source_use_mock,
mock_target=pf.get('mock_target'),
mock_packages=pf.get('mock_packages'),
mock_copyin_files=pf.get('mock_copyin_files'),
+ tooltool_manifest_src=pf.get('tooltool_manifest_src', None),
+ tooltool_url_list=branchConfig.get('tooltool_url_list', []),
+ tooltool_script=pf.get('tooltool_script'),
)
builders.append({
'name': builderPrefix('%s_source' % releaseConfig['productName']),
'slavenames': branchConfig['platforms']['linux']['slaves'] +
branchConfig['platforms']['linux64']['slaves'],
'category': builderPrefix(''),
'builddir': builderPrefix(
@@ -556,17 +556,17 @@ def generateReleaseBranchObjects(release
'platform': None,
'branch': 'release-%s' % sourceRepoInfo['name'],
}
})
deliverables_builders.append(
builderPrefix('%s_source' % releaseConfig['productName']))
if releaseConfig.get('xulrunnerPlatforms'):
- mozconfig = 'linux/%s/xulrunner' % sourceRepoInfo['name']
+ mozconfig = '%s/config/mozconfigs/linux64/release' % releaseConfig['appName']
xulrunner_source_factory = SingleSourceFactory(
env=pf['env'],
objdir=pf['platform_objdir'],
hgHost=branchConfig['hghost'],
buildToolsRepoPath=tools_repo_path,
repoPath=sourceRepoInfo['path'],
productName='xulrunner',
version=releaseConfig['version'],
@@ -575,24 +575,24 @@ def generateReleaseBranchObjects(release
stagingServer=branchConfig['stage_server'],
stageUsername=branchConfig['stage_username_xulrunner'],
stageSshKey=branchConfig['stage_ssh_xulrunner_key'],
buildNumber=releaseConfig['buildNumber'],
autoconfDirs=['.', 'js/src'],
clobberURL=clobberer_url,
clobberBranch='release-%s' % sourceRepoInfo['name'],
mozconfig=mozconfig,
- configRepoPath=branchConfig['config_repo_path'],
- configSubDir=branchConfig['config_subdir'],
signingServers=getSigningServers('linux'),
- mozconfigBranch=releaseTag,
use_mock=use_mock('linux'),
mock_target=pf.get('mock_target'),
mock_packages=pf.get('mock_packages'),
mock_copyin_files=pf.get('mock_copyin_files'),
+ tooltool_manifest_src=pf.get('tooltool_manifest_src', None),
+ tooltool_url_list=branchConfig.get('tooltool_url_list', []),
+ tooltool_script=pf.get('tooltool_script'),
)
builders.append({
'name': builderPrefix('xulrunner_source'),
'slavenames': branchConfig['platforms']['linux']['slaves'] +
branchConfig['platforms']['linux64']['slaves'],
'category': builderPrefix(''),
'builddir': builderPrefix('xulrunner_source'),
@@ -679,17 +679,16 @@ def generateReleaseBranchObjects(release
build_factory = ReleaseBuildFactory(
env=platform_env,
objdir=pf['platform_objdir'],
platform=platform,
hgHost=branchConfig['hghost'],
repoPath=sourceRepoInfo['path'],
buildToolsRepoPath=tools_repo_path,
configRepoPath=branchConfig['config_repo_path'],
- configSubDir=branchConfig['config_subdir'],
profiledBuild=pf['profiled_build'],
mozconfig=mozconfig,
srcMozconfig=releaseConfig.get('mozconfigs', {}).get(platform),
buildRevision=releaseTag,
stageServer=branchConfig['stage_server'],
stageUsername=branchConfig['stage_username'],
stageGroup=branchConfig['stage_group'],
stageSshKey=branchConfig['stage_ssh_key'],
@@ -723,17 +722,16 @@ def generateReleaseBranchObjects(release
mozharnessRepoPath=mozharness_repo_path,
mozharnessTag=releaseTag,
multiLocaleScript=pf.get('multi_locale_script'),
multiLocaleConfig=multiLocaleConfig,
mozharnessMultiOptions=mozharnessMultiOptions,
usePrettyNames=releaseConfig.get('usePrettyNames', True),
enableUpdatePackaging=releaseConfig.get(
'enableUpdatePackaging', True),
- mozconfigBranch=releaseTag,
signingServers=getSigningServers(platform),
createPartial=releaseConfig.get(
'enablePartialMarsAtBuildTime', True),
mozillaDir=mozillaDir,
mozillaSrcDir=mozillaSrcDir,
enableInstaller=pf.get('enable_installer', False),
tooltool_manifest_src=pf.get('tooltool_manifest_src', None),
tooltool_url_list=branchConfig.get('tooltool_url_list', []),
@@ -983,17 +981,16 @@ def generateReleaseBranchObjects(release
xulrunner_build_factory = XulrunnerReleaseBuildFactory(
env=xr_env,
objdir=pf['platform_objdir'],
platform=platform,
hgHost=branchConfig['hghost'],
repoPath=sourceRepoInfo['path'],
buildToolsRepoPath=tools_repo_path,
configRepoPath=branchConfig['config_repo_path'],
- configSubDir=branchConfig['config_subdir'],
profiledBuild=None,
mozconfig='%s/%s/xulrunner' % (
platform, sourceRepoInfo['name']),
srcMozconfig=releaseConfig.get(
'xulrunner_mozconfigs', {}).get(platform),
buildRevision=releaseTag,
stageServer=branchConfig['stage_server'],
stageUsername=branchConfig['stage_username_xulrunner'],