New Ticket     Tickets     Wiki     Browse Source     Timeline     Roadmap     Ticket Reports     Search

Changeset 82987


Ignore:
Timestamp:
08/22/11 23:56:22 (4 years ago)
Author:
jmr@…
Message:

buildmaster: adapt config to allow easily adding more slave platforms

File:
1 edited

Legend:

Unmodified
Added
Removed
  • contrib/buildbot/master.cfg

    r82728 r82987  
    2727        production = configdata['production'] 
    2828        privkey = configdata['privkey'] 
     29 
     30# platforms we are building for 
     31if production: 
     32    # this list should get longer in future 
     33    build_platforms = ["snowleopard-x86_64"] 
     34else: 
     35    build_platforms = ["snowleopard-x86_64"] 
    2936 
    3037####### BUILDSLAVES 
     
    93100basefilter = ChangeFilter(filter_fn=change_has_base) 
    94101 
     102base_buildernames = ["buildports-"+plat for plat in build_platforms] 
     103ports_buildernames = ["buildbase-"+plat for plat in build_platforms] 
     104 
    95105from buildbot.schedulers.basic import SingleBranchScheduler 
    96106c['schedulers'] = [SingleBranchScheduler( 
     
    98108                            treeStableTimer=None, 
    99109                            change_filter = basefilter, 
    100                             builderNames=["buildbase"]), 
     110                            builderNames=base_buildernames), 
    101111                   SingleBranchScheduler( 
    102112                            name="ports", 
    103113                            treeStableTimer=None, 
    104114                            change_filter = portsfilter, 
    105                             builderNames=["buildports"]) 
     115                            builderNames=ports_buildernames) 
    106116                ] 
    107117 
     
    215225from buildbot.config import BuilderConfig 
    216226 
    217 if production: 
    218     slavenames = slavedata.keys()  
    219     baseslaves = filter(lambda x: x.endswith("-base"), slavenames) 
    220     portsslaves = filter(lambda x: x.endswith("-ports"), slavenames) 
     227portsslaves = {} 
     228baseslaves = {} 
     229if production: 
     230    slavenames = slavedata.keys() 
     231    for plat in build_platforms: 
     232        baseslaves[plat] = filter(lambda x: x.endswith(plat+"-base"), slavenames) 
     233        portsslaves[plat] = filter(lambda x: x.endswith(plat+"-ports"), slavenames) 
    221234else: 
    222235    slavenames = ["snowleopard-x86_64"] 
    223     baseslaves = slavenames 
    224     portsslaves = slavenames 
    225  
    226 c['builders']= [ 
    227     BuilderConfig(name="buildbase", 
    228                   slavenames=baseslaves, 
    229                   factory=base_factory), 
    230     BuilderConfig(name="buildports", 
    231                   slavenames=portsslaves, 
    232                   factory=ports_factory) 
    233     ] 
     236    portsslaves = {build_platforms[0]:slavenames[0]} 
     237    baseslaves = {build_platforms[0]:slavenames[0]} 
     238 
     239c['builders']=[] 
     240for plat in build_platforms: 
     241    c['builders']+= [ 
     242        BuilderConfig(name="buildbase-"+plat, 
     243                      slavenames=baseslaves[plat], 
     244                      factory=base_factory), 
     245        BuilderConfig(name="buildports-"+plat, 
     246                      slavenames=portsslaves[plat], 
     247                      factory=ports_factory) 
     248        ] 
    234249 
    235250####### STATUS TARGETS 
Note: See TracChangeset for help on using the changeset viewer.