Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # -*- python -*-
- # ex: set filetype=python:
- import os
- from buildbot.plugins import *
- # 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 = {}
- ####### 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("Worker-1", "pass")
- ]
- if "BUILDBOT_MQ_URL" in os.environ:
- c["mq"] = {
- "type": "wamp",
- "router_url": os.environ["BUILDBOT_MQ_URL"],
- "realm": os.environ.get("BUILDBOT_MQ_REALM", "buildbot").decode("utf-8"),
- "debug": "BUILDBOT_MQ_DEBUG" in os.environ,
- "debug_websockets": "BUILDBOT_MQ_DEBUG" in os.environ,
- "debug_lowlevel": "BUILDBOT_MQ_DEBUG" in os.environ,
- }
- # '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": os.environ.get("BUILDBOT_WORKER_PORT", 9989)}}
- ####### CHANGESOURCES
- # the 'change_source' setting tells the buildmaster how it should find out
- # about source code changes. Here we point to the buildbot clone of pyflakes.
- c["change_source"] = []
- # c['change_source'].append(changes.GitPoller(
- # 'git://github.com/buildbot/pyflakes.git',
- # workdir='gitpoller-workdir', branch='master',
- # pollinterval=300))
- ####### 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.SingleBranchScheduler(
- name="all",
- branch='main',
- # change_filter=util.ChangeFilter(
- # category='pull',
- # repository=os.environ['GITHUB_REPO_URL'],
- # ),
- treeStableTimer=None,
- builderNames=["RustBuilder-1"],
- )
- )
- c["schedulers"].append(
- schedulers.ForceScheduler(name="force", builderNames=["RustBuilder-1"])
- )
- ####### 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.
- factory = util.BuildFactory()
- # check out the source
- factory.addStep(steps.GitHub(
- repourl=os.environ["GITHUB_REPO_URL"],
- mode='full',
- method='clobber',
- ))
- # run the tests (note that this will require that 'trial' is installed)
- factory.addStep(steps.ShellCommand(command=["cargo", "test"]))
- c["builders"] = []
- c["builders"].append(
- util.BuilderConfig(name="RustBuilder-1", workernames=["Worker-1"], factory=factory)
- )
- ####### REPORTER TARGETS
- # 'services' is a list of Reporter Targets. The results of each build will be
- # pushed to these targets. buildbot/reporters/*.py has a variety to choose from,
- # like IRC bots.
- context = util.Interpolate("bb/%(prop:buildername)s")
- c["services"] = [
- reporters.GitHubStatusPush(token=os.environ["GITHUB_TOKEN"], context=context)
- ]
- ####### PROJECT IDENTITY
- # the 'title' string will appear at the top of this buildbot installation's
- # home pages (linked to the 'titleURL').
- c["title"] = "Efinity"
- c["titleURL"] = "https://efinity.io"
- # 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"] = os.environ.get("BUILDBOT_WEB_URL", "http://localhost:8010/")
- # minimalistic config to activate new web UI
- c["www"] = dict(
- port=os.environ.get("BUILDBOT_WEB_PORT", 8010),
- plugins=dict(waterfall_view={}, console_view={}),
- change_hook_dialects={
- 'github': {
- 'token': os.environ['GITHUB_TOKEN'],
- 'secret': 'blahblah',
- 'strict': True,
- }
- }
- )
- ####### DB URL
- c["db"] = {
- # This specifies what database buildbot uses to store its state. You can leave
- # this at its default for all but the largest installations.
- "db_url": os.environ.get("BUILDBOT_DB_URL", "sqlite://").format(**os.environ),
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement