QuasarAppCI/BuildBotLib/buildBotIdentity.py

61 lines
2.4 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
from BuildBotLib.secretManager import SecretManager
from buildbot.plugins import util
2020-12-22 14:38:35 +03:00
from pathlib import Path
2019-07-22 10:20:59 +03:00
2019-12-26 13:48:06 +03:00
# PROJECT IDENTITY
2019-07-22 10:20:59 +03:00
# the 'title' string will appear at the top of this buildbot installation's
# home pages (linked to the 'titleURL').
2019-12-26 13:48:06 +03:00
class BuildBotIdentity(BuildBotModule):
2020-06-19 11:09:23 +03:00
def __init__(self, masterConf):
BuildBotModule.__init__(self, masterConf)
2020-04-15 10:18:14 +03:00
2019-07-22 10:20:59 +03:00
self.masterConf['title'] = "QuasarApp CI"
2019-12-26 13:48:06 +03:00
cqtdeployer_path = 'https://github.com/QuasarApp/CQtDeployer'
self.masterConf['titleURL'] = cqtdeployer_path
# the 'buildbotURL' string should point to the
# location where the buildbot's
# internal web server is visible.
# This typically uses the port number set in
# the 'www' entry below,
# but with an externally-visible host name which the
2019-07-22 10:20:59 +03:00
# buildbot cannot figure out without some help.
2020-06-10 21:35:53 +03:00
self.masterConf['buildbotURL'] = "https://quasarapp.ddns.net:8043/"
2019-07-22 10:20:59 +03:00
# minimalistic config to activate new web UI
self.masterConf['www'] = dict(port=8010,
2019-12-26 13:48:06 +03:00
plugins=dict(
waterfall_view={},
console_view={},
2020-01-03 12:34:12 +03:00
grid_view={}))
2019-07-22 10:20:59 +03:00
self.masterConf['www']['authz'] = util.Authz(
2019-12-26 13:48:06 +03:00
allowRules=[
2020-12-28 16:27:39 +03:00
util.AnyControlEndpointMatcher(role="admins"),
2020-01-04 13:20:55 +03:00
util.StopBuildEndpointMatcher(builder="*", role="owner"),
util.ForceBuildEndpointMatcher(builder="github*",
role="quasarcore"),
util.RebuildBuildEndpointMatcher(builder="github*",
role="quasarcore")
2019-07-22 10:20:59 +03:00
],
2019-12-26 13:48:06 +03:00
roleMatchers=[
2020-01-03 18:51:31 +03:00
util.RolesFromGroups(groupPrefix='QuasarApp/'),
2021-01-04 11:48:29 +03:00
util.RolesFromEmails(admins=["EndrIIMail@gmail.com"]),
2020-01-04 12:50:07 +03:00
util.RolesFromOwner(role="owner")
2020-01-03 19:10:46 +03:00
2019-07-22 21:36:02 +03:00
]
2019-07-22 10:20:59 +03:00
)
2019-07-22 12:01:57 +03:00
2020-12-28 16:05:51 +03:00
scr = SecretManager(str(Path.home()) + "/buildBotSecret/secret.json")
2019-07-22 16:56:56 +03:00
2020-01-03 18:51:31 +03:00
self.masterConf['www']['auth'] = util.GitHubAuth(
2020-12-28 16:05:51 +03:00
scr.getValue("QuasarAppCIID"),
scr.getValue("QuasarAppCIToken"),
2020-01-03 18:51:31 +03:00
apiVersion=4, getTeamsMembership=True)