[llvm-commits] [zorg] r124742 - in /zorg/trunk/buildbot/llvmlab/master: config/builders.py master.cfg
David Dean
david_dean at apple.com
Wed Feb 2 11:39:45 PST 2011
Author: ddean
Date: Wed Feb 2 13:39:45 2011
New Revision: 124742
URL: http://llvm.org/viewvc/llvm-project?rev=124742&view=rev
Log:
update upload/download to use rsync; add parameter to svn puller method which allows always pulling newest revision; nightly tests set up to always pull latest revision; reduced size of artifacts and removed need to keep track of debug/release; fixed to support multiple config_options correctly; added some new builders; added function to allow prioritizing builds if necessary
Modified:
zorg/trunk/buildbot/llvmlab/master/config/builders.py
zorg/trunk/buildbot/llvmlab/master/master.cfg
Modified: zorg/trunk/buildbot/llvmlab/master/config/builders.py
URL: http://llvm.org/viewvc/llvm-project/zorg/trunk/buildbot/llvmlab/master/config/builders.py?rev=124742&r1=124741&r2=124742&view=diff
==============================================================================
--- zorg/trunk/buildbot/llvmlab/master/config/builders.py (original)
+++ zorg/trunk/buildbot/llvmlab/master/config/builders.py Wed Feb 2 13:39:45 2011
@@ -4,17 +4,16 @@
from buildbot.steps.trigger import Trigger
from buildbot.schedulers import basic, timed, triggerable
from buildbot.steps import source
-from buildbot.steps.transfer import FileUpload, FileDownload
def setProperty(f, new_property, new_value):
f.addStep(buildbot.steps.shell.SetProperty(
command=['echo', new_value],
property=new_property,
description=['set property', new_property],
- workdir='.'))
+ ))
return f
-def pullsrc(f, repo_name, URL, dir, pull_mode='clobber', def_branch='trunk'):
+def pullsrc(f, repo_name, URL, dir, pull_mode='clobber', def_branch='trunk', UseLatest='False'):
f.addStep(source.SVN(name='pull ' + repo_name,
mode=pull_mode,
baseURL=URL,
@@ -24,24 +23,24 @@
def pullClang(f):
- pullsrc(f, 'clang', 'http://llvm.org/svn/llvm-project/cfe/', 'llvm/tools/clang', 'update')
- return f
+ pullsrc(f, 'clang', 'http://llvm.org/svn/llvm-project/cfe/', 'llvm/tools/clang', )
+ return f
def pullllvm(f):
- pullsrc(f, 'llvm', 'http://llvm.org/svn/llvm-project/llvm/', 'llvm', 'update')
- return f
+ pullsrc(f, 'llvm', 'http://llvm.org/svn/llvm-project/llvm/', 'llvm')
+ return f
def pulltest_suite(f):
- pullsrc(f, 'llvm tests', 'http://llvm.org/svn/llvm-project/test-suite/', 'test-suite', 'update')
- return f
+ pullsrc(f, 'llvm tests', 'http://llvm.org/svn/llvm-project/test-suite/', 'test-suite', 'clobber', 'trunk', 'True')
+ return f
def pullclang_tests(f):
- pullsrc(f, 'clang tests', 'http://llvm.org/svn/llvm-project/clang-tests/', 'test-suite', 'update')
- return f
+ pullsrc(f, 'clang tests', 'http://llvm.org/svn/llvm-project/clang-tests/', 'test-suite')
+ return f
def pulllibcxx(f):
- pullsrc(f, 'libc++', 'http://llvm.org/svn/llvm-project/libcxx/', 'libcxx')
- return f
+ pullsrc(f, 'libc++', 'http://llvm.org/svn/llvm-project/libcxx/', 'libcxx')
+ return f
def pullboostrunner(f):
#alwaysUseLatest
@@ -58,62 +57,66 @@
command=['pwd'],
property='builddir',
description='set build dir',
- workdir='.'))
+ ))
return f
def GetCompilerArtifacts(f):
if WithProperties('%(revision)s')=='None':
- src_file = WithProperties('~/artifacts/%(use_builder)s/%(got_revision)s/%(use_compiler)s.tar.gz')
+ src_file = WithProperties('buildmaster at llvmlab.local:~/artifacts/%(use_builder)s/%(got_revision)s/clang-install.tar.gz')
else:
- src_file = WithProperties('~/artifacts/%(use_builder)s/%(revision)s/%(use_compiler)s.tar.gz')
- f.addStep(FileDownload(mastersrc=src_file,
- slavedest=WithProperties('%(builddir)s/%(use_compiler)s.tar.gz')
- ))
+ src_file = WithProperties('buildmaster at llvmlab.local:~/artifacts/%(use_builder)s/%(revision)s/clang-install.tar.gz')
+ slavedest=WithProperties('%(builddir)s/clang-install.tar.gz')
+ f.addStep(buildbot.steps.shell.ShellCommand(
+ name='download_artifacts',
+ command=['rsync', '-ave', 'ssh', src_file, slavedest ],
+ haltOnFailure=True,
+ description=['download build artifacts'],
+ ))
#extract compiler artifacts used for this build
f.addStep(buildbot.steps.shell.ShellCommand(
name='unzip',
- command=['tar', '-zxvf', WithProperties('%(use_compiler)s.tar.gz'),],
+ command=['tar', '-zxvf', WithProperties('clang-install.tar.gz'),],
haltOnFailure=True,
- description=['extract', WithProperties('%(use_compiler)s')],
- workdir='.',
+ description=['extract', WithProperties('clang-install')],
))
return f
def cleanCompilerDir(f):
f.addStep(buildbot.steps.shell.ShellCommand(
- command=['rm', '-rf', WithProperties('%(use_compiler:-)s')],
+ command=['rm', '-rf', 'clang-install'],
haltOnFailure=False,
- description=['rm dir', WithProperties('%(use_compiler:-)s')],
- workdir='.',))
+ description=['rm dir', 'clang-install'],
+ ))
f.addStep(buildbot.steps.shell.ShellCommand(
- command=['rm', '-rf', WithProperties('%(use_compiler:-)s.tar.gz')],
+ command=['rm', '-rf', 'clang-install.tar.gz'],
haltOnFailure=False,
- description=['rm archive', WithProperties('%(use_compiler:-)s')],
- workdir='.',))
+ description=['rm archive', 'clang-install.tar.gz'],
+ ))
f.addStep(buildbot.steps.shell.ShellCommand(
command=['rm', '-rf', WithProperties('%(compiler_built:-)s')],
haltOnFailure=False,
description=['rm dir', WithProperties('%(compiler_built:-)s')],
- workdir='.',))
- f.addStep(buildbot.steps.shell.ShellCommand(
- command=['rm', '-rf', WithProperties('%(compiler_built:-)s.tar.gz')],
- haltOnFailure=False,
- description=['rm archive', WithProperties('%(compiler_built:-)s')],
- workdir='.',))
+ ))
return f
def uploadArtifacts(f):
f.addStep(buildbot.steps.shell.ShellCommand(
name='tar_and_zip',
- command=['tar', 'czvf', WithProperties('%(compiler_built)s.tar.gz'),
- WithProperties('./%(compiler_built)s/')],
+ command=['tar', 'czvf', 'clang-install.tar.gz',
+ WithProperties('./clang-install/')],
haltOnFailure=True,
description=['tar', '&', 'zip'],
- workdir='.',
))
- archive_src = WithProperties('%(builddir)s/%(compiler_built)s.tar.gz')
- archive_dest = WithProperties('~/artifacts/%(buildername)s/%(got_revision)s/%(compiler_built)s.tar.gz')
- f.addStep(FileUpload(slavesrc=archive_src, masterdest=archive_dest))
+ archive_src = WithProperties('%(builddir)s/clang-install.tar.gz')
+ f.addStep(buildbot.steps.shell.ShellCommand(
+ name='upload_artifacts',
+ command=['rsync', '-ave', 'ssh', archive_src,
+ WithProperties('buildmaster at llvmlab.local:~/artifacts/%(buildername)s/%(got_revision)s/')
+ ],
+ haltOnFailure=True,
+ description=['upload build artifacts'],
+ ))
+
return f
def regressionTests(f):
@@ -148,7 +151,7 @@
def clangStage1(f,config_options=''):
# Determine the build directory.
f = getBuildDir(f)
- f = setProperty(f, 'compiler_built', 'stage1')
+ f = setProperty(f, 'compiler_built', 'clang-build')
# clean out the directory used for the stage 1 compiler
#f = cleanCompilerDir(f)
# pull sources
@@ -170,6 +173,13 @@
haltOnFailure=True,
description=['make'],
workdir=WithProperties('%(compiler_built)s')))
+ f.addStep(buildbot.steps.shell.ShellCommand(
+ name='make install',
+ command=['make', 'install', '-j', WithProperties('%(jobs)s'),
+ WithProperties('DESTDIR=%(builddir)s/clang-install')],
+ haltOnFailure=True,
+ description=['make install'],
+ workdir=WithProperties('%(compiler_built)s')))
return f
def clangHost(config_options):
@@ -177,8 +187,8 @@
f = buildbot.process.factory.BuildFactory()
# Determine the build directory.
f = getBuildDir(f)
- f = setProperty(f, 'compiler_built', 'stage2')
- f = setProperty(f, 'use_path', WithProperties('%(builddir)s/%(use_compiler)s/%(use_type)s'))
+ f = setProperty(f, 'compiler_built', 'clang-build')
+ f = setProperty(f, 'use_path', WithProperties('%(builddir)s/clang-install/usr/local/bin'))
# clean out the directory/archives used for the stage 1 compiler
# clean out the directory used to build compiler
f = cleanCompilerDir(f)
@@ -188,17 +198,21 @@
#Download artifacts from phase 1 compiler build
f = GetCompilerArtifacts(f)
# configure to use stage1 compiler (artifacts from phase 1 build)
+ if config_options == ():
+ config_options = []
+ else:
+ config_options = list(config_options)
f.addStep(buildbot.steps.shell.ShellCommand(
name='configure_with_host',
command=[
- '../llvm/configure', '--disable-bindings',
+ '../llvm/configure',] + config_options + ['--disable-bindings',
'--with-llvmcc=clang', '--without-llvmgcc', '--without-llvmgxx',
- WithProperties('CC=%(use_path)s/bin/clang'),
- WithProperties('CXX=%(use_path)s/bin/clang++'),
- config_options],
+ WithProperties('CC=%(use_path)s/clang'),
+ WithProperties('CXX=%(use_path)s/clang++'),
+ ],
haltOnFailure=True,
description=['configure'],
- env={'PATH': WithProperties('%(use_path)s/bin:${PATH}')},
+ env={'PATH': WithProperties('%(use_path)s:${PATH}')},
workdir=WithProperties('%(compiler_built)s')))
# build stage 2 compiler
f.addStep(buildbot.steps.shell.ShellCommand(
@@ -206,7 +220,15 @@
command=['make', '-j', WithProperties('%(jobs)s')],
haltOnFailure=True,
description=['make'],
- env={'PATH': WithProperties('%(use_path)s/bin:${PATH}')},
+ env={'PATH': WithProperties('%(use_path)s:${PATH}')},
+ workdir=WithProperties('%(compiler_built)s')))
+ f.addStep(buildbot.steps.shell.ShellCommand(
+ name='make install',
+ command=['make', '-j', WithProperties('%(jobs)s'), 'install-clang',
+ WithProperties('DESTDIR=%(builddir)s/clang-install')],
+ env={'PATH': WithProperties('%(use_path)s:${PATH}')},
+ haltOnFailure=True,
+ description=['make install'],
workdir=WithProperties('%(compiler_built)s')))
# save artifacts of thids build for use by other builders
f = uploadArtifacts(f)
@@ -246,73 +268,92 @@
'category' : 'status',
}
-def HostedClang(myname, compiler_type, use_compiler, use_type, slaves, config_options=''):
+def HostedClang(myname, compiler_type, use_compiler, slaves, *config_options):
return { 'name' : myname,
'builddir' : 'build.'+myname,
'factory' : clangHost(config_options),
'slavenames' : slaves,
'category' : 'clang',
'properties' : {'compiler_type': compiler_type, 'use_builder': use_compiler,
- 'use_type': use_type, 'use_compiler': 'stage1'
}}
-def NightlyFactory(compiler, compiler_dir, options):
+def NightlyFactory(compiler, options):
f = buildbot.process.factory.BuildFactory()
# Determine the build directory.
f = getBuildDir(f)
f = setProperty(f, 'use_builder', compiler)
- f = setProperty(f, 'use_compiler', compiler_dir)
- f = setProperty(f, 'use_path', WithProperties('%(builddir)s/%(use_compiler)s/%(use_type)s'))
+ f = setProperty(f, 'use_path', WithProperties('%(builddir)s/clang-install/usr/local/bin'))
#clean out the directory/archives prior to extracting compiler
f = cleanCompilerDir(f)
- # pull test-suite
- f = pulltest_suite(f)
#Download compiler artifacts to be used for this build
f = GetCompilerArtifacts(f)
f.addStep(buildbot.steps.shell.ShellCommand(
name='sanity_test',
- command=[WithProperties('%(use_path)s/bin/clang'),
+ command=[WithProperties('%(use_path)s/clang'),
'--version'],
haltOnFailure=True,
description=['sanity test'],
- env={'PATH': WithProperties('%(use_path)s/bin:${PATH}')},
- workdir='.'))
+ env={'PATH': WithProperties('%(use_path)s:${PATH}')},
+ ))
+ # pull test-suite
+ f = pullllvm(f)
+ f = pullClang(f)
+ f = pulltest_suite(f)
+ # must build llvm utils, so configure llvm and build
+ # TODO: build less of llvm
+ f.addStep(buildbot.steps.shell.ShellCommand(
+ name='configure_with_host',
+ command=[
+ '../llvm/configure', '--enable-optimized', '--disable-bindings',
+ '--with-llvmcc=clang', '--without-llvmgcc', '--without-llvmgxx',
+ WithProperties('CC=%(use_path)s/clang'),
+ WithProperties('CXX=%(use_path)s/clang++'),
+ ],
+ haltOnFailure=True,
+ description=['configure'],
+ env={'PATH': WithProperties('%(use_path)s:${PATH}')},
+ workdir='llvm.obj'))
+ f.addStep(buildbot.steps.shell.ShellCommand(
+ name='make',
+ command=['make', 'tools-only', '-j', WithProperties('%(jobs)s'),
+ ],
+ env={'PATH': WithProperties('%(use_path)s:${PATH}')},
+ haltOnFailure=True,
+ description=['make'],
+ workdir='llvm.obj'))
# run tests
f.addStep(buildbot.steps.shell.ShellCommand(
name='configure_tests',
command=['./configure',
- WithProperties('CC=%(use_path)s/bin/clang'),
- WithProperties('CXX=%(use_path)s/bin/clang++'),
+ WithProperties('CC=%(use_path)s/clang'),
+ WithProperties('CXX=%(use_path)s/clang++'),
'CFLAGS='+options,
'CXXFLAGS='+options,
- # WithProperties('--with-llvmsrc=%(builddir)s/llvm'),
- # WithProperties('--with-llvmobj=%(builddir)s/'+compiler_dir),
- #options
+ WithProperties('--with-llvmsrc=%(builddir)s/llvm'),
+ WithProperties('--with-llvmobj=%(builddir)s/llvm.obj'),
],
haltOnFailure=True,
description=['configure tests'],
- env={'PATH': WithProperties('%(use_path)s/bin:${PATH}')},
+ env={'PATH': WithProperties('%(use_path)s:${PATH}')},
+ workdir='test-suite'))
+ f.addStep(buildbot.steps.shell.ShellCommand(
+ name='run_nightly_tests',
+ command=['make', WithProperties('-j%(jobs)s'), 'ENABLE_PARALLEL_REPORT=1',
+ 'DISABLE_CBE=1', 'DISABLE_JIT=1', 'TEST=nightly', 'report'
+ ],
+ env={'PATH': WithProperties('%(use_path)s:${PATH}')},
+ haltOnFailure=True,
+ description=['run tests'],
workdir='test-suite'))
-# f.addStep(buildbot.steps.shell.ShellCommand(
-# name='run_nightly_tests',
-# command=['make', WithProperties('-j%(jobs)s'), 'ENABLE_PARALLEL_REPORT=1',
-# 'DISABLE_CBE=1', 'DISABLE_JIT=1', 'TEST=nightly', 'report'
-# ],
-# haltOnFailure=True,
-# env={'PATH': WithProperties('%(use_path)s/bin:${PATH}')},
-# description=['run tests'],
-# workdir='test-suite'))
return f
-def Nightly(compiler, compiler_type, compiler_dir, slaves, options=''):
+def Nightly(compiler, slaves, options=''):
return { 'name' : 'nightly_'+ compiler + options,
'builddir' : 'build.nightly.'+ compiler + options,
- 'factory' : NightlyFactory(compiler, compiler_dir, options),
+ 'factory' : NightlyFactory(compiler, options),
'slavenames' : slaves,
'category' : 'tests',
- 'properties' : {'use_builder': compiler, 'use_type': compiler_type,
- 'use_compiler': compiler_dir
- }}
+ 'properties' : {'use_builder': compiler }}
def stage1Clang(compiler, compiler_type, slave):
return { 'name' : compiler,
@@ -328,8 +369,8 @@
f = buildbot.process.factory.BuildFactory()
# Determine the build directory.
f = getBuildDir(f)
- f = setProperty(f, 'compiler_built', 'stage3')
- f = setProperty(f, 'use_path', WithProperties('%(builddir)s/%(use_compiler)s/%(use_type)s'))
+ f = setProperty(f, 'compiler_built', 'clang-build')
+ f = setProperty(f, 'use_path', WithProperties('%(builddir)s/clang-install/usr/local/bin'))
# clean out the directory/archives used for the stage 2 compiler
# clean out the directory used to build compiler
f = cleanCompilerDir(f)
@@ -344,12 +385,13 @@
command=[
'../llvm/configure', '--enable-optimized', '--disable-bindings',
'--with-llvmcc=clang', '--without-llvmgcc', '--without-llvmgxx',
- WithProperties('CC=%(use_path)s/bin/clang'),
- WithProperties('CXX=%(use_path)s/bin/clang++'),
- config_options],
+ config_options,
+ WithProperties('CC=%(use_path)s/clang'),
+ WithProperties('CXX=%(use_path)s/clang++'),
+ ],
haltOnFailure=True,
description=['configure'],
- env={'PATH': WithProperties('%(use_path)s/bin:${PATH}')},
+ env={'PATH': WithProperties('%(use_path)s:${PATH}')},
workdir=WithProperties('%(compiler_built)s')))
# build stage 2 compiler
f.addStep(buildbot.steps.shell.ShellCommand(
@@ -357,7 +399,15 @@
command=['make', '-j', WithProperties('%(jobs)s')],
haltOnFailure=True,
description=['make'],
- env={'PATH': WithProperties('%(use_path)s/bin:${PATH}')},
+ env={'PATH': WithProperties('%(use_path)s:${PATH}')},
+ workdir=WithProperties('%(compiler_built)s')))
+ f.addStep(buildbot.steps.shell.ShellCommand(
+ name='make install',
+ command=['make', '-j', WithProperties('%(jobs)s'), 'install-clang',
+ WithProperties('DESTDIR=%(builddir)s/clang-install')],
+ env={'PATH': WithProperties('%(use_path)s:${PATH}')},
+ haltOnFailure=True,
+ description=['make install'],
workdir=WithProperties('%(compiler_built)s')))
# save artifacts of thids build for use by other builders
f = uploadArtifacts(f)
@@ -369,44 +419,40 @@
))
return f
-def stage3Clang(use_compiler, use_type, slaves, config_options=''):
+def stage3Clang(use_compiler, slaves, config_options=''):
return { 'name' : use_compiler + '-stage3',
'builddir' : 'build.'+ use_compiler + '-stage3',
'factory' : HostStage3Clang(config_options),
'slavenames' : slaves,
'category' : 'clang',
- 'properties' : {'compiler_type': use_type, 'use_builder': use_compiler,
- 'use_type': use_type, 'use_compiler': 'stage2'
+ 'properties' : { 'use_builder': use_compiler,
}}
-def gccTestSuite(use_compiler, use_type, slaves, config_options=''):
+def gccTestSuite(use_compiler, slaves, config_options=''):
return { 'name' : 'gccTestSuite-'+ use_compiler,
'builddir' : 'build.'+ 'gccTestSuite-'+ use_compiler,
'factory' : gccRunSuite(config_options),
'slavenames' : slaves,
'category' : 'clang',
- 'properties' : {'compiler_type': use_type, 'use_builder': use_compiler,
- 'use_type': use_type, 'use_compiler': 'stage2'
+ 'properties' : { 'use_builder': use_compiler,
}}
-def libcxx(use_compiler, use_type, slaves, config_options=''):
+def libcxx(use_compiler, slaves, config_options=''):
return { 'name' : 'libcxx-'+ use_compiler,
'builddir' : 'build.'+ 'libcxx-'+ use_compiler,
'factory' : runlibcxx(config_options),
'slavenames' : slaves,
'category' : 'clang',
- 'properties' : {'compiler_type': use_type, 'use_builder': use_compiler,
- 'use_type': use_type, 'use_compiler': 'stage2'
+ 'properties' : { 'use_builder': use_compiler,
}}
-def boost(tag, use_compiler, use_type, slaves, config_options=''):
+def boost(tag, use_compiler, slaves, config_options=''):
return { 'name' : 'boost-' + tag + '-' + use_compiler,
'builddir' : 'build.'+ 'boost-' + tag + '-' + use_compiler,
'factory' : runboost(config_options),
'slavenames' : slaves,
'category' : 'clang',
- 'properties' : {'compiler_type': use_type, 'use_builder': use_compiler,
- 'use_type': use_type, 'use_compiler': 'stage2',
+ 'properties' : {'use_builder': use_compiler,
'boost_tag': tag
}}
@@ -414,7 +460,7 @@
f = buildbot.process.factory.BuildFactory()
# Determine the build directory.
getBuildDir(f)
- setProperty(f, 'use_path', WithProperties('%(builddir)s/%(use_compiler)s/%(use_type)s'))
+ setProperty(f, 'use_path', WithProperties('%(builddir)s/clang-install/usr/local/bin'))
cleanCompilerDir(f)
# pull test-suite
pullclang_tests(f)
@@ -424,11 +470,11 @@
# f.addStep(buildbot.steps.shell.ShellCommand(
# name='make_check',
# command=['make', 'check',
-# WithProperties('CC_UNDER_TEST=%(use_path)s/bin/clang'),
-# WithProperties('CXX_UNDER_TEST=%(use_path)s/bin/clang++'),],
+# WithProperties('CC_UNDER_TEST=%(use_path)s/clang'),
+# WithProperties('CXX_UNDER_TEST=%(use_path)s/clang++'),],
# haltOnFailure=True,
# description=['make check'],
-# env={'PATH': WithProperties('/usr/local/bin/:%(use_path)s/bin:${PATH}')},
+# env={'PATH': WithProperties('/usr/local/bin/:%(use_path)s:${PATH}')},
# workdir='test-suite/gcc-4_2-testsuite'))
return f
@@ -436,7 +482,7 @@
f = buildbot.process.factory.BuildFactory()
# Determine the build directory.
getBuildDir(f)
- setProperty(f, 'use_path', WithProperties('%(builddir)s/%(use_compiler)s/%(use_type)s'))
+ setProperty(f, 'use_path', WithProperties('%(builddir)s/clang-install/usr/local/bin'))
cleanCompilerDir(f)
# pull test-suite
pulllibcxx(f)
@@ -448,14 +494,14 @@
# command=['./buildit',],
# haltOnFailure=True,
# description=['build libc++'],
-# env={'PATH': WithProperties('%(use_path)s/bin:${PATH}')},
+# env={'PATH': WithProperties('%(use_path)s:${PATH}')},
# workdir='libcxx/lib'))
# f.addStep(buildbot.steps.shell.ShellCommand(
# name='testit',
# command=['testit',],
# haltOnFailure=True,
# description=['test libc++'],
-# env={'PATH': WithProperties('%(use_path)s/bin:${PATH}')},
+# env={'PATH': WithProperties('%(use_path)s:${PATH}')},
# workdir='libcxx/test'))
return f
@@ -463,7 +509,7 @@
f = buildbot.process.factory.BuildFactory()
# Determine the build directory.
getBuildDir(f)
- setProperty(f, 'use_path', WithProperties('%(builddir)s/%(use_compiler)s/%(use_type)s'))
+ f = setProperty(f, 'use_path', WithProperties('%(builddir)s/clang-install/usr/local/bin'))
cleanCompilerDir(f)
# pull test-suite
pullboostrunner(f)
@@ -476,11 +522,10 @@
f.addStep(buildbot.steps.shell.ShellCommand(
name='user-config.jam',
command=['echo', 'using', 'clang', ':', 'darwin-4.2.1', ':',
- WithProperties('%(use_path)s/bin/clang'), ':', config_options,
+ WithProperties('%(use_path)s/clang'), ':', config_options,
';', '>', 'user-config.jam'],
haltOnFailure=True,
description=['create user-config.jam'],
- workdir='.',
))
#--bjam-options=target-os=windows --bjam-options=-l300 --bjam-options=--debug-level=3 --bjam-options=--user-config=%MYJAMFILE% --have-source --skip-script-download --ftp=ftp://boost:4peiV8Xwxfv9@ftp.siliconman.net >runner.log
f.addStep(buildbot.steps.shell.ShellCommand(
@@ -492,7 +537,6 @@
WithProperties('--bjam-options=-j%(jobs)s'),'--user=""',],
haltOnFailure=True,
description=['boost regression harness'],
- workdir='.',
timeout=14400
))
return f
@@ -506,7 +550,9 @@
phase1_slave = 'llvmlab.local'
snow_leopard_slaves = all_slaves
phaseRunners = [phase1_slave]
- phase2_slaves = filter(lambda x:x not in [phase1_slave], snow_leopard_slaves)
+ reserved_phase3 = 'lab-mini-04.local'
+ phase2_slaves = filter(lambda x:x not in [phase1_slave, reserved_phase3], snow_leopard_slaves)
+ phase3_slaves = phase2_slaves + [reserved_phase3]
return [
#Build to announce good build and prepare potential release candidate
{ 'name' : 'Validated Build',
@@ -522,24 +568,28 @@
# phase 1 build
stage1Clang(phase1, typeRA, phase1_slave),
#phase 2 Builds
- HostedClang ('clang-x86_64-osx10-DA', typeDA, phase1, typeRA, [phase1_slave]),
- HostedClang (final_reference, typeRA, phase1, typeRA, phase2_slaves, '--enable-optimized'),
- Nightly(phase1, typeRA, 'stage1', phase2_slaves),
+ HostedClang ('clang-x86_64-osx10-DA', typeDA, phase1, phase2_slaves),
+ HostedClang (final_reference, typeRA, phase1, phase2_slaves, '--enable-optimized'),
+ Nightly(phase1, phase2_slaves),
#phase3 builds
- Nightly('clang-x86_64-osx10-DA', typeDA, 'stage2', phase2_slaves),
- Nightly(final_reference, typeRA, 'stage2', phase2_slaves),
- Nightly(final_reference, typeRA, 'stage2', phase2_slaves, '-O0'),
- Nightly(final_reference, typeRA, 'stage2', phase2_slaves, '-Os'),
- Nightly(final_reference, typeRA, 'stage2', phase2_slaves, '-O3'),
- Nightly(final_reference, typeRA, 'stage2', phase2_slaves, '-flto'),
- Nightly(final_reference, typeRA, 'stage2', phase2_slaves, '-g'),
+ HostedClang ('clang-i386-osx10-RA', typeRA, phase1, phase3_slaves, '--enable-optimized', '--target=i386'),
+ Nightly('clang-x86_64-osx10-DA', phase3_slaves),
+ Nightly(final_reference, phase3_slaves),
+ Nightly(final_reference, phase3_slaves, '-O0'),
+ Nightly(final_reference, phase3_slaves, '-Os'),
+ Nightly(final_reference, phase3_slaves, '-O3'),
+ Nightly(final_reference, phase3_slaves, '-flto'),
+ Nightly(final_reference, phase3_slaves, '-g'),
#phase4 builds
- stage3Clang(final_reference, typeRA, phase2_slaves),
- gccTestSuite(final_reference, typeRA, phase2_slaves),
- Nightly(final_reference+ '-stage3', typeRA, 'stage3', all_slaves, '-g'),
- libcxx(final_reference, typeRA, phase2_slaves),
- boost('trunk', final_reference, typeRA, phase2_slaves),
+ Nightly('clang-i386-osx10-RA', phase3_slaves),
+ stage3Clang(final_reference, phase3_slaves),
+ gccTestSuite(final_reference, phase3_slaves),
+ Nightly(final_reference+ '-stage3', phase3_slaves, '-g'),
+ libcxx(final_reference, phase3_slaves),
+ boost('trunk', final_reference, phase3_slaves),
+# boost('branches/release', final_reference, phase2_slaves),
+# boost('tags/release/Boost_1_44_0', final_reference, phase2_slaves),
#A Placeholder builder is required for triggers which haven't had builders
#configured yet, otherwise build will hang
# { 'name' : 'Placeholder',
@@ -548,3 +598,33 @@
# 'category' : 'clang',
# },
]
+
+def prioritizeBuilders(buildmaster, builders):
+ builderPriorities = {
+ 'phase1 - sanity':0,
+ 'clang-x86_64-osx10-gcc42-RA':0,
+ 'phase2 - living':1,
+ 'nightly_clang-x86_64-osx10-gcc42-RA':1,
+ 'clang-x86_64-osx10-RA':1,
+ 'clang-x86_64-osx10-DA':1,
+ 'phase3 - tree health':2,
+ 'clang-i386-osx10-RA':2,
+ 'nightly_clang-x86_64-osx10-DA':3,
+ 'nightly_clang-x86_64-osx10-RA':3,
+ 'nightly_clang-x86_64-osx10-RA-O0':3,
+ 'nightly_clang-x86_64-osx10-RA-Os':3,
+ 'nightly_clang-x86_64-osx10-RA-O3':3,
+ 'nightly_clang-x86_64-osx10-RA-flto':3,
+ 'nightly_clang-x86_64-osx10-RA-g':3,
+ 'phase4 - validation':4,
+ 'nightly_clang-i386-osx10-RA':5,
+ 'clang-x86_64-osx10-RA-stage3':4,
+ 'gccTestSuite-clang-x86_64-osx10-RA':4,
+ 'nightly_clang-x86_64-osx10-RA-stage3-g':5,
+ 'libcxx-clang-x86_64-osx10-RA':4,
+ 'boost-trunk-clang-x86_64-osx10-RA':6,
+ 'Validated Build':7,
+ }
+ builders.sort(key=lambda b: builderPriorities.get(b.name, 0))
+ return builders
+
Modified: zorg/trunk/buildbot/llvmlab/master/master.cfg
URL: http://llvm.org/viewvc/llvm-project/zorg/trunk/buildbot/llvmlab/master/master.cfg?rev=124742&r1=124741&r2=124742&view=diff
==============================================================================
--- zorg/trunk/buildbot/llvmlab/master/master.cfg (original)
+++ zorg/trunk/buildbot/llvmlab/master/master.cfg Wed Feb 2 13:39:45 2011
@@ -105,3 +105,4 @@
c['projectURL'] = "http://lab.llvm.org/"
c['buildbotURL'] = "http://lab.llvm.org:8013/"
+#c['prioritizeBuilders'] = config.builders.prioritizeBuilders
\ No newline at end of file
More information about the llvm-commits
mailing list