[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