[Buildbot] #2317: Multiple issue with Buildmaster

Buildbot trac trac at buildbot.net
Sat Aug 2 16:09:35 UTC 2014


#2317: Multiple issue with Buildmaster
----------------------------+--------------------------
Reporter:  KeiKun           |       Owner:
    Type:  support-request  |      Status:  closed
Priority:  major            |   Milestone:  ongoing
 Version:  0.8.6p1          |  Resolution:  no-response
Keywords:  svn              |
----------------------------+--------------------------
Changes (by dustin):

 * status:  new => closed
 * resolution:   => no-response


Old description:

> 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:slaveWindows-x64-VS10).
>
> 1. C:slaveWindows-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:slaveWindows-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

New description:

 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:slaveWindows-x64-VS10).

 1. C:slaveWindows-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:slaveWindows-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#comment:4>
Buildbot <http://buildbot.net/>
Buildbot: build/test automation


More information about the bugs mailing list