mirror of
https://github.com/QuasarApp/QuasarAppCI.git
synced 2025-04-26 05:44:31 +00:00
66 lines
2.4 KiB
Python
66 lines
2.4 KiB
Python
# This Python file uses the following encoding: utf-8
|
|
from BuildBotLib.buildBotModule import BuildBotModule
|
|
from BuildBotLib.secretManager import SecretManager
|
|
from buildbot.plugins import util
|
|
from pathlib import Path
|
|
|
|
|
|
# PROJECT IDENTITY
|
|
|
|
# the 'title' string will appear at the top of this buildbot installation's
|
|
# home pages (linked to the 'titleURL').
|
|
|
|
class BuildBotIdentity(BuildBotModule):
|
|
def __init__(self, masterConf):
|
|
BuildBotModule.__init__(self, masterConf)
|
|
|
|
self.masterConf['title'] = "QuasarApp CI"
|
|
quasarapp_path = 'https://github.com/QuasarApp'
|
|
self.masterConf['titleURL'] = quasarapp_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
|
|
# buildbot cannot figure out without some help.
|
|
|
|
self.masterConf['buildbotURL'] = "https://quasarapp.ddns.net:8043/"
|
|
|
|
# minimalistic config to activate new web UI
|
|
self.masterConf['www'] = dict(port=8010,
|
|
plugins=dict(
|
|
waterfall_view={},
|
|
console_view={},
|
|
grid_view={}
|
|
)
|
|
)
|
|
|
|
scr = SecretManager(str(Path.home()) + "/buildBotSecret/secret.json")
|
|
|
|
self.masterConf['www']['auth'] = util.GitHubAuth(
|
|
scr.getValue("QuasarAppCIID"),
|
|
scr.getValue("QuasarAppCIToken"),
|
|
apiVersion=4, getTeamsMembership=True)
|
|
|
|
self.masterConf['www']['authz'] = util.Authz(
|
|
stringsMatcher=util.fnmatchStrMatcher,
|
|
allowRules=[
|
|
util.AnyEndpointMatcher(role="QuasarApp"),
|
|
|
|
],
|
|
roleMatchers=[
|
|
util.RolesFromGroups(groupPrefix=''),
|
|
util.RolesFromUsername(roles=[
|
|
"admins",
|
|
],
|
|
usernames=[
|
|
"EndrII"
|
|
]),
|
|
|
|
util.RolesFromOwner(role="owner")
|
|
|
|
]
|
|
)
|