[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