]> Humopery - private/buildbot-default.git/commitdiff
import and indentation tweaks for conciseness
authorErik Mackdanz <erikmack@gmail.com>
Wed, 30 Oct 2024 02:00:41 +0000 (02:00 +0000)
committerErik Mackdanz <erikmack@gmail.com>
Wed, 30 Oct 2024 02:00:41 +0000 (02:00 +0000)
master.cfg

index 79a56d06a912f9af3b99875e753e883bbd456c52..5e59613238d0dee110a1e9fd6a3c84163d704c00 100644 (file)
@@ -1,15 +1,15 @@
 # -*- python -*-
-# ex: set filetype=python:
 
-from buildbot.plugins import *
+from buildbot.plugins import changes, reporters, schedulers, secrets, steps, util, worker
+from buildbot.config.builder import BuilderConfig
+from buildbot.steps.source.git import Git
+from buildbot.steps.shell import ShellCommand
+from buildbot.steps.trigger import Trigger
+from buildbot.process.factory import BuildFactory
+from buildbot.process.properties import Secret
 from twisted.internet import defer
 from buildbot.process import buildstep
 
-# This is a sample buildmaster config file. It must be installed as
-# 'master.cfg' in your buildmaster's base directory.
-
-# This is the dictionary that the buildmaster pays attention to. We also use
-# a shorter alias to save typing.
 c = BuildmasterConfig = {}
 
 ####### SECRETS
@@ -18,29 +18,18 @@ c['secretsProviders'] = [secrets.SecretInAFile(dirname="/var/lib/buildmaster/sec
 
 ####### WORKERS
 
-# The 'workers' list defines the set of recognized workers. Each element is
-# a Worker object, specifying a unique worker name and password.  The same
-# worker name and password must be configured on the worker.
-c['workers'] = [worker.Worker("carbon-worker",
-                              util.Secret("worker-carbon.pass"),
-                              notify_on_missing=["erik@humopery.space","erikmack@gmail.com"],
-                              missing_timeout=300
-                              )]
-
-# 'protocols' contains information about protocols which master will use for
-# communicating with workers. You must define at least 'port' option that workers
-# could connect to your master with this protocol.
-# 'port' must match the value configured into the workers (with their
-# --master option)
-# c['protocols'] = {'pb': {'port': 9989}}
+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"}}
 
 ####### CHANGESOURCES
 
-# the 'change_source' setting tells the buildmaster how it should find out
-# about source code changes.  Here we point to the buildbot version of a python hello-world project.
-
 c['change_source'] = []
 c['change_source'].append(changes.GitPoller(
     'https://framagit.org/medoc92/npupnp.git',
@@ -77,22 +66,19 @@ c['change_source'].append(changes.GitPoller(
 
 ####### PROJECTS
 
+# doesn't do anything
 c['projects'] = []
 c['projects'].append(util.Project(
     name='veilid',
     description='The veilid privacy network'
 ))
 
-
 ####### SCHEDULERS
 
-# Configure the Schedulers, which decide how to react to incoming changes.  In this
-# case, just kick off a 'runtests' build
-
 c['schedulers'] = []
 c['schedulers'].append(schedulers.ForceScheduler(
-                            name="force",
-                            builderNames=["crawl","npupnp","libupnpp","upmpdcli","veilid"]))
+    name="force",
+    builderNames=["crawl","npupnp","libupnpp","upmpdcli","veilid"]))
 c['schedulers'].append(schedulers.ForceScheduler(
     name="force-two",
     buttonName="Run",
@@ -120,64 +106,70 @@ c['schedulers'].append(schedulers.ForceScheduler(
             project=util.FixedParameter(name="project", default=""),
         ),
     ],
-    reason=util.StringParameter(name="reason",
-                                label="reason:",
-                                required=True, size=80),
+    reason=util.StringParameter(
+        name="reason",
+        label="reason:",
+        required=True, size=80),
 
     # in case you don't require authentication, this will display
     # input for user to type their name
-    username=util.UserNameParameter(label="your name:",
-                                    size=80),
+    username=util.UserNameParameter(
+        label="your name:",
+        size=80),
     # A completely customized property list.  The name of the
     # property is the name of the parameter
     properties=[
-        util.NestedParameter(name="options", label="Build Options",
-                             layout="vertical", fields=[
-            util.StringParameter(name="pull_url",
-                                 label="optionally give a public Git pull url:",
-                                 default="", size=80),
-            util.BooleanParameter(name="force_build_clean",
-                                  label="force a make clean",
-                                  default=False)
+        util.NestedParameter(
+            name="options",
+            label="Build Options",
+            layout="vertical", fields=[
+                util.StringParameter(
+                    name="pull_url",
+                    label="optionally give a public Git pull url:",
+                    default="", size=80),
+            util.BooleanParameter(
+                name="force_build_clean",
+                label="force a make clean",
+                default=False)
         ])
     ]
 
 ))
 c['schedulers'].append(schedulers.SingleBranchScheduler(
-                            name="npupnp",
-                            change_filter=util.ChangeFilter(project="npupnp"),
-                            treeStableTimer=None,
-                            builderNames=["npupnp"]))
+    name="npupnp",
+    change_filter=util.ChangeFilter(project="npupnp"),
+    treeStableTimer=None,
+    builderNames=["npupnp"]))
 c['schedulers'].append(schedulers.SingleBranchScheduler(
-                            name="libupnpp",
-                            change_filter=util.ChangeFilter(project="libupnpp"),
-                            treeStableTimer=None,
-                            builderNames=["libupnpp"]))
+    name="libupnpp",
+    change_filter=util.ChangeFilter(project="libupnpp"),
+    treeStableTimer=None,
+    builderNames=["libupnpp"]))
 c['schedulers'].append(schedulers.SingleBranchScheduler(
-                            name="upmpdcli",
-                            change_filter=util.ChangeFilter(project="upmpdcli"),
-                            treeStableTimer=None,
-                            builderNames=["upmpdcli"]))
+    name="upmpdcli",
+    change_filter=util.ChangeFilter(project="upmpdcli"),
+    treeStableTimer=None,
+    builderNames=["upmpdcli"]))
 c['schedulers'].append(schedulers.SingleBranchScheduler(
-                            name="veilid",
-                            change_filter=util.ChangeFilter(project="veilid"),
-                            treeStableTimer=None,
-                            builderNames=["veilid"]))
+    name="veilid",
+    change_filter=util.ChangeFilter(project="veilid"),
+    treeStableTimer=None,
+    builderNames=["veilid"]))
 c['schedulers'].append(schedulers.SingleBranchScheduler(
-                            name="crawl",
-                            change_filter=util.ChangeFilter(project="crawl"),
-                            treeStableTimer=None,
-                            builderNames=["crawl"]))
+    name="crawl",
+    change_filter=util.ChangeFilter(project="crawl"),
+    treeStableTimer=None,
+    builderNames=["crawl"]))
 
 c['schedulers'].append(schedulers.Triggerable(
-                            name="fetch-deps-stage",
-                            builderNames=["fetch-deps-stage"]))
+    name="fetch-deps-stage",
+    builderNames=["fetch-deps-stage"]))
 c['schedulers'].append(schedulers.Triggerable(
-                            name="build-frontend-job",
-                            builderNames=["build-frontend-job"]))
+    name="build-frontend-job",
+    builderNames=["build-frontend-job"]))
 c['schedulers'].append(schedulers.Triggerable(
-                            name="build-backend-job",
-                            builderNames=["build-backend-job"]))
+    name="build-backend-job",
+    builderNames=["build-backend-job"]))
 
 ####### CUSTOM BUILD STEPS
 
@@ -195,165 +187,150 @@ class HLedgerVersion(buildstep.ShellMixin, buildstep.BuildStep):
 
 ####### BUILDERS
 
-# The 'builders' list defines the Builders, which tell Buildbot how to perform a build:
-# what steps, and which workers can execute them.  Note that any particular build will
-# only take place on one worker.
 c['builders'] = []
 
-factory = util.BuildFactory()
-factory.addStep(steps.ShellCommand(command=["echo", "hello"]))
-c['builders'].append(
-    util.BuilderConfig(name="npupnp",
-                       tags=["mpd"],
-                       workernames=["carbon-worker"],
-                       factory=factory))
-
-factory = util.BuildFactory()
-factory.addStep(steps.ShellCommand(command=["echo", "hello"]))
-c['builders'].append(
-    util.BuilderConfig(name="libupnpp",
-                       tags=["mpd"],
-                       workernames=["carbon-worker"],
-                       factory=factory))
-
-factory = util.BuildFactory()
-factory.addStep(steps.ShellCommand(command=["echo", "hello"]))
-c['builders'].append(
-    util.BuilderConfig(name="upmpdcli",
-                       tags=["mpd"],
-                       workernames=["carbon-worker"],
-                       factory=factory))
-
-factory = util.BuildFactory()
-factory.addStep(steps.Git(repourl='https://gitlab.com/veilid/veilid.git'))
-factory.addStep(
-    steps.ShellCommand(name="build veilid-server",
-                       command=["cargo","build","--release"],
-                       workdir="build/veilid-server"))
-factory.addStep(
-    steps.ShellCommand(name="copy veilid-server to lin0",
-                       command=["scp","target/release/veilid-server","lin0:~"]))
-factory.addStep(
-    steps.ShellCommand(name="build veilid-cli",
-                       command=["cargo","build","--release"],
-                       workdir="build/veilid-cli"))
-factory.addStep(
-    steps.ShellCommand(name="copy veilid-cli to lin0",
-                       command=["scp","target/release/veilid-cli","lin0:~"]))
-c['builders'].append(
-    util.BuilderConfig(name="veilid",
-                       tags=["veilid"],
-                       workernames=["carbon-worker"],
-                       factory=factory))
-
-factory = util.BuildFactory()
-factory.addStep(steps.ShellCommand(command=["echo", "hello"]))
-c['builders'].append(
-    util.BuilderConfig(name="crawl",
-                       tags=["crawl"],
-                       workernames=["carbon-worker"],
-                       factory=factory))
-
-factory = util.BuildFactory()
-factory.addStep(steps.Trigger(schedulerNames=["fetch-deps-stage"],
-                              waitForFinish=True,
-                              name="fetch-deps"))
-factory.addStep(steps.Trigger(schedulerNames=["build-frontend-job","build-backend-job"],
-                              waitForFinish=True,
-                              name="build frontend and backend"))
-factory.addStep(steps.ShellCommand(command=["echo", "hello", util.Secret("test.delete")],name="echo something"))
-c['builders'].append(
-    util.BuilderConfig(name="stage-test",
-                       tags=["stage-test","entry"],
-                       workernames=["carbon-worker"],
-                       factory=factory))
-
-factory = util.BuildFactory()
-factory.addStep(steps.ShellCommand(command=["echo", "hello"],name="echo"))
-c['builders'].append(
-    util.BuilderConfig(name="fetch-deps-stage",
-                       tags=["stage-test"],
-                       workernames=["carbon-worker"],
-                       factory=factory))
-
-factory = util.BuildFactory()
+factory = BuildFactory()
+factory.addStep(ShellCommand(command=["echo", "hello"]))
+c['builders'].append(BuilderConfig(
+    name="npupnp",
+    tags=["mpd"],
+    workernames=["carbon-worker"],
+    factory=factory))
+
+factory = BuildFactory()
+factory.addStep(ShellCommand(command=["echo", "hello"]))
+c['builders'].append(BuilderConfig(
+    name="libupnpp",
+    tags=["mpd"],
+    workernames=["carbon-worker"],
+    factory=factory))
+
+factory = BuildFactory()
+factory.addStep(ShellCommand(command=["echo", "hello"]))
+c['builders'].append(BuilderConfig(
+    name="upmpdcli",
+    tags=["mpd"],
+    workernames=["carbon-worker"],
+    factory=factory))
+
+factory = BuildFactory()
+factory.addStep(Git(repourl='https://gitlab.com/veilid/veilid.git'))
+factory.addStep(ShellCommand(
+    name="build veilid-server",
+    command=["cargo","build","--release"],
+    workdir="build/veilid-server"))
+factory.addStep(ShellCommand(
+    name="copy veilid-server to lin0",
+    command=["scp","target/release/veilid-server","lin0:~"]))
+factory.addStep(ShellCommand(
+    name="build veilid-cli",
+    command=["cargo","build","--release"],
+    workdir="build/veilid-cli"))
+factory.addStep(ShellCommand(
+    name="copy veilid-cli to lin0",
+    command=["scp","target/release/veilid-cli","lin0:~"]))
+c['builders'].append(BuilderConfig(
+    name="veilid",
+    tags=["veilid"],
+    workernames=["carbon-worker"],
+    factory=factory))
+
+factory = BuildFactory()
+factory.addStep(ShellCommand(command=["echo", "hello"]))
+c['builders'].append(BuilderConfig(
+    name="crawl",
+    tags=["crawl"],
+    workernames=["carbon-worker"],
+    factory=factory))
+
+factory = BuildFactory()
+factory.addStep(Trigger(
+    schedulerNames=["fetch-deps-stage"],
+    waitForFinish=True,
+    name="fetch-deps"))
+factory.addStep(Trigger(
+    schedulerNames=["build-frontend-job","build-backend-job"],
+    waitForFinish=True,
+    name="build frontend and backend"))
+factory.addStep(ShellCommand(command=["echo", "hello", Secret("test.delete")],name="echo something"))
+c['builders'].append(BuilderConfig(
+    name="stage-test",
+    tags=["stage-test","entry"],
+    workernames=["carbon-worker"],
+    factory=factory))
+
+factory = BuildFactory()
+factory.addStep(ShellCommand(command=["echo", "hello"],name="echo"))
+c['builders'].append(BuilderConfig(
+    name="fetch-deps-stage",
+    tags=["stage-test"],
+    workernames=["carbon-worker"],
+    factory=factory))
+
+factory = BuildFactory()
 factory.addStep(HLedgerVersion(name="hledger version"))
-factory.addStep(steps.ShellCommand(command=["sleep", "12"],name="sleep"))
-factory.addStep(steps.ShellCommand(command=["exit", "1"],name="fail"))
-c['builders'].append(
-    util.BuilderConfig(name="build-frontend-job",
-                       tags=["stage-test"],
-                       workernames=["carbon-worker"],
-                       factory=factory))
-factory = util.BuildFactory()
-factory.addStep(steps.ShellCommand(command=["sleep", "20"],name="sleep"))
-c['builders'].append(
-    util.BuilderConfig(name="build-backend-job",
-                       tags=["stage-test"],
-                       workernames=["carbon-worker"],
-                       factory=factory))
+factory.addStep(ShellCommand(command=["sleep", "12"],name="sleep"))
+factory.addStep(ShellCommand(command=["exit", "1"],name="fail"))
+c['builders'].append(BuilderConfig(
+    name="build-frontend-job",
+    tags=["stage-test"],
+    workernames=["carbon-worker"],
+    factory=factory))
+factory = BuildFactory()
+factory.addStep(ShellCommand(command=["sleep", "20"],name="sleep"))
+c['builders'].append(BuilderConfig(
+    name="build-backend-job",
+    tags=["stage-test"],
+    workernames=["carbon-worker"],
+    factory=factory))
 
 ####### BUILDBOT SERVICES
 
-# 'services' is a list of BuildbotService items like reporter targets. The
-# status of each build will be pushed to these targets. buildbot/reporters/*.py
-# has a variety to choose from, like IRC bots.
-
 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'] = []
-mn = reporters.MailNotifier(fromaddr="Humopery Buildbot <buildbot@humopery.space>",
-                            sendToInterestedUsers=False,
-                            relayhost="smtp.humopery.space",
-                            smtpPort=465,
-                            smtpUser="buildbot@humopery.space",
-                            smtpPassword=util.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')
-                                ),
-                            ]
-                            )
+mn = 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')
+        ),
+    ]
+)
 c['services'].append(mn)
 
-
 ####### PROJECT IDENTITY
 
-# the 'title' string will appear at the top of this buildbot installation's
-# home pages (linked to the 'titleURL').
-
 c['title'] = "Humopery CI"
 c['titleURL'] = "https://bb.humopery.space/"
-
-# 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.
-
 c['buildbotURL'] = "https://bb.humopery.space/"
 
-# minimalistic config to activate new web UI
+####### WEB INTERFACE
+
 # c['www'] = dict(port=8010,
 #                 plugins=dict(waterfall_view={}, console_view={}, grid_view={}))
-c['www'] = dict(port=8010)
+c['www'] = {
+    'port' : 8010
+}
 
 ####### DB URL
 
 c['db'] = {
-    # This specifies what database buildbot uses to store its state.
-    # It's easy to start with sqlite, but it's recommended to switch to a dedicated
-    # database, such as PostgreSQL or MySQL, for use in production environments.
-    # http://docs.buildbot.net/current/manual/configuration/global.html#database-specification
-    'db_url' : "sqlite:///state.sqlite",
+    'db_url' : "sqlite:///state.sqlite"
 }