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

Commit

Permalink
merging from default
Browse files Browse the repository at this point in the history
changeset:   1860:b131210f4aea
parent:      1858:9391696462b5
user:        Lukas Blakk <lsblakk@mozilla.com>
date:        Wed Oct 12 10:11:51 2011 -0700
summary:     Bug 690860 enables debug nightly builds if config set p=lsblakk r=aki

changeset:   1861:92f70b682933
user:        Mike Taylor <bear@mozilla.com>
date:        Wed Oct 12 17:08:36 2011 -0400
summary:     bug 694106 r=aki remove tegra try pool

changeset:   1862:4b2cc709a159
user:        Chris Cooper <ccooper@deadsquid.com>
date:        Fri Oct 14 14:55:26 2011 -0400
summary:     Bug 676879 - Add generic property-setting steps to ScriptFactory - r=bhearsum

changeset:   1868:2d8e38884aa5
tag:         tip
parent:      1862:4b2cc709a159
user:        Chris Cooper <ccooper@deadsquid.com>
date:        Mon Oct 17 11:39:41 2011 -0400
summary:     Bug 676879 - iterate over property files to make sure they exist - r=bear

--HG--
branch : production-0.8
  • Loading branch information
Mike Taylor committed Oct 17, 2011
2 parents c1e8740 + db1434e commit 2f7c748
Show file tree
Hide file tree
Showing 2 changed files with 59 additions and 62 deletions.
98 changes: 36 additions & 62 deletions misc.py
Expand Up @@ -616,8 +616,12 @@ def generateBranchObjects(config, name):
unittestPrettyNames[platform] = '%s debug test' % base_name
test_builders.extend(generateTestBuilderNames('%s debug test' % base_name, suites_name, suites))
triggeredUnittestBuilders.append(('%s-%s-unittest' % (name, platform), test_builders, config.get('enable_merging', True)))
# Skip l10n, unit tests and nightlies for debug builds
continue
# Skip l10n, unit tests
# Skip nightlies for debug builds unless requested
if pf.has_key('enable_nightly'):
do_nightly = pf['enable_nightly']
else:
continue
elif pf.get('enable_dep', True):
builders.append(pretty_name)
prettyNames[platform] = pretty_name
Expand Down Expand Up @@ -657,6 +661,9 @@ def generateBranchObjects(config, name):
l10nNightlyBuilders[builder]['platform'] = platform
if config['enable_shark'] and pf.get('enable_shark'):
nightlyBuilders.append('%s shark' % base_name)
if config['enable_valgrind'] and \
platform in config['valgrind_platforms']:
nightlyBuilders.append('%s valgrind' % base_name)
# Regular unittest builds
if pf.get('enable_unittests'):
unittestBuilders.append('%s unit test' % base_name)
Expand Down Expand Up @@ -1278,7 +1285,7 @@ def generateBranchObjects(config, name):
nightly_kwargs.update(multiargs)
nightly_kwargs.update(ausargs)

# We make the assumption that *all* nightly builds
# We make the assumption that *all* nightly builds
# are to be done with PGO. This is to ensure that all
# branches get some PGO coverage
# We do not stick '-pgo' in the stage_platform for
Expand Down Expand Up @@ -1471,6 +1478,30 @@ def generateBranchObjects(config, name):
'slavebuilddir': reallyShort('%s-%s-shark' % (name, platform))},
}
branchObjects['builders'].append(mozilla2_shark_builder)
if config['enable_valgrind'] and \
platform in config['valgrind_platforms']:
valgrind_env=platform_env.copy()
valgrind_env['REVISION'] = WithProperties("%(revision)s")
mozilla2_valgrind_factory = ScriptFactory(
"%s%s" % (config['hgurl'],config['build_tools_repo_path']),
'scripts/valgrind/valgrind.sh',
)
mozilla2_valgrind_builder = {
'name': '%s valgrind' % pf['base_name'],
'slavenames': pf['slaves'],
'builddir': '%s-%s-valgrind' % (name, platform),
'slavebuilddir': reallyShort('%s-%s-valgrind' % (name, platform)),
'factory': mozilla2_valgrind_factory,
'category': name,
'env': valgrind_env,
'nextSlave': _nextSlowSlave,
'properties': {'branch': name,
'platform': platform,
'stage_platform': stage_platform,
'product': pf['stage_product'],
'slavebuilddir': reallyShort('%s-%s-valgrind' % (name, platform))},
}
branchObjects['builders'].append(mozilla2_valgrind_builder)

# We still want l10n_dep builds if nightlies are off
if config['enable_l10n'] and platform in config['l10n_platforms'] and \
Expand Down Expand Up @@ -2691,10 +2722,9 @@ def generateTalosBranchObjects(branch, branch_config, PLATFORMS, SUITES,
builddir = "%s_%s_test-%s" % (branch, slave_platform, suite)
slavebuilddir= 'test'
factory = factory_class(**factory_kwargs)
slave_key = branch_config.get('slave_key', 'slaves')
builder = {
'name': "%s %s talos %s" % (platform_name, branch, suite),
'slavenames': platform_config[slave_platform][slave_key],
'slavenames': platform_config[slave_platform]['slaves'],
'builddir': builddir,
'slavebuilddir': slavebuilddir,
'factory': factory,
Expand Down Expand Up @@ -2792,8 +2822,6 @@ def generateTalosBranchObjects(branch, branch_config, PLATFORMS, SUITES,

for suites_name, suites in branch_config['platforms'][platform][slave_platform][unittest_suites]:
# create the builders
slave_key = branch_config.get('slave_key', 'slaves')
slavenames = platform_config[slave_platform][slave_key]
test_builder_kwargs = {
"config": branch_config,
"branch_name": branch,
Expand All @@ -2804,7 +2832,7 @@ def generateTalosBranchObjects(branch, branch_config, PLATFORMS, SUITES,
"suites": suites,
"mochitestLeakThreshold": branch_config.get('mochitest_leak_threshold', None),
"crashtestLeakThreshold": branch_config.get('crashtest_leak_threshold', None),
"slaves": slavenames,
"slaves": platform_config[slave_platform]['slaves'],
"resetHwClock": branch_config['platforms'][platform][slave_platform].get('reset_hw_clock', False),
"stagePlatform": stage_platform,
"stageProduct": stage_product
Expand Down Expand Up @@ -3119,55 +3147,6 @@ def generateNanojitObjects(config, SLAVES):
'status': status,
}

def generateValgrindObjects(config, slaves):
builders = []
branch = os.path.basename(config['repo_path'])

for platform in config['platforms']:
f = ScriptFactory(
config['scripts_repo'],
'scripts/valgrind/valgrind.sh',
)

env = config[platform]['env']
builder = {'name': 'valgrind-%s' % platform,
'builddir': 'valgrind-%s' % platform,
'slavenames': slaves[platform],
'nextSlave': _nextSlowSlave,
'factory': f,
'category': branch,
'env': env,
'properties': {'branch': branch},
}
builders.append(builder)

# Set up scheduler
scheduler = PersistentScheduler(
name="valgrind",
builderNames=[b['name'] for b in builders],
numPending=1,
pollInterval=config['job_interval'],
)

# Tinderbox notifier
status = []
if not config.get("disable_tinderbox_mail"):
tbox_mailer = TinderboxMailNotifier(
fromaddr="mozilla2.buildbot@build.mozilla.org",
tree=config['tinderbox_tree'],
extraRecipients=["tinderbox-daemon@tinderbox.mozilla.org"],
relayhost="mail.build.mozilla.org",
builders=[b['name'] for b in builders],
logCompression="gzip",
)
status = [tbox_mailer]

return {
'builders': builders,
'schedulers': [scheduler],
'status': status,
}

def generateSpiderMonkeyObjects(config, SLAVES):
builders = []
branch = os.path.basename(config['repo_path'])
Expand Down Expand Up @@ -3327,11 +3306,6 @@ def generateProjectObjects(project, config, SLAVES):
nanojitObjects = generateNanojitObjects(config, SLAVES)
buildObjects = mergeBuildObjects(buildObjects, nanojitObjects)

# Valgrind
elif project.startswith('valgrind'):
valgrindObjects = generateValgrindObjects(config, SLAVES)
buildObjects = mergeBuildObjects(buildObjects, valgrindObjects)

# Jetpack
elif project.startswith('jetpack'):
jetpackObjects = generateJetpackObjects(config, SLAVES)
Expand Down
23 changes: 23 additions & 0 deletions process/factory.py
Expand Up @@ -7761,6 +7761,14 @@ def eval_func(cmd, step):
return worst_status(regex_status, rc_status)
return eval_func

def extractProperties(rv, stdout, stderr):
props = {}
stdout = stdout.strip()
for l in filter(None, stdout.split('\n')):
e = filter(None, l.split(':'))
props[e[0]] = e[1].strip()
return props

class ScriptFactory(BuildFactory):
def __init__(self, scriptRepo, scriptName, cwd=None, interpreter=None,
extra_data=None, extra_args=None,
Expand All @@ -7785,6 +7793,11 @@ def __init__(self, scriptRepo, scriptName, cwd=None, interpreter=None,
workdir="."
))
env['EXTRA_DATA'] = 'data.json'
self.addStep(ShellCommand(
name="clobber_properties",
command=['rm', '-rf', 'properties'],
workdir=".",
))
self.addStep(ShellCommand(
name="clobber_scripts",
command=['rm', '-rf', 'scripts'],
Expand Down Expand Up @@ -7825,3 +7838,13 @@ def __init__(self, scriptRepo, scriptName, cwd=None, interpreter=None,
workdir=".",
haltOnFailure=True,
warnOnWarnings=True))

self.addStep(SetProperty(
name='set_script_properties',
command=['bash', '-c', 'for file in `ls -1`; do cat $file; done'],
workdir='properties',
extract_fn=extractProperties,
alwaysRun=True,
warnOnFailure=False,
flunkOnFailure=False,
))

0 comments on commit 2f7c748

Please sign in to comment.