QuasarAppCI/BuildBotLib/buildBotShedulers.py
2021-04-11 10:31:11 +03:00

72 lines
2.0 KiB
Python

# This Python file uses the following encoding: utf-8
from BuildBotLib.buildBotModule import BuildBotModule
from buildbot.plugins import schedulers
class BuildBotShedulers(BuildBotModule):
codebases = {}
shedulers = []
def __init__(self, masterConf):
BuildBotModule.__init__(self, masterConf)
def addScheduler(self, prop, worker):
shedulerName = 'force-' + worker
self.shedulers.append(
schedulers.ForceScheduler(
name=shedulerName,
properties=prop,
builderNames=[worker]
)
)
def initScheduler(self):
buildersCode = ['LinuxBuilder',
'AndroidBuilder_v7',
'AndroidBuilder_v8',
'WindowsBuilder',
'LinuxCMakeBuilder',
'WindowsCMakeBuilder',
'Wasm32Builder',
]
buildersDeployCode = ['DocsGenerator']
buildersRepo = ['RepoGen']
self.masterConf['schedulers'] = self.shedulers
self.masterConf['schedulers'] += [
schedulers.AnyBranchScheduler(
name='githubTest',
builderNames=buildersCode,
properties={
'clean': True,
'test': True,
'release': False,
'deploy': False
},
treeStableTimer=60
),
schedulers.AnyBranchScheduler(
name='githubDeploy',
builderNames=buildersDeployCode,
properties={
'clean': True,
'test': True,
'release': False,
'deploy': True,
'copyFolder': 'Distro'
},
treeStableTimer=60
),
schedulers.Triggerable(name="repogen",
builderNames=buildersRepo)
]
return self.getMasterConf()