from buildbot.steps.trigger import Trigger
from buildbot.process.factory import BuildFactory
from buildbot.process.properties import Secret
+from buildbot.reporters.generators.build import BuildStatusGenerator
+from buildbot.reporters.generators.worker import WorkerMissingGenerator
+from buildbot.reporters.message import MessageFormatter
+from buildbot.reporters.message import MessageFormatterMissingWorker
from buildbot.schedulers.basic import SingleBranchScheduler
from buildbot.schedulers.forcesched import ForceScheduler
from buildbot.schedulers.triggerable import Triggerable
import re
-c = BuildmasterConfig = {}
-
-####### SECRETS
-
-c['secretsProviders'] = [secrets.SecretInAFile(dirname="/var/lib/buildmaster/secrets")]
-
-####### WORKERS
-
-c['workers'] = [worker.Worker(
- "carbon-worker",
- Secret("worker-carbon.pass"),
- notify_on_missing=["erik@humopery.space","erikmack@gmail.com"],
- missing_timeout=300
-)]
-
-c['protocols'] = {'pb': {
- 'port': "ssl:9989:privateKey=privkey.pem:certKey=fullchain.pem"}}
+c = BuildmasterConfig = {
+ 'buildbotURL': "https://bb.humopery.space/",
+ 'builders': [],
+ 'change_source': [PBChangeSource(
+ port=9444,
+ user="local-post-receive",
+ passwd=Secret("local-post-receive.pass"))],
+ 'db': {
+ # 'db_url' : "sqlite:///state.sqlite"
+ 'db_url' : util.Interpolate("postgresql://buildbot:%(secret:database.pass)s@127.0.0.1/buildbot")
+ },
+ 'protocols': {'pb': {'port': "ssl:9989:privateKey=privkey.pem:certKey=fullchain.pem"}},
+ 'schedulers': [ForceScheduler(
+ name="force",
+ builderNames=["crawl","fcgisrv","ledger","npupnp","libupnpp","upmpdcli","veilid"])],
+ 'secretsProviders': [secrets.SecretInAFile(dirname="/var/lib/buildmaster/secrets")],
+ 'services': [reporters.MailNotifier(
+ fromaddr="Humopery Buildbot <buildbot@humopery.space>",
+ sendToInterestedUsers=False,
+ relayhost="smtp.humopery.space",
+ smtpPort=465,
+ smtpUser="buildbot@humopery.space",
+ smtpPassword=Secret("unix.pass"),
+ useTls=True,
+ useSmtps=True,
+ extraRecipients=["erik@humopery.space","erikmack@gmail.com"],
+ generators=[
+ BuildStatusGenerator(
+ add_patch=True,
+ message_formatter=MessageFormatter(template_type='html')
+ ),
+ WorkerMissingGenerator(
+ workers='all',
+ message_formatter=MessageFormatterMissingWorker(template_type='html')
+ ),
+ ]
+ )],
+ 'title': "Humopery CI",
+ 'titleURL': "https://bb.humopery.space/",
+ 'workers': [worker.Worker(
+ "carbon-worker",
+ Secret("worker-carbon.pass"),
+ notify_on_missing=["erik@humopery.space","erikmack@gmail.com"],
+ missing_timeout=300
+ )],
+ 'www': {
+ 'auth': util.RemoteUserAuth(
+ # override default which requires an email address with @
+ headerRegex="(?P<username>.*)"
+ ),
+ 'authz': util.Authz(
+ allowRules=[
+ # admins can run any control item
+ util.AnyControlEndpointMatcher(role="admins"),
+ ],
+ roleMatchers=[
+ util.RolesFromUsername(roles=["admins"],usernames=["erik"])
+ ],
+ stringsMatcher=util.fnmatchStrMatcher
+ ),
+ 'plugins': dict(waterfall_view={}, console_view={}, grid_view={}),
+ 'port' : 8010,
+ 'ws_ping_interval': 30
+ },
+}
####### CHANGESOURCES
-c['change_source'] = []
-
-c['change_source'].append(PBChangeSource(
- port=9444,
- user="local-post-receive",
- passwd=Secret("local-post-receive.pass")))
c['change_source'].append(GitPoller(
'https://framagit.org/medoc92/npupnp.git',
project='npupnp',
pollAtLaunch=True,
pollInterval=60*60*24))
-####### PROJECTS
-
-# doesn't do anything
-c['projects'] = []
-c['projects'].append(util.Project(
- name='veilid',
- description='The veilid privacy network'
-))
-
####### SCHEDULERS
-c['schedulers'] = []
-c['schedulers'].append(ForceScheduler(
- name="force",
- builderNames=["crawl","fcgisrv","ledger","npupnp","libupnpp","upmpdcli","veilid"]))
c['schedulers'].append(ForceScheduler(
name="force-two",
buttonName="Run",
####### BUILDERS
-c['builders'] = []
-
# ---- upmpdcli tag notifications
factory = BuildFactory()
workernames=["carbon-worker"],
factory=factory))
-####### BUILDBOT SERVICES
-
-from buildbot.reporters.generators.build import BuildStatusGenerator
-from buildbot.reporters.generators.worker import WorkerMissingGenerator
-from buildbot.reporters.message import MessageFormatter
-from buildbot.reporters.message import MessageFormatterMissingWorker
-
-c['services'] = []
-c['services'].append(reporters.MailNotifier(
- fromaddr="Humopery Buildbot <buildbot@humopery.space>",
- sendToInterestedUsers=False,
- relayhost="smtp.humopery.space",
- smtpPort=465,
- smtpUser="buildbot@humopery.space",
- smtpPassword=Secret("unix.pass"),
- useTls=True,
- useSmtps=True,
- extraRecipients=["erik@humopery.space","erikmack@gmail.com"],
- generators=[
- BuildStatusGenerator(
- add_patch=True,
- message_formatter=MessageFormatter(template_type='html')
- ),
- WorkerMissingGenerator(
- workers='all',
- message_formatter=MessageFormatterMissingWorker(template_type='html')
- ),
- ]
-))
-
####### fcgisrv
localrepo='/usr/src/bare/fcgisrv.git'
tags=["hook-test"],
workernames=["carbon-worker"],
factory=factory))
-
-####### PROJECT IDENTITY
-
-c['title'] = "Humopery CI"
-c['titleURL'] = "https://bb.humopery.space/"
-c['buildbotURL'] = "https://bb.humopery.space/"
-
-####### WEB INTERFACE
-
-c['www'] = {
- 'auth': util.RemoteUserAuth(
- # override default which requires an email address with @
- headerRegex="(?P<username>.*)"
- ),
- 'authz': util.Authz(
- allowRules=[
- # admins can run any control item
- util.AnyControlEndpointMatcher(role="admins"),
- ],
- roleMatchers=[
- util.RolesFromUsername(roles=["admins"],usernames=["erik"])
- ],
- stringsMatcher=util.fnmatchStrMatcher
- ),
- 'plugins': dict(waterfall_view={}, console_view={}, grid_view={}),
- 'port' : 8010,
- 'ws_ping_interval': 30
-}
-
-####### DB URL
-
-c['db'] = {
- # 'db_url' : "sqlite:///state.sqlite"
- 'db_url' : util.Interpolate("postgresql://buildbot:%(secret:database.pass)s@127.0.0.1/buildbot")
-}