# -*- 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=300, 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, git_master] ####### 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="timestamps invalidated", command=["./invalidate.sh"], workdir="build/taler-build")) exchangeTestBuild.addStep(ShellCommand( name="builder", description="Building Taler", descriptionDone="compiled", 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", }