Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/scripts/buildbot/master.cfg
blob: c3e0b228e51fd3a1307d253f3571bea72ff9a540 (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
# MUST EDIT
#
# * The list of slaves
# * The slavenames of the builder
# * The auth password

c = BuildmasterConfig = {}

# Slaves

from buildbot.buildslave import BuildSlave

c["slaves"] = [BuildSlave("myslave", "password")]
c["slavePortnum"] = 9989

# Change sources

from buildbot.changes.gitpoller import GitPoller

repos = { "sugar": "sugar/mainline.git",
          "sugar-base": "sugar-base/mainline.git",
          "sugar-toolkit": "sugar-toolkit/mainline.git",
          "sugar-datastore": "sugar-datastore/mainline.git",
          "sugar-artwork": "sugar-artwork/mainline.git",
          "sugar-toolkit-gtk3": "sugar-toolkit-gtk3/sugar-toolkit-gtk3.git",
          "web": "web/mainline.git",
          "terminal": "terminal/mainline.git" }

c["change_source"] = []

for name, path in repos.items():
    c["change_source"].append(GitPoller("git://git.sugarlabs.org/%s" % path,
                                        project="sugar",
                                        workdir="gitpoller_work/%s" % name))

# Schedulers

from buildbot.schedulers.basic import SingleBranchScheduler
from buildbot.schedulers.forcesched import ForceScheduler
from buildbot.changes import filter

c["schedulers"] = []

change_filter = filter.ChangeFilter(project="sugar")
c["schedulers"].append(SingleBranchScheduler(name="all",
                                             change_filter=change_filter,
                                             builderNames=["build"]))

c["schedulers"].append(ForceScheduler(name="force",
                                      builderNames=["build"]))


# Builders

from buildbot.process.factory import BuildFactory
from buildbot.steps.source import Git
from buildbot.steps.shell import Compile

factory = BuildFactory()
factory.addStep(Git(repourl="git://github.com/dnarvaez/sugar-build",
                    mode="copy"))
factory.addStep(Compile(command=["make", "build"],
                        env={"SUGAR_BUILDBOT": "yes"}))

from buildbot.config import BuilderConfig

c["builders"] = []
c["builders"].append(BuilderConfig(name="build",
                                   slavenames=["myslave"],
                                   factory=factory))

# Status targets

c["status"] = []

from buildbot.status import html
from buildbot.status.web import authz, auth

authz_cfg = authz.Authz(auth=auth.BasicAuth([("admin","password")]),
                        forceBuild="auth")

c["status"].append(html.WebStatus(http_port=8010, authz=authz_cfg))

# Project identity

c["title"] = "Sugar"
c["titleURL"] = "http://sugarlabs.org"
c["buildbotURL"] = "http://localhost:8010/"

# Sqlite

c["db"] = {"db_url" : "sqlite:///state.sqlite"}