summaryrefslogtreecommitdiff
path: root/buildbot/master.cfg
blob: d4b813ee6939b2eec28989278aecce9b4615f3ab (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
126
# -*- python -*-
# ex: set syntax=python:

c = BuildmasterConfig = {}
local = "${HOME}/local"

####### BUILDSLAVES

from buildbot.buildslave import BuildSlave
c['slaves'] = [BuildSlave("testSlave", "taler"), BuildSlave("demoSlave", "taler")]

c['protocols'] = {'pb': {'port': 9989}}

####### CHANGESOURCES


from buildbot.changes.gitpoller import GitPoller
c['change_source'] = []
c['change_source'].append(GitPoller(
        'git://git.taler.net/exchange.git',
        workdir='gitpoller-workdir', branches=True,
        pollinterval=300))
c['change_source'].append(GitPoller(
        'git://git.taler.net/merchant.git',
        workdir='gitpoller-workdir', branches=True,
        pollinterval=300))
c['change_source'].append(GitPoller(
        'git://git.taler.net/bank.git',
        workdir='gitpoller-workdir', branches=True,
        pollinterval=300))
c['change_source'].append(GitPoller(
        'git://git.taler.net/deployment.git',
        workdir='gitpoller-workdir', branches=True,
        pollinterval=300))

####### SCHEDULERS

from buildbot.schedulers.basic import SingleBranchScheduler, Dependent
from buildbot.schedulers.forcesched import *
from buildbot.changes import filter

c['schedulers'] = []
# git_master = SingleBranchScheduler(
#     name="exchange-master",
#     reason="Commit pushed for one of the sub-projects",
#     change_filter=filter.ChangeFilter(branch='master'),
#     treeStableTimer=600,
#     builderNames=["exchange-test-build"])

force = ForceScheduler(		
    name="force-build",
    revision=FixedParameter(name="revision", default=""),
    repository=FixedParameter(name="repository", default=""),
    project=FixedParameter(name="project", default=""),
    builderNames=["exchange-test-build"])

c['schedulers'] = [force]

####### BUILDERS

from buildbot.process.factory import BuildFactory
from buildbot.steps.source.git import Git
from buildbot.steps.shell import ShellCommand
from buildbot.steps.shell import Configure
from buildbot.steps.shell import Compile
from buildbot.steps.shell import Test
import os

# Test builder
exchangeTestBuild = BuildFactory()
exchangeTestBuild.addStep(Git(repourl='git://git.taler.net/deployment.git',
                              mode='full',
                              method='fresh',
                              haltOnFailure=True,
                              branch='master'))
exchangeTestBuild.addStep(ShellCommand(
	name="invalidation",
	description="Invalidating timestamps",
	descriptionDone="done",
	command=["./invalidate.sh"], 
        workdir="build/taler-build"))
exchangeTestBuild.addStep(ShellCommand(
	name="builder",
	description="Building Taler",
	descriptionDone="done",
	command=["make"], 
        workdir="build/taler-build"))

from buildbot.config import BuilderConfig

c['builders'] = []
c['builders'].append(
    BuilderConfig(name="exchange-test-build",
                  slavenames=["testSlave"],
                  factory=exchangeTestBuild))

####### STATUS TARGETS

c['status'] = []
from buildbot.status import html
from buildbot.status.web import authz, auth

authz_cfg=authz.Authz(
    # change any of these to True to enable; see the manual for more
    # options
    auth=auth.BasicAuth([("marcello","taler")]),
    gracefulShutdown = False,
    forceBuild = 'auth', # use this to test your slave once it is set up
    forceAllBuilds = False,
    pingBuilder = False,
    stopBuild = False,
    stopAllBuilds = False,
    cancelPendingBuild = False,
)
c['status'].append(html.WebStatus(http_port=8010, authz=authz_cfg))

####### PROJECT IDENTITY
c['title'] = "Taler"
c['titleURL'] = "http://taler.net"

c['buildbotURL'] = "http://buildbot.taler.net"

####### DB URL
c['db'] = {
    'db_url' : "sqlite:///state.sqlite",
}