[Buildbot-devel] svn branch building

Matisse Enzer matisse at matisse.net
Tue Jan 22 05:29:40 UTC 2008


On Jan 21, 2008, at 6:58 PM, <Terry.Rankine at csiro.au> <Terry.Rankine at csiro.au 
 > wrote:
>
> I want it to build the trunk by default, and the branches only when  
> its told
> to.
> AND
> I only want it to check out the parts it needs (trunk for trunk) and
> ./branches/py2.3-backport for the py2.3-backport branch.


Here is a portion of my    master.cfg    which has four builders: 3  
that build the trunk, and 1 that builds a branch.

Look particularly at the scheduler named   pdd17pmc_code_change


#------------------------------------------------------------
####### CHANGESOURCES

from buildbot.changes.svnpoller import SVNPoller, split_file_branches
svn_base_url='https://svn.perl.org/parrot/'
five_minutes=5*60
ten_minutes=10*60
twenty_minutes=20*60
one_day=24*60*60
svn_branch_poller = SVNPoller(
                                 svnurl=svn_base_url,
                                 split_file=split_file_branches,
                                 pollinterval=twenty_minutes,
                                 histmax=100,
                                 svnbin='/usr/bin/svn',
                               )

c['sources'] = []
c['sources'].append(svn_branch_poller)

####### SCHEDULERS

from buildbot import scheduler
daily = scheduler.Periodic('daily', ['fc6-x86_64-trunk'], one_day)
trunk_code_change = scheduler.Scheduler(name='trunk_code_change',
                                  branch=None,
                                  treeStableTimer=ten_minutes,
                                  builderNames=[
                                        'fc6-x86_64-trunk',
                                        'ubuntu-ppc-trunk',
                                        'darwin-ppc-trunk',
                                   ])
pdd17pmc_code_change = scheduler.Scheduler(name='pdd17pmc_code_change',
                                  branch='branches/pdd17pmc',
                                  treeStableTimer=five_minutes,
                                  builderNames=['fc6-x86_64-pdd17pmc'])
c['schedulers'] = [ daily,trunk_code_change,pdd17pmc_code_change ]


####### FACTORIES & BUILDERS
from buildbot.process import factory
from buildbot.steps import source,shell
# from buildbot.steps.python_twisted import Trial
f1 = factory.BuildFactory()
f1.addStep(source.SVN,
            baseURL=svn_base_url,
            defaultBranch='trunk',
            mode="clobber")
f1.addStep(shell.ShellCommand, command=['perl', 'Configure.pl'])
f1.addStep(shell.ShellCommand, command=['make'])
f1.addStep(shell.ShellCommand, command=['make', 'test'])

builders = []

b1 = {'name': 'fc6-x86_64-trunk',
       'slavename': 'parrot-bot1',
       'builddir': 'build_dir_trunk',
       'factory': f1,
       }
b2 = {'name': 'fc6-x86_64-pdd17pmc',
       'slavename': 'parrot-bot1',
       'builddir': 'build_dir_branch_pdd17pmc',
       'factory': f1,
       }
b3 = {'name': 'ubuntu-ppc-trunk',
       'slavename': 'ubuntu-ppc-trunk',
       'builddir': 'build_dir_ubuntu_ppc_trunk',
       'factory': f1,
       }
b4 = {'name': 'darwin-ppc-trunk',
       'slavename': 'unobe-parrot',
       'builddir': 'build_dir_darwin-ppc-trunk',
       'factory': f1,
       }
c['builders'] = [b1,b2,b3,b4]

#------------------------------------------------------------




More information about the devel mailing list