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
|
2021-10-24 16:06:24 +03:00
|
|
|
from buildbot.plugins import util
|
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',
|
2021-04-11 10:31:11 +03:00
|
|
|
'AndroidBuilder_v7',
|
|
|
|
'AndroidBuilder_v8',
|
2021-07-19 16:15:35 +03:00
|
|
|
'AndroidBuilder_v8Qt6',
|
2020-02-03 14:48:36 +03:00
|
|
|
'WindowsBuilder',
|
2020-06-19 13:43:02 +03:00
|
|
|
'LinuxCMakeBuilder',
|
2021-07-19 16:15:35 +03:00
|
|
|
'LinuxCMakeBuilderQt6',
|
2020-06-19 13:43:02 +03:00
|
|
|
'WindowsCMakeBuilder',
|
2020-10-08 21:14:37 +03:00
|
|
|
'Wasm32Builder',
|
2022-01-21 17:00:04 +03:00
|
|
|
'IOSCMakeBuilder',
|
2020-02-03 14:48:36 +03:00
|
|
|
]
|
|
|
|
|
2021-10-27 16:43:13 +03:00
|
|
|
prodBuilders = ['AndroidBuilder_v7',
|
|
|
|
'AndroidBuilder_v8',
|
|
|
|
'AndroidBuilder_v8Qt6',
|
|
|
|
'LinuxCMakeBuilder',
|
|
|
|
'LinuxCMakeBuilderQt6',
|
|
|
|
'WindowsCMakeBuilder',
|
2022-01-21 17:00:04 +03:00
|
|
|
'IOSCMakeBuilder'
|
2021-10-27 16:43:13 +03:00
|
|
|
]
|
|
|
|
|
2020-10-19 20:09:51 +03:00
|
|
|
buildersDeployCode = ['DocsGenerator']
|
2021-10-24 16:06:24 +03:00
|
|
|
buildersReleaseCode = ['prodDeployer']
|
|
|
|
|
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,
|
2021-11-01 11:18:14 +03:00
|
|
|
'repogen': False,
|
|
|
|
'prodDeploer': 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
|
|
|
),
|
|
|
|
|
2020-10-19 20:09:51 +03:00
|
|
|
schedulers.AnyBranchScheduler(
|
2020-10-19 20:22:05 +03:00
|
|
|
name='githubDeploy',
|
2020-10-19 20:09:51 +03:00
|
|
|
builderNames=buildersDeployCode,
|
|
|
|
properties={
|
|
|
|
'clean': True,
|
|
|
|
'test': True,
|
|
|
|
'release': False,
|
2021-11-01 11:18:14 +03:00
|
|
|
'repogen': False,
|
|
|
|
'prodDeploer': False,
|
2020-10-19 21:24:15 +03:00
|
|
|
'deploy': True,
|
|
|
|
'copyFolder': 'Distro'
|
2020-10-19 20:09:51 +03:00
|
|
|
},
|
|
|
|
treeStableTimer=60
|
|
|
|
),
|
|
|
|
|
2021-10-27 16:43:13 +03:00
|
|
|
schedulers.SingleBranchScheduler(
|
|
|
|
name='production',
|
|
|
|
change_filter=util.ChangeFilter(branch="prod"),
|
|
|
|
builderNames=prodBuilders,
|
|
|
|
properties={
|
|
|
|
'clean': True,
|
|
|
|
'test': True,
|
|
|
|
'release': False,
|
2021-11-01 11:18:14 +03:00
|
|
|
'repogen': False,
|
|
|
|
'prodDeploer': True,
|
2021-10-27 16:43:13 +03:00
|
|
|
'deploy': True,
|
|
|
|
'copyFolder': 'Distro'
|
|
|
|
},
|
|
|
|
treeStableTimer=70
|
|
|
|
),
|
|
|
|
|
2020-02-03 14:48:36 +03:00
|
|
|
schedulers.Triggerable(name="repogen",
|
2021-10-27 17:47:12 +03:00
|
|
|
builderNames=buildersRepo),
|
|
|
|
|
|
|
|
schedulers.Triggerable(name="releaser",
|
|
|
|
builderNames=buildersReleaseCode)
|
2019-07-22 10:20:59 +03:00
|
|
|
]
|
|
|
|
|
2019-12-26 13:48:06 +03:00
|
|
|
return self.getMasterConf()
|