[Lsb-messages] /var/www/bzr/lsb/devel/buildbot-config r283: Set up SDK builds on devchk slaves, as well as regular ones.

Jeff Licquia licquia at linuxfoundation.org
Fri Sep 21 19:41:05 UTC 2012


------------------------------------------------------------
revno: 283
committer: Jeff Licquia <licquia at linuxfoundation.org>
branch nick: buildbot-config
timestamp: Fri 2012-09-21 15:41:05 -0400
message:
  Set up SDK builds on devchk slaves, as well as regular ones.
modified:
  lsb_master.cfg
-------------- next part --------------
=== modified file 'lsb_master.cfg'
--- a/lsb_master.cfg	2012-09-19 20:40:19 +0000
+++ b/lsb_master.cfg	2012-09-21 19:41:05 +0000
@@ -341,33 +341,36 @@
 # own scheduler.
 
 devchk_builder_list = ["devchk-" + x for x in devchk_build_slaves]
-sch_devchk = scheduler.Scheduler(name="sch-devchk-" + arch,
+sch_devchk = scheduler.Scheduler(name="sch-devchk",
                                  branch="lsb/devel/devchk",
                                  builderNames=devchk_builder_list,
                                  treeStableTimer=stable_timer_seconds)
 
+# SDK scheduler.
+
+sdk_builder_list = ["build-sdk" + x for x in lsb_archs + devchk_build_slaves]
+sch_sdk = scheduler.Scheduler(name="sch-build-sdk",
+                              branch="lsb/devel/build_env",
+                              builderNames=sdk_builder_list,
+                              treeStableTimer=stable_timer_seconds)
+
 # Set up first static set of schedulers.
 
-c['schedulers'] = [sch_jobdir, sch_devchk]
+c['schedulers'] = [sch_jobdir, sch_devchk, sch_sdk]
 
 # The rest of the schedulers (except the weekly one) react to events, 
 # such as a previous build succeeding or a change in version control,
-# and so have to be defined per project and per architecture.  These
-# first schedulers handle updating the SDK after a successful build,
-# as well as the appbat.
+# and so have to be defined per project and per architecture.  First,
+# "strange" builders, such as appbat and libbat:
 
 for arch in lsb_archs:
     if arch not in low_resource_archs:
         sch_appbat = scheduler.Scheduler(
             name="sch-appbat-" + arch, branch="lsb/devel/appbat",
-            builderNames=["appbat-" + arch], 
+            builderNames=["libbat-" + arch, "appbat-" + arch], 
             treeStableTimer=slow_stable_timer_seconds)
-        sch_sdk = scheduler.Scheduler(name="sch-build-sdk-" + arch,
-                                      branch="lsb/devel/build_env",
-                                      builderNames=["build-sdk-" + arch],
-                                      treeStableTimer=stable_timer_seconds)
 
-        c['schedulers'].extend([sch_sdk, sch_appbat])
+        c['schedulers'].append(sch_appbat)
 
 # Package subdir schedulers.
 
@@ -459,7 +462,15 @@
 lsb_builds = []
 indep_added = []
 
-for arch in lsb_archs:
+# First, let's set up the SDK builds.  We do this separately because
+# every build slave (regular and devchk) needs a SDK build job.
+
+for slave_id in lsb_archs + devchk_build_slaves:
+    if slave_id in lsb_archs:
+        slave_prefix = "lfbuild-"
+    else:
+        slave_prefix = "devchk-"
+
     # SDK.  This is unique because it is used to build everything else.  So
     # we have to build it with a known good SDK, install it, and use that
     # to build everything else.  The build is separated into two parts: 
@@ -520,10 +531,11 @@
     build_sdk.addStep(ShellCommand(command=['tar', 'czvf', '../sdk-results.tar.gz',
                                             '../sdk-results'],
                                    name="pack-sdk", workdir="build_env"))
-    build_sdk.addStep(
-        FileUpload(slavesrc="../sdk-results.tar.gz", 
-                   masterdest=WithProperties("lsb-sdk-%%(result_type:-results)s-%s.tar.gz" % arch),
-                   workdir="build_env"))
+    if slave_id in lsb_archs:
+        build_sdk.addStep(
+            FileUpload(slavesrc="../sdk-results.tar.gz", 
+                       masterdest=WithProperties("lsb-sdk-%%(result_type:-results)s-%s.tar.gz" % slave_id),
+                       workdir="build_env"))
 
     # A note on locks: we grab both dependent and non-dependent locks
     # for the SDK.  This is in an attempt to avoid the possibility of
@@ -532,8 +544,9 @@
     # always replaces the SDK.
 
     lsb_builds.append(
-        { 'name': 'build-sdk-' + arch, 'slavenames': ["lfbuild-" + arch],
-          'builddir': 'build-sdk-' + arch, 'factory': build_sdk, 
+        { 'name': 'build-sdk-' + slave_id,
+          'slavenames': [slave_prefix + slave_id],
+          'builddir': 'build-sdk-' + slave_id, 'factory': build_sdk, 
           'category': 'lsb', 
           'locks': [nondep_job_lock.access('counting'), 
                     dep_job_lock.access('counting')] })
@@ -542,12 +555,16 @@
     reset_sdk.addStep(ShellCommand(command=['reset-sdk'], name="reset-sdk",
                                    locks=[pkg_lock]))
     lsb_builds.append(
-        { 'name': 'reset-sdk-' + arch, 'slavenames': ["lfbuild-" + arch],
-          'builddir': 'reset-sdk-' + arch, 'factory': reset_sdk, 
+        { 'name': 'reset-sdk-' + slave_id,
+          'slavenames': [slave_prefix + slave_id],
+          'builddir': 'reset-sdk-' + slave_id, 'factory': reset_sdk, 
           'category': 'lsb',
           'locks': [nondep_job_lock.access('counting'),
                     dep_job_lock.access('counting')] })
 
+# Now set up the builders for the traditional build slaves.
+
+for arch in lsb_archs:
     # "Package subdir" projects.  These have a "package" directory in
     # them; to build their packages, you go to the package directory
     # and type "make".  (Well, more than that; see the custom builder



More information about the lsb-messages mailing list