diff options
author | Marcello Stanisci <marcello.stanisci@inria.fr> | 2017-02-17 15:36:21 +0100 |
---|---|---|
committer | Marcello Stanisci <marcello.stanisci@inria.fr> | 2017-02-17 15:36:21 +0100 |
commit | 1335c163026a7aea4e50f2782044dccbf720250c (patch) | |
tree | f11058915d62d8cb1203e97a7dfa4545e3d89b6f /buildbot/master.cfg | |
parent | eeb9ecf7c2eaaeff8024c1a44878f7d8653f1d48 (diff) | |
download | deployment-1335c163026a7aea4e50f2782044dccbf720250c.tar.gz deployment-1335c163026a7aea4e50f2782044dccbf720250c.tar.bz2 deployment-1335c163026a7aea4e50f2782044dccbf720250c.zip |
Refactoring buildbot
Diffstat (limited to 'buildbot/master.cfg')
-rw-r--r-- | buildbot/master.cfg | 79 |
1 files changed, 66 insertions, 13 deletions
diff --git a/buildbot/master.cfg b/buildbot/master.cfg index cc30d66..54213be 100644 --- a/buildbot/master.cfg +++ b/buildbot/master.cfg @@ -15,7 +15,8 @@ c = BuildmasterConfig = {} # 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("example-worker", "pass")] +c['workers'] = [worker.Worker("lcov-worker", "lcov-pass"), + worker.Worker("selenium-worker", "selenium-pass")] # 'protocols' contains information about protocols which master will use for # communicating with workers. You must define at least 'port' option that workers @@ -31,7 +32,15 @@ c['protocols'] = {'pb': {'port': 9989}} c['change_source'] = [] c['change_source'].append(changes.GitPoller( - 'git://github.com/buildbot/pyflakes.git', + 'git://taler.net/wallet-webex', + workdir='gitpoller-workdir', branch='master', + pollinterval=300)) +c['change_source'].append(changes.GitPoller( + 'git://taler.net/merchant', + workdir='gitpoller-workdir', branch='master', + pollinterval=300)) +c['change_source'].append(changes.GitPoller( + 'git://taler.net/exchange', workdir='gitpoller-workdir', branch='master', pollinterval=300)) @@ -45,10 +54,10 @@ c['schedulers'].append(schedulers.SingleBranchScheduler( name="all", change_filter=util.ChangeFilter(branch='master'), treeStableTimer=None, - builderNames=["runtests"])) + builderNames=["lcov-builder", "selenium-builder"])) c['schedulers'].append(schedulers.ForceScheduler( name="force", - builderNames=["runtests"])) + builderNames=["lcov-builder", "selenium-builder"])) ####### BUILDERS @@ -56,17 +65,47 @@ c['schedulers'].append(schedulers.ForceScheduler( # 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.Git(repourl='git://github.com/buildbot/pyflakes.git', mode='incremental')) -# run the tests (note that this will require that 'trial' is installed) -factory.addStep(steps.ShellCommand(command=["trial", "pyflakes"])) - +# FIXME: the bad side of these builders is that they expect the worker's environment +# to be _already_ set up (codedbases, scripts, etc). In other words, it's not "self-contained". + +lcov_factory = util.BuildFactory() + +lcov_factory.addStep(Git(repourl='git://git.taler.net/deployment.git', + mode='full', + method='fresh', + alwaysUseLatest=True, + haltOnFailure=True, + branch='master')) +lcov_factory.addStep(ShellCommand(name="invalidation", + description="Invalidating timestamps", + descriptionDone="timestamps invalidated", + command=["./invalidate.sh"], + workdir="build/taler-build")) +lcov_factory.addStep(ShellCommand(name="builder", + description="Compiling..", + descriptionDone="lcov files generated", + command=["make", "lcov"], + workdir="build/taler-build", + env={'PATH': "${HOME}/local/bin:${PATH}", + 'TALER_CHECKDB': "postgresql:///talercheck?host=/home/${USER}/sockets"})) + +selenium_factory = util.BuildFactory() +selenium_factory.addStep(ShellCommand(name="selenium", + description="Headless browser test", + descriptionDone="Test finished", + command=["launch_selenium_test"], + env={'PATH': "${HOME}/local/bin:${PATH}"})) c['builders'] = [] + +c['builders'].append( + util.BuilderConfig(name="lcov-builder", + workernames=["lcov-worker"], + factory=lcov_factory)) + c['builders'].append( - util.BuilderConfig(name="runtests", - workernames=["example-worker"], - factory=factory)) + util.BuilderConfig(name="selenium-builder", + workernames=["selenium-worker"], + factory=selenium_factory)) ####### BUILDBOT SERVICES @@ -76,6 +115,20 @@ c['builders'].append( 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, +}) +c['services'].append(irc) + ####### PROJECT IDENTITY # the 'title' string will appear at the top of this buildbot installation's |