[Buildbot-commits] [Buildbot] #2317: Multiple issue with Buildmaster

Buildbot nobody at buildbot.net
Tue Jun 12 14:35:14 UTC 2012


#2317: Multiple issue with Buildmaster
----------------------+-----------------------------------
Reporter:  KeiKun     |      Owner:
    Type:  undecided  |     Status:  new
Priority:  major      |  Milestone:  undecided
 Version:  0.8.6p1    |   Keywords:  multiple,branches,svn
----------------------+-----------------------------------
 I have this Multiple issues with Buildbot.. in IRC some gave answer but
 some of their answer doesn't match or output the result that i want..

 My goal is this

 since my slave path is this C:\slave\<Buildslave files>
 then my buildername is Windows-x64-VS10 so.. path will be
 (C:\slave\Windows-x64-VS10).

 1. C:\slave\Windows-x64-VS10 to checkkout my SVN ROOT.
 2. Compile my SVN Branches.(Branch path are < /branches/stable and /trunk
 >)
 3. Since Windows can't Compile multiple branches at a time... Schedule the
 Build with the SVN Repository. if there are changes in both branches(
 '''first thing to build is /trunk then next build will be
 /branches/stable''' ) or ( first to compile is /trunk then next to compile
 is /branches/stable so their waterfall will be in 1 build only( if that
 even exist or not ).

 Okay.. so i made this code (that failed to do the 3 goals i want).
 The problems are this.
 1. Even without defaultBranch, it still checkout the /trunk instead of /
 or '''root'''.
 2. Waterfall or buildbot.domain.com/waterfall, saw the changes in /trunk
 and /branches/stable. But doesn't do anything at all.
 3. My Current Code Compiled the changes i did in /branches/stable '''(
 Clean C:\slave\Windows-x64-VS10 or new checkout as better term)'''. But
 after the changes in /branches/stable i did committed changes in next rev
 in /trunk but didn't do anything at all (due to Problem #2).

 here's my code that i was talking about


 {{{
 from buildbot.changes.svnpoller import SVNPoller, split_file_branches
 source_code_svn_url='http://domain.com/svn/Project_Name/'
 c['change_source'].append(
     SVNPoller(
         svnurl=source_code_svn_url,
         split_file=split_file_branches,
         pollinterval=60,
         histmax=10,
     )
 )

 def modified_files(change):
     for name in change.files:
         if name.endswith(".c"):
             return True
         elif name.endswith(".h"):
             return True
     return False

 from buildbot import scheduler
 from buildbot.changes.filter import ChangeFilter
 s1=scheduler.AnyBranchScheduler(
     name="Project_Test",
     treeStableTimer=2*60,
     change_filter=ChangeFilter(
         branch=[
             'trunk'
             'branches/stable'
         ]
     ),
     builderNames=[
         "Windows-x64-VS10",
     ],
     fileIsImportant=modified_files
 )

 c['schedulers']=[s1]

 from buildbot.process import factory
 from buildbot.steps import source,shell
 from buildbot.config import BuilderConfig
 step_source_svn=source.SVN(
     mode='copy',
     baseURL=source_code_svn_url,
     defaultBranch='trunk',
     retry=(30,2)
 )

 f2=factory.BuildFactory()
 f2.addStep(step_source_svn)
 f2.addStep(
     shell.Compile(
         command=[
             "devenv.com",
             "MakeMe.sln",
             "/build",
             "Release^|Win32"
         ],
         logEnviron=False
     )
 )
 }}}

 Thanks,
 KeiKun

-- 
Ticket URL: <http://trac.buildbot.net/ticket/2317>
Buildbot <http://buildbot.net/>
Buildbot: build/test automation


More information about the Commits mailing list