This is the original and still most popular scheduler class. It follows
exactly one branch, and starts a configurable tree-stable-timer after
each change on that branch. When the timer expires, it starts a build
on some set of Builders. The scheduler accepts a
function which can be used to ignore some Changes if they do not
affect any “important” files.
The arguments to this scheduler are:
If treeStableTimer is
None, then a separate build is started
immediately for each Change.
categories (deprecated; use change_filter)
branch (deprecated; use change_filter)
branchequal to the special value of
Nonemeans it should only pay attention to the default branch. Note that
Noneis a keyword, not a string, so write
from buildbot.schedulers.basic import SingleBranchScheduler quick = SingleBranchScheduler(name="quick", branch=None, treeStableTimer=60, builderNames=["quick-linux", "quick-netbsd"]) full = SingleBranchScheduler(name="full", branch=None, treeStableTimer=5*60, builderNames=["full-linux", "full-netbsd", "full-OSX"]) c['schedulers'] = [quick, full]
In this example, the two “quick” builders are triggered 60 seconds after the tree has been changed. The “full” builds do not run quite so quickly (they wait 5 minutes), so hopefully if the quick builds fail due to a missing file or really simple typo, the developer can discover and fix the problem before the full builds are started. Both Schedulers only pay attention to the default branch: any changes on other branches are ignored by these schedulers. Each scheduler triggers a different set of Builders, referenced by name.
The old names for this scheduler,
buildbot.schedulers.basic.Scheduler, are deprecated in favor of the more