[Buildbot-devel] multiple dependent schedulers?

Robert Helmer robert at roberthelmer.com
Sun Aug 5 02:50:37 UTC 2007


Hey,

I'm trying to chain a bunch of steps together for release automation
purposes, using dependent schedulers. It's getting pretty complicated (I've
attached it to the end of this message), so I wonder if I'm missing
something.. basically I have a ton of builders, some of them can run in
parallel and some cannot. I am (ab)using "buildbot sendchange" to be able to
kick off the initial run, and using "branch" to be able to trigger an
arbitrary scheduler.

I have a couple questions:

1) can I make this shorter and/or more readable?
2) sign_depscheduler isn't kicking off, did I misconfigure something here?
build_depscheduler gets kicks off from tag_scheduler fine.

Any general "wtf are you doing it this way, do this instead" comments warmly
welcomed :)


Thanks!
Rob

--
c['schedulers'] = []
tag_scheduler = Scheduler(name="tag", branch=None,
                          treeStableTimer=0, builderNames=["tag"])
build_scheduler = Scheduler(name="build", branch="build",
                            treeStableTimer=0,
                            builderNames=["linux_build", "win32_build",
                                          "macosx_build"])I
sign_scheduler = Scheduler(name="sign", branch="sign",
                           treeStableTimer=0,
                           builderNames=["sign"])
l10nverify_scheduler = Scheduler(name="l10verify", branch="build",
                            treeStableTimer=0,
                            builderNames=["macosx_build"])
update_scheduler = Scheduler(name="update", branch="update",
                             treeStableTimer=0, builderNames=["update"])
stage_scheduler = Scheduler(name="stage", branch="stage",
                            treeStableTimer=0, builderNames=["stage"])

####### DEPENDENT SCHEDULERS
build_depscheduler = Dependent(name="build_dep", upstream=tag_scheduler,
                               builderNames=["source", "linux_build",
                                             "macosx_build", "win32_build"])
sign_depscheduler = Dependent(name="sign_dep", upstream=build_scheduler,
                                builderNames=["sign"])
update_depscheduler = Dependent(name="update_dep", upstream=sign_scheduler,
                                builderNames=["l10nverify", "update"])
stage_depscheduler = Dependent(name="stage_dep", upstream=update_scheduler,
                               builderNames=["linux_update_verify",
                                             "win32_update_verify",
                                             "macosx_update_verify",
                                             "stage"])

c['schedulers'].append(tag_scheduler)
c['schedulers'].append(build_scheduler)
c['schedulers'].append(update_scheduler)
c['schedulers'].append(stage_scheduler)
c['schedulers'].append(build_depscheduler)
c['schedulers'].append(sign_depscheduler)
c['schedulers'].append(update_depscheduler)
c['schedulers'].append(stage_depscheduler)
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://buildbot.net/pipermail/devel/attachments/20070804/e951e65a/attachment.html>


More information about the devel mailing list