Skip to content
This repository has been archived by the owner on May 13, 2020. It is now read-only.

Commit

Permalink
added BB master.cfg
Browse files Browse the repository at this point in the history
  • Loading branch information
Adam Groszer committed Jun 20, 2010
1 parent f2d4b3c commit 7d4c262
Showing 1 changed file with 112 additions and 0 deletions.
112 changes: 112 additions & 0 deletions master.cfg
Original file line number Diff line number Diff line change
@@ -0,0 +1,112 @@
# -*- python -*-
# ex: set syntax=python:

import sys
import os.path
import subprocess
from twisted.python import log

from buildbot import locks

from buildbot.changes.svnpoller import SVNPoller, split_file_branches
from buildbot.steps.source import SVN
from buildbot.steps.shell import Compile
from buildbot.process.factory import BuildFactory

from buildbot.process.base import Build
from buildbot.status import html
from buildbot.scheduler import Scheduler, Nightly, Triggerable
from buildbot.steps.trigger import Trigger

# This is a sample buildmaster config file. It must be installed as
# 'master.cfg' in your buildmaster's base directory (although the filename
# can be changed with the --basedir option to 'mktap buildbot master').

# It has one job: define a dictionary named BuildmasterConfig. This
# dictionary has a variety of keys to control different aspects of the
# buildmaster. They are documented in docs/config.xhtml .


# This is the dictionary that the buildmaster pays attention to. We also use
# a shorter alias to save typing.
c = BuildmasterConfig = {}

####### DB URL

# This specifies what database buildbot uses to store change and scheduler
# state
c['db_url'] = "sqlite:///state.sqlite"

####### BUILDSLAVES

# the 'slaves' list defines the set of allowable buildslaves. Each element is
# a BuildSlave object, which is created with bot-name, bot-password. These
# correspond to values given to the buildslave's mktap invocation.
from buildbot.buildslave import BuildSlave
c['slaves'] = [BuildSlave("local", "localpwd", max_builds=2)]

# to limit to two concurrent builds on a slave, use
# c['slaves'] = [BuildSlave("bot1name", "bot1passwd", max_builds=2)]


######################################
# egg building

def makeEGGfactory():
svn_url = 'svn://svn.zope.org/repos/main/Sandbox/adamg/zope.wineggbuilder/trunk'

f = BuildFactory()
f.addStep(SVN(svnurl=svn_url, mode='clobber'))


f.addStep(Compile(name='bootstrap',
command='python bootstrap.py',
description=['bootstrapping'],
descriptionDone=['bootstrap']))

f.addStep(Compile(name="buildout",
command="bin\\buildout.exe",
description=['buildout'],
descriptionDone=['buildout']))

f.addStep(Compile(name="release eggs",
command="bin\\build.exe -s rackspace.ini",
description=['releasing eggs'],
descriptionDone=['release eggs'],
timeout=12000))

f.treeStableTimer = 300
return f

def setupEggBuild(slow_lock):
c['builders'].append({
'name': 'wineggbuilder',
'slavename': 'local',
'builddir': 'wineggbuilder',
'factory': makeEGGfactory(),
'locks': [slow_lock],
})

c['schedulers'].append(Nightly(
"Nightly egg build", ['wineggbuilder'], hour=[3],
branch="trunk"))

######################################


slow_lock = locks.SlaveLock("cpu", maxCount=2)

c['schedulers'] = []
c['builders'] = []

setupEggBuild(slow_lock)

c['status'] = []
#c['status'].append(html.WebStatus(http_port=8010, allowForce=True))
c['status'].append(html.WebStatus(http_port=8010, allowForce=False))


c['projectName'] = "Zope wineggbuilder and windows buildbot"
c['projectURL'] = "http://www.zope.org/"
c['buildbotURL'] = "http://winbot.zope.org/"
c['slavePortnum'] = "tcp:8989:interface=127.0.0.1"

0 comments on commit 7d4c262

Please sign in to comment.