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

33 lines
1.2 KiB
Python

"""
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)
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