vagrant/test/buildbot/buildbot_config/master/schedulers.py

33 lines
1.2 KiB
Python
Raw Normal View History

"""
This module contains the logic which returns the set of
schedulers to use for the build master.
"""
from buildbot.changes.filter import ChangeFilter
from buildbot.schedulers.basic import (
Dependent,
SingleBranchScheduler)
2011-11-20 05:30:51 +00:00
def get_schedulers(builders):
platforms = ["linux", "osx", "win"]
schedulers = []
for platform in platforms:
platform_builders = [b for b in builders if platform in b.name]
# Unit tests for this platform
unit_builders = [b.name for b in platform_builders if "unit" in b.name]
master_unit = SingleBranchScheduler(name="%s-master-unit" % platform,
change_filter=ChangeFilter(branch="master"),
treeStableTimer=60,
builderNames=unit_builders)
acceptance_builders = [b.name for b in platform_builders if "acceptance" in b.name]
master_acceptance = Dependent(name="%s-master-acceptance" % platform,
upstream=master_unit,
builderNames=acceptance_builders)
schedulers.extend([master_unit, master_acceptance])
return schedulers