aboutsummaryrefslogtreecommitdiff
path: root/buildbot/master.cfg
diff options
context:
space:
mode:
authorFlorian Dold <florian.dold@gmail.com>2017-09-11 17:26:39 +0200
committerFlorian Dold <florian.dold@gmail.com>2017-09-11 17:26:39 +0200
commit219377b5fc068ab9f8228a251e5934331f82ad54 (patch)
tree5044fe17413ce196f54f79ef4e824072464057d9 /buildbot/master.cfg
parentf6d484b7d12076911ff6bfce6ba5f846a403309f (diff)
downloaddeployment-219377b5fc068ab9f8228a251e5934331f82ad54.tar.gz
deployment-219377b5fc068ab9f8228a251e5934331f82ad54.tar.bz2
deployment-219377b5fc068ab9f8228a251e5934331f82ad54.zip
use project regexes and restructure/comment
Diffstat (limited to 'buildbot/master.cfg')
-rw-r--r--buildbot/master.cfg142
1 files changed, 80 insertions, 62 deletions
diff --git a/buildbot/master.cfg b/buildbot/master.cfg
index 688f055..d711e45 100644
--- a/buildbot/master.cfg
+++ b/buildbot/master.cfg
@@ -36,41 +36,74 @@ c['protocols'] = {'pb': {'port': 9989}}
c['change_source'] = []
c['change_source'].append(changes.GitPoller(
'git://taler.net/wallet-webex',
+ project="wallet",
workdir='gitpoller-workdir', branch='master',
pollinterval=300))
c['change_source'].append(changes.GitPoller(
'git://taler.net/merchant',
+ project="merchant",
workdir='gitpoller-workdir', branch='master',
pollinterval=300))
c['change_source'].append(changes.GitPoller(
'git://taler.net/exchange',
+ project="exchange",
+ workdir='gitpoller-workdir', branch='master',
+ pollinterval=300))
+c['change_source'].append(changes.GitPoller(
+ 'git://taler.net/bank',
+ project="bank",
+ workdir='gitpoller-workdir', branch='master',
+ pollinterval=300))
+c['change_source'].append(changes.GitPoller(
+ 'git://taler.net/api',
+ project="api",
+ workdir='gitpoller-workdir', branch='master',
+ pollinterval=300))
+c['change_source'].append(changes.GitPoller(
+ 'git://taler.net/deployment',
+ project="deployment",
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.Periodic(name="periodic",
- builderNames=["doc-builder"],
- periodicBuildTimer=12*60*60))
-c['schedulers'].append(schedulers.SingleBranchScheduler(
- name="all",
- change_filter=util.ChangeFilter(branch='master'),
- treeStableTimer=None,
- builderNames=["lcov-builder",
- "selenium-builder",
- "switcher-builder",
- "wallet-builder"]))
-c['schedulers'].append(schedulers.ForceScheduler(
- name="force",
- builderNames=["lcov-builder",
- "selenium-builder",
- "switcher-builder",
- "doc-builder",
- "wallet-builder"]))
+# Configure the Schedulers, which decide how to react to incoming changes.
+
+# Re-build documentation periodically
+doc_scheduler = schedulers.Periodic(
+ name="periodic-doc-scheduler",
+ builderNames=["doc-builder"],
+ periodicBuildTimer=12*60*60)
+
+wallet_scheduler = schedulers.SingleBranchScheduler(
+ name="wallet-scheduler",
+ change_filter=util.ChangeFilter(branch='master'),
+ treeStableTimer=None,
+ project_re="wallet|deployment",
+ builderNames=["wallet-builder"])
+
+all_scheduler = schedulers.SingleBranchScheduler(
+ name="all",
+ change_filter=util.ChangeFilter(branch='master'),
+ treeStableTimer=None,
+ project_re="wallet|bank|exchange|merchant|deployment",
+ builderNames=[
+ "lcov-builder",
+ "selenium-builder",
+ "switcher-builder",
+ "wallet-builder"])
+
+# Provide "force" button in the web UI
+force_scheduler = schedulers.ForceScheduler(
+ name="force",
+ builderNames=[
+ "lcov-builder",
+ "selenium-builder",
+ "switcher-builder",
+ "doc-builder",
+ "wallet-builder"])
+
+c["schedulers"] = [doc_scheduler, wallet_scheduler, all_scheduler, force_scheduler]
####### BUILDERS
@@ -185,32 +218,32 @@ doc_factory.addStep(ShellCommand(name="build docs",
command=["./update_stage.sh"],
workdir="build/taler-build"))
-c['builders'] = []
+lcov_builder = util.BuilderConfig(
+ name="lcov-builder",
+ workernames=["lcov-worker"],
+ factory=lcov_factory)
-c['builders'].append(
- util.BuilderConfig(name="lcov-builder",
- workernames=["lcov-worker"],
- factory=lcov_factory))
+switcher_builder = util.BuilderConfig(
+ name="switcher-builder",
+ workernames=["switcher-worker"],
+ factory=switcher_factory)
-c['builders'].append(
- util.BuilderConfig(name="switcher-builder",
- workernames=["switcher-worker"],
- factory=switcher_factory))
+selenium_builder = util.BuilderConfig(
+ name="selenium-builder",
+ workernames=["selenium-worker"],
+ factory=selenium_factory)
-c['builders'].append(
- util.BuilderConfig(name="selenium-builder",
- workernames=["selenium-worker"],
- factory=selenium_factory))
+doc_builder = util.BuilderConfig(
+ name="doc-builder",
+ workernames=["doc-worker"],
+ factory=doc_factory)
-c['builders'].append(
- util.BuilderConfig(name="doc-builder",
- workernames=["doc-worker"],
- factory=doc_factory))
+wallet_builder = util.BuilderConfig(
+ name="wallet-builder",
+ workernames=["wallet-worker"],
+ factory=wallet_factory)
-c['builders'].append(
- util.BuilderConfig(name="wallet-builder",
- workernames=["wallet-worker"],
- factory=wallet_factory))
+c["builders"] = [lcov_builder, switcher_builder, doc_builder, wallet_builder]
####### BUILDBOT SERVICES
@@ -218,20 +251,12 @@ c['builders'].append(
# status of each build will be pushed to these targets. buildbot/reporters/*.py
# has a variety to choose from, like IRC bots.
-c['services'] = []
-
-c['services'] = []
-
from buildbot.plugins import reporters
irc = reporters.IRC("irc.eu.freenode.net", "taler-bb",
useColors=False,
channels=[{"channel": "#taler"}],
password="taler-bb-pass19",
- notify_events={
- 'exception': 1,
- 'successToFailure': 1,
- 'failureToSuccess': 1,
-})
+ notify_events={'exception': 1, 'successToFailure': 1, 'failureToSuccess': 1})
email = reporters.MailNotifier(fromaddr="testbuild@taler.net",
sendToInterestedUsers=False,
mode=("problem"),
@@ -241,22 +266,15 @@ email = reporters.MailNotifier(fromaddr="testbuild@taler.net",
"selenium-builder"),
extraRecipients=["buildfailures@taler.net"],
subject="Taler build.")
-c['services'].append(irc)
-c['services'].append(email)
-####### PROJECT IDENTITY
+c["servives"] = [irc, email]
-# the 'title' string will appear at the top of this buildbot installation's
-# home pages (linked to the 'titleURL').
+####### PROJECT IDENTITY
c['title'] = "Taler"
c['titleURL'] = "https://taler.net"
-# 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.
-
+# We use nginx to expose the BB under this URL.
c['buildbotURL'] = "https://buildbot.taler.net/"
# minimalistic config to activate new web UI