summaryrefslogtreecommitdiff
path: root/master.cfg
blob: 59df583bbb082121755542594b87430af0e277fb (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
# -*- python -*-
# ex: set syntax=python:

import os

from buildbot.worker import Worker
from buildbot.revlinks import RevlinkMatch, RevlinkMultiplexer
from buildbot.reporters import mail, irc

from passwords import SlavePassword, IRCPassword
from modulesetparser import ChangeSourceList, SchedulerList, BuilderList

# This is the dictionary that the buildmaster pays attention to. We also use
# a shorter alias to save typing.
c = BuildmasterConfig = {}

####### BUILDWORKERS

# The 'workers' list defines the set of recognized buildworkers. Each element is
# a BuildWorker object, specifying a unique worker name and password.  The same
# worker name and password must be configured on the worker.

c['workers'] = [Worker("allegra", SlavePassword("allegra"), max_builds=1)]
c['protocols'] = {'pb': {'port': 9989}}

####### CHANGESOURCES

c['change_source'] = []
c['change_source'].extend(ChangeSourceList())

c['collapseRequests'] = False

####### REVLINKS

c['revlink'] = RevlinkMultiplexer(
                 RevlinkMatch([r'(?:git|https)://gitlab.freedesktop.org/(.*)'],
                              r'https://gitlab.freedesktop.org/\1/commit/%s'),
                 RevlinkMatch([r'(?:git|https)://anongit.freedesktop.org/git/(.*)'],
                              r'https://cgit.freedesktop.org/\1/commit/?id=%s'),
                 RevlinkMatch([r'git://github.com/(.*)'],
                              r'https://github.com/\1/commit/%s'),
                 RevlinkMatch([r'https://cvs.khronos.org/svn/repos/ogl/trunk/doc/registry/public/api/(.*)'],
                              r'https://cvs.khronos.org/svn/repos/ogl/trunk/doc/registry/public/api/\1?p=%s'))

####### SCHEDULERS

# Configure the Schedulers, which decide how to react to incoming changes.

c['schedulers'] = []
c['schedulers'].extend(SchedulerList())

####### BUILDERS

# The 'builders' list defines the Builders, which tell Buildbot how to perform a build:
# what steps, and which slaves can execute them.  Note that any particular build will
# only take place on one slave.

c['builders'] = []
c['builders'].extend(BuilderList(['allegra']))

####### WEB SERVER

# a web server which shows the build status

c['www'] = {
    'port': 8010,
    'plugins': {'console_view': True},
    'allowed_origins': ['http://medusa:8010', 'http://medusa.local:8010', 'http://dronecode.duckdns.org:8010'],
    'change_hook_dialects': {'poller' : True},
}

####### REPORTERS

c['services'] = []

# an irc bot which reports build status

irc = irc.IRC("chat.freenode.org", "medusabot",
                channels=["#cygwin-bots"],
                password=IRCPassword(),
                notify_events={
                       'exception': 1,
                       'successToFailure': 1,
                       'failureToSuccess': 1,
                },
                allowForce=True)

c['services'].append(irc)

# email notification of status change

c['services'].append(mail.MailNotifier(fromaddr='jon.turney@dronecode.org.uk',
                                     sendToInterestedUsers=False,
                                     extraRecipients=['jon.turney@dronecode.org.uk'],
                                     mode='change',
                                     extraHeaders = { 'X-Buildbot' : '1' }))

####### PROJECT IDENTITY

# the 'title' string will appear at the top of this buildbot
# installation's html.WebStatus home page (linked to the
# 'titleURL') and is embedded in the title of the waterfall HTML page.

c['title'] = "Xorg"
c['titleURL'] = "http://www.x.org/"

# the 'buildbotURL' string should point to the location where the buildbot's
# internal web server (usually the html.WebStatus page) is visible. This
# typically uses the port number set in the Waterfall 'status' entry, but
# with an externally-visible host name which the buildbot cannot figure out
# without some help.

c['buildbotURL'] = "http://dronecode.duckdns.org:8010/"

####### 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' : "sqlite:///state.sqlite",
}

###### USAGE REPORTING

c['buildbotNetUsageData'] = 'basic'