QuasarAppCI/BuildBotLib/buildBotShedulers.py

72 lines
2.0 KiB
Python
Raw Normal View History

2019-07-22 10:20:59 +03:00
# This Python file uses the following encoding: utf-8
2019-12-26 13:48:06 +03:00
from BuildBotLib.buildBotModule import BuildBotModule
2020-06-19 13:43:02 +03:00
from buildbot.plugins import schedulers
2019-07-22 10:20:59 +03:00
2019-12-26 13:48:06 +03:00
class BuildBotShedulers(BuildBotModule):
2019-07-22 10:20:59 +03:00
codebases = {}
shedulers = []
2019-12-26 13:48:06 +03:00
2020-06-19 11:10:42 +03:00
def __init__(self, masterConf):
BuildBotModule.__init__(self, masterConf)
2019-07-22 10:20:59 +03:00
2019-12-26 13:48:06 +03:00
def addScheduler(self, prop, worker):
2019-07-22 10:20:59 +03:00
2019-12-26 13:48:06 +03:00
shedulerName = 'force-' + worker
2019-07-22 10:20:59 +03:00
self.shedulers.append(
schedulers.ForceScheduler(
2019-12-26 13:48:06 +03:00
name=shedulerName,
properties=prop,
builderNames=[worker]
2019-07-22 10:20:59 +03:00
)
)
2019-07-22 21:21:58 +03:00
def initScheduler(self):
2019-07-22 10:20:59 +03:00
2020-02-03 14:48:36 +03:00
buildersCode = ['LinuxBuilder',
'AndroidBuilder',
'WindowsBuilder',
2020-06-19 13:43:02 +03:00
'LinuxCMakeBuilder',
'AndroidCMakeBuilder',
'WindowsCMakeBuilder',
2020-10-08 21:14:37 +03:00
'Wasm32Builder',
2020-02-03 14:48:36 +03:00
]
buildersDeployCode = ['DocsGenerator']
2020-02-05 15:58:05 +03:00
buildersRepo = ['RepoGen']
2020-04-15 10:04:03 +03:00
self.masterConf['schedulers'] = self.shedulers
2020-02-03 14:48:36 +03:00
2020-04-15 10:04:03 +03:00
self.masterConf['schedulers'] += [
2019-07-22 10:20:59 +03:00
schedulers.AnyBranchScheduler(
2020-10-19 20:22:05 +03:00
name='githubTest',
2020-02-03 14:48:36 +03:00
builderNames=buildersCode,
2019-12-26 13:48:06 +03:00
properties={
2019-07-22 21:21:58 +03:00
'clean': True,
'test': True,
'release': False,
2020-02-03 14:48:36 +03:00
'deploy': False
2019-07-22 21:21:58 +03:00
},
2020-10-08 21:14:37 +03:00
treeStableTimer=60
2019-07-22 21:21:58 +03:00
),
schedulers.AnyBranchScheduler(
2020-10-19 20:22:05 +03:00
name='githubDeploy',
builderNames=buildersDeployCode,
properties={
'clean': True,
'test': True,
'release': False,
2020-10-19 21:24:15 +03:00
'deploy': True,
'copyFolder': 'Distro'
},
treeStableTimer=60
),
2020-02-03 14:48:36 +03:00
schedulers.Triggerable(name="repogen",
builderNames=buildersRepo)
2019-07-22 10:20:59 +03:00
]
2019-12-26 13:48:06 +03:00
return self.getMasterConf()