Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse files

Merge from default

--HG--
branch : production-0.8
  • Loading branch information...
commit 84dcc9d824f0a90262a192c6132c552c94ab05cb 2 parents 6baa67a + af58cff
@rail rail authored
Showing with 161 additions and 239 deletions.
  1. +15 −10 misc.py
  2. +142 −227 process/factory.py
  3. +4 −2 process/release.py
View
25 misc.py
@@ -618,9 +618,7 @@ def generateBranchObjects(config, name):
triggeredUnittestBuilders.append(('%s-%s-unittest' % (name, platform), test_builders, config.get('enable_merging', True)))
# Skip l10n, unit tests
# Skip nightlies for debug builds unless requested
- if pf.has_key('enable_nightly'):
- do_nightly = pf['enable_nightly']
- else:
+ if not pf.has_key('enable_nightly'):
continue
elif pf.get('enable_dep', True):
builders.append(pretty_name)
@@ -1158,7 +1156,7 @@ def generateBranchObjects(config, name):
}
branchObjects['builders'].append(pgo_builder)
- # skip nightlies for debug builds
+ # skip nightlies for debug builds unless requested at platform level
if platform.find('debug') > -1:
if pf.get('enable_unittests'):
for suites_name, suites in config['unittest_suites']:
@@ -1177,7 +1175,8 @@ def generateBranchObjects(config, name):
suites_name, suites, mochitestLeakThreshold,
crashtestLeakThreshold, stagePlatform=stage_platform,
stageProduct=pf['stage_product']))
- continue
+ if not pf.has_key('enable_nightly'):
+ continue
if config['enable_nightly']:
if pf.has_key('enable_nightly'):
@@ -1268,11 +1267,17 @@ def generateBranchObjects(config, name):
if create_snippet and 'android' in platform:
# Ideally, this woud use some combination of product name and
# stage_platform, but that can be done in a follow up.
- ausargs = {
- 'downloadBaseURL': config['mobile_download_base_url'],
- 'downloadSubdir': '%s-%s' % (name, pf.get('stage_platform', platform)),
- 'ausBaseUploadDir': config.get('aus2_mobile_base_upload_dir', 'fake'),
- }
+ # Android doesn't create updates for all the branches that
+ # Firefox desktop does.
+ if config.get('create_mobile_snippet'):
+ ausargs = {
+ 'downloadBaseURL': config['mobile_download_base_url'],
+ 'downloadSubdir': '%s-%s' % (name, pf.get('stage_platform', platform)),
+ 'ausBaseUploadDir': config['aus2_mobile_base_upload_dir'],
+ }
+ else:
+ create_snippet = False
+ ausargs = {}
else:
ausargs = {
'downloadBaseURL': config['download_base_url'],
View
369 process/factory.py
@@ -1145,6 +1145,137 @@ def get_ctors(rc, stdout, stderr):
data=WithProperties('TinderboxPrint: num_ctors: %(num_ctors:-unknown)s'),
))
+ def addLeakTestStepsCommon(self, baseUrl, leakEnv, graphAndUpload):
+ """ Helper function for the two implementations of addLeakTestSteps.
+ * baseUrl Base of the URL where we get the old logs.
+ * leakEnv Environment used for running firefox.
+ * graphAndUpload Used to prevent the try jobs from doing talos graph
+ posts and uploading logs."""
+ if self.platform == 'macosx64':
+ return
+
+ self.addStep(AliveTest(
+ env=leakEnv,
+ workdir='build/%s/_leaktest' % self.mozillaObjdir,
+ extraArgs=['--trace-malloc', 'malloc.log',
+ '--shutdown-leaks=sdleak.log'],
+ timeout=3600, # 1 hour, because this takes a long time on win32
+ warnOnFailure=True,
+ haltOnFailure=True
+ ))
+ self.addStep(RetryingShellCommand(
+ name='get_malloc_log',
+ env=self.env,
+ workdir='.',
+ command=['wget', '-O', 'malloc.log.old',
+ '%s/malloc.log' % baseUrl]
+ ))
+ self.addStep(RetryingShellCommand(
+ name='get_sdleak_log',
+ env=self.env,
+ workdir='.',
+ command=['wget', '-O', 'sdleak.tree.old',
+ '%s/sdleak.tree' % baseUrl]
+ ))
+ self.addStep(ShellCommand(
+ name='mv_malloc_log',
+ env=self.env,
+ command=['mv',
+ '%s/_leaktest/malloc.log' % self.mozillaObjdir,
+ '../malloc.log'],
+ ))
+ self.addStep(ShellCommand(
+ name='mv_sdleak_log',
+ env=self.env,
+ command=['mv',
+ '%s/_leaktest/sdleak.log' % self.mozillaObjdir,
+ '../sdleak.log'],
+ ))
+ self.addStep(CompareLeakLogs(
+ name='compare_current_leak_log',
+ mallocLog='../malloc.log',
+ platform=self.platform,
+ env=self.env,
+ objdir=self.mozillaObjdir,
+ testname='current',
+ tbPrint=self.tbPrint,
+ warnOnFailure=True,
+ haltOnFailure=True
+ ))
+ if self.graphServer and graphAndUpload:
+ self.addBuildInfoSteps()
+ self.addStep(JSONPropertiesDownload(slavedest="properties.json"))
+ self.addStep(GraphServerPost(server=self.graphServer,
+ selector=self.graphSelector,
+ branch=self.graphBranch,
+ resultsname=self.baseName,
+ env={'PYTHONPATH': [WithProperties('%(toolsdir)s/lib/python')]},
+ propertiesFile="properties.json"))
+ self.addStep(CompareLeakLogs(
+ name='compare_previous_leak_log',
+ mallocLog='../malloc.log.old',
+ platform=self.platform,
+ env=self.env,
+ objdir=self.mozillaObjdir,
+ testname='previous'
+ ))
+ self.addStep(ShellCommand(
+ name='create_sdleak_tree',
+ env=self.env,
+ workdir='.',
+ command=['bash', '-c',
+ 'perl build%s/tools/trace-malloc/diffbloatdump.pl '
+ '--depth=15 --use-address /dev/null sdleak.log '
+ '> sdleak.tree' % self.mozillaDir],
+ warnOnFailure=True,
+ haltOnFailure=True
+ ))
+ if self.platform in ('macosx', 'macosx64', 'linux', 'linux64'):
+ self.addStep(ShellCommand(
+ name='create_sdleak_raw',
+ env=self.env,
+ workdir='.',
+ command=['mv', 'sdleak.tree', 'sdleak.tree.raw']
+ ))
+ # Bug 571443 - disable fix-macosx-stack.pl
+ if self.platform == 'macosx64':
+ self.addStep(ShellCommand(
+ workdir='.',
+ command=['cp', 'sdleak.tree.raw', 'sdleak.tree'],
+ ))
+ else:
+ self.addStep(ShellCommand(
+ name='get_fix_stack',
+ env=self.env,
+ workdir='.',
+ command=['/bin/bash', '-c',
+ 'perl '
+ 'build%s/tools/rb/fix-%s-stack.pl '
+ 'sdleak.tree.raw '
+ '> sdleak.tree' % (self.mozillaDir,
+ self.platform.replace("64", "")),
+ ],
+ warnOnFailure=True,
+ haltOnFailure=True
+ ))
+ if graphAndUpload:
+ self.addStep(RetryingShellCommand(
+ name='upload_logs',
+ env=self.env,
+ command=['scp', '-o', 'User=%s' % self.stageUsername,
+ '-o', 'IdentityFile=~/.ssh/%s' % self.stageSshKey,
+ '../malloc.log', '../sdleak.tree',
+ '%s:%s/%s' % (self.stageServer, self.stageBasePath,
+ self.logUploadDir)]
+ ))
+ self.addStep(ShellCommand(
+ name='compare_sdleak_tree',
+ env=self.env,
+ workdir='.',
+ command=['perl', 'build%s/tools/trace-malloc/diffbloatdump.pl' % self.mozillaDir,
+ '--depth=15', 'sdleak.tree.old', 'sdleak.tree']
+ ))
+
def addLeakTestSteps(self):
leakEnv = self.env.copy()
leakEnv['MINIDUMP_STACKWALK'] = getPlatformMinidumpPath(self.platform)
@@ -1163,127 +1294,7 @@ def addLeakTestSteps(self):
haltOnFailure=True
))
- if self.platform != 'macosx64':
- self.addStep(AliveTest(
- env=leakEnv,
- workdir='build/%s/_leaktest' % self.mozillaObjdir,
- extraArgs=['--trace-malloc', 'malloc.log',
- '--shutdown-leaks=sdleak.log'],
- timeout=3600, # 1 hour, because this takes a long time on win32
- warnOnFailure=True,
- haltOnFailure=True
- ))
- self.addStep(RetryingShellCommand(
- name='get_malloc_log',
- env=self.env,
- workdir='.',
- command=['wget', '-O', 'malloc.log.old',
- '%s/malloc.log' % self.logBaseUrl]
- ))
- self.addStep(RetryingShellCommand(
- name='get_sdleak_log',
- env=self.env,
- workdir='.',
- command=['wget', '-O', 'sdleak.tree.old',
- '%s/sdleak.tree' % self.logBaseUrl]
- ))
- self.addStep(ShellCommand(
- name='mv_malloc_log',
- env=self.env,
- command=['mv',
- '%s/_leaktest/malloc.log' % self.mozillaObjdir,
- '../malloc.log'],
- ))
- self.addStep(ShellCommand(
- name='mv_sdleak_log',
- env=self.env,
- command=['mv',
- '%s/_leaktest/sdleak.log' % self.mozillaObjdir,
- '../sdleak.log'],
- ))
- self.addStep(CompareLeakLogs(
- name='compare_current_leak_log',
- mallocLog='../malloc.log',
- platform=self.platform,
- env=self.env,
- objdir=self.mozillaObjdir,
- testname='current',
- tbPrint=self.tbPrint,
- warnOnFailure=True,
- haltOnFailure=True
- ))
- if self.graphServer:
- self.addBuildInfoSteps()
- self.addStep(JSONPropertiesDownload(slavedest="properties.json"))
- self.addStep(GraphServerPost(server=self.graphServer,
- selector=self.graphSelector,
- branch=self.graphBranch,
- resultsname=self.baseName,
- env={'PYTHONPATH': [WithProperties('%(toolsdir)s/lib/python')]},
- propertiesFile="properties.json"))
- self.addStep(CompareLeakLogs(
- name='compare_previous_leak_log',
- mallocLog='../malloc.log.old',
- platform=self.platform,
- env=self.env,
- objdir=self.mozillaObjdir,
- testname='previous'
- ))
- self.addStep(ShellCommand(
- name='create_sdleak_tree',
- env=self.env,
- workdir='.',
- command=['bash', '-c',
- 'perl build%s/tools/trace-malloc/diffbloatdump.pl '
- '--depth=15 --use-address /dev/null sdleak.log '
- '> sdleak.tree' % self.mozillaDir],
- warnOnFailure=True,
- haltOnFailure=True
- ))
- if self.platform in ('macosx', 'macosx64', 'linux', 'linux64'):
- self.addStep(ShellCommand(
- name='create_sdleak_raw',
- env=self.env,
- workdir='.',
- command=['mv', 'sdleak.tree', 'sdleak.tree.raw']
- ))
- # Bug 571443 - disable fix-macosx-stack.pl
- if self.platform == 'macosx64':
- self.addStep(ShellCommand(
- workdir='.',
- command=['cp', 'sdleak.tree.raw', 'sdleak.tree'],
- ))
- else:
- self.addStep(ShellCommand(
- name='get_fix_stack',
- env=self.env,
- workdir='.',
- command=['/bin/bash', '-c',
- 'perl '
- 'build%s/tools/rb/fix-%s-stack.pl '
- 'sdleak.tree.raw '
- '> sdleak.tree' % (self.mozillaDir,
- self.platform.replace("64", "")),
- ],
- warnOnFailure=True,
- haltOnFailure=True
- ))
- self.addStep(RetryingShellCommand(
- name='upload_logs',
- env=self.env,
- command=['scp', '-o', 'User=%s' % self.stageUsername,
- '-o', 'IdentityFile=~/.ssh/%s' % self.stageSshKey,
- '../malloc.log', '../sdleak.tree',
- '%s:%s/%s' % (self.stageServer, self.stageBasePath,
- self.logUploadDir)]
- ))
- self.addStep(ShellCommand(
- name='compare_sdleak_tree',
- env=self.env,
- workdir='.',
- command=['perl', 'build%s/tools/trace-malloc/diffbloatdump.pl' % self.mozillaDir,
- '--depth=15', 'sdleak.tree.old', 'sdleak.tree']
- ))
+ self.addLeakTestStepsCommon(self.logBaseUrl, leakEnv, True)
def addCheckTestSteps(self):
env = self.env.copy()
@@ -1776,112 +1787,10 @@ def addLeakTestSteps(self):
warnOnFailure=True,
haltOnFailure=True
))
+ baseUrl = 'http://%s/pub/mozilla.org/%s/tinderbox-builds/mozilla-central-%s' % \
+ (self.stageServer, self.productName, self.platform)
- if self.platform != 'macosx64':
- self.addStep(AliveTest(
- env=leakEnv,
- workdir='build/%s/_leaktest' % self.mozillaObjdir,
- extraArgs=['--trace-malloc', 'malloc.log',
- '--shutdown-leaks=sdleak.log'],
- timeout=3600, # 1 hour, because this takes a long time on win32
- warnOnFailure=True,
- haltOnFailure=True
- ))
- self.addStep(RetryingShellCommand(
- name='get_malloc_log',
- env=self.env,
- workdir='.',
- command=['wget', '-O', 'malloc.log.old',
- 'http://%s/pub/mozilla.org/%s/tinderbox-builds/mozilla-central-%s/malloc.log' % \
- (self.stageServer, self.productName, self.platform)],
- ))
- self.addStep(RetryingShellCommand(
- name='get_sdleak_log',
- env=self.env,
- workdir='.',
- command=['wget', '-O', 'sdleak.tree.old',
- 'http://%s/pub/mozilla.org/%s/tinderbox-builds/mozilla-central-%s/sdleak.tree' % \
- (self.stageServer, self.productName, self.platform)],
- ))
- self.addStep(ShellCommand(
- name='mv_malloc_log',
- env=self.env,
- command=['mv',
- '%s/_leaktest/malloc.log' % self.mozillaObjdir,
- '../malloc.log'],
- ))
- self.addStep(ShellCommand(
- name='mv_sdleak_log',
- env=self.env,
- command=['mv',
- '%s/_leaktest/sdleak.log' % self.mozillaObjdir,
- '../sdleak.log'],
- ))
- self.addStep(CompareLeakLogs(
- name='compare_current_leak_log',
- mallocLog='../malloc.log',
- platform=self.platform,
- env=self.env,
- objdir=self.mozillaObjdir,
- testname='current',
- tbPrint=self.tbPrint,
- warnOnFailure=True,
- haltOnFailure=True
- ))
- self.addStep(CompareLeakLogs(
- name='compare_previous_leak_log',
- mallocLog='../malloc.log.old',
- platform=self.platform,
- env=self.env,
- objdir=self.mozillaObjdir,
- testname='previous'
- ))
- self.addStep(ShellCommand(
- name='create_sdleak_tree',
- env=self.env,
- workdir='.',
- command=['bash', '-c',
- 'perl build%s/tools/trace-malloc/diffbloatdump.pl '
- '--depth=15 --use-address /dev/null sdleak.log '
- '> sdleak.tree' % self.mozillaDir],
- warnOnFailure=True,
- haltOnFailure=True
- ))
- if self.platform in ('macosx', 'macosx64', 'linux', 'linux64'):
- self.addStep(ShellCommand(
- name='create_sdleak_raw',
- env=self.env,
- workdir='.',
- command=['mv', 'sdleak.tree', 'sdleak.tree.raw']
- ))
- # Bug 571443 - disable fix-macosx-stack.pl
- if self.platform == 'macosx64':
- self.addStep(ShellCommand(
- workdir='.',
- command=['cp', 'sdleak.tree.raw', 'sdleak.tree'],
- ))
- else:
- self.addStep(ShellCommand(
- name='get_fix_stack',
- env=self.env,
- workdir='.',
- command=['/bin/bash', '-c',
- 'perl '
- 'build%s/tools/rb/fix-%s-stack.pl '
- 'sdleak.tree.raw '
- '> sdleak.tree' % (self.mozillaDir,
- self.platform.replace("64", ""))
- ],
- warnOnFailure=True,
- haltOnFailure=True
- ))
- self.addStep(ShellCommand(
- name='compare_sdleak_tree',
- env=self.env,
- workdir='.',
- command=['perl', 'build%s/tools/trace-malloc/diffbloatdump.pl' % self.mozillaDir,
- '--depth=15', 'sdleak.tree.old', 'sdleak.tree']
- ))
+ self.addLeakTestStepsCommon(baseUrl, leakEnv, False)
def addCodesighsSteps(self):
self.addStep(ShellCommand(
@@ -4634,7 +4543,7 @@ def __init__(self, cvsroot, patcherToolsTag, patcherConfig, verifyConfigs,
buildSpace=22, triggerSchedulers=None, releaseNotesUrl=None,
binaryName=None, oldBinaryName=None, testOlderPartials=False,
fakeMacInfoTxt=False, longVersion=None, oldLongVersion=None,
- **kwargs):
+ schema=None, **kwargs):
"""cvsroot: The CVSROOT to use when pulling patcher, patcher-configs,
Bootstrap/Util.pm, and MozBuild. It is also used when
commiting the version-bumped patcher config so it must have
@@ -4658,6 +4567,7 @@ def __init__(self, cvsroot, patcherToolsTag, patcherConfig, verifyConfigs,
macosx_info.txt in the candidates directory on the
staging server (to cope with the transition in mac
builds, see bug 630085)
+ schema: The style of snippets to write (changed in bug 459972)
"""
ReleaseFactory.__init__(self, buildSpace=buildSpace, **kwargs)
@@ -4697,6 +4607,7 @@ def __init__(self, cvsroot, patcherToolsTag, patcherConfig, verifyConfigs,
self.fakeMacInfoTxt = fakeMacInfoTxt
self.longVersion = longVersion or self.version
self.oldLongVersion = oldLongVersion or self.oldVersion
+ self.schema = schema
self.patcherConfigFile = 'patcher-configs/%s' % patcherConfig
self.shippedLocales = self.getShippedLocales(self.repository, baseTag,
@@ -4829,6 +4740,8 @@ def bumpPatcherConfig(self):
bumpCommand.append('-u')
if self.releaseNotesUrl:
bumpCommand.extend(['-n', self.releaseNotesUrl])
+ if self.schema:
+ bumpCommand.extend(['-s', str(self.schema)])
self.addStep(ShellCommand(
name='bump',
command=bumpCommand,
@@ -5148,6 +5061,8 @@ def bumpPatcherConfig(self):
bumpCommand.append('-u')
if self.releaseNotesUrl:
bumpCommand.extend(['-n', self.releaseNotesUrl])
+ if self.schema:
+ bumpCommand.extend(['-s', str(self.schema)])
self.addStep(ShellCommand(
name='create_config',
command=bumpCommand,
View
6 process/release.py
@@ -1135,7 +1135,8 @@ def majorUpdateVerifyBuilders(platform):
oldBinaryName=releaseConfig['oldBinaryName'],
testOlderPartials=releaseConfig['testOlderPartials'],
longVersion=releaseConfig.get('longVersion', None),
- oldLongVersion=releaseConfig.get('oldLongVersion', None)
+ oldLongVersion=releaseConfig.get('oldLongVersion', None),
+ schema=releaseConfig.get('snippetSchema', None),
)
builders.append({
@@ -1341,7 +1342,8 @@ def majorUpdateVerifyBuilders(platform):
oldRepoPath=sourceRepoInfo['path'],
triggerSchedulers=[builderPrefix('major_update_verify')],
releaseNotesUrl=releaseConfig['majorUpdateReleaseNotesUrl'],
- fakeMacInfoTxt=releaseConfig['majorFakeMacInfoTxt']
+ fakeMacInfoTxt=releaseConfig['majorFakeMacInfoTxt'],
+ schema=releaseConfig.get('majorSnippetSchema', None),
)
builders.append({
Please sign in to comment.
Something went wrong with that request. Please try again.