Marko Ma
Marko Ma

Reputation: 3

How to trigger a builder in Buildbot after a commit with SVN?

I am using buildbot in a project and I have a setup of a scheduler, that automatically builds the project every time when there is a change, to test whether it compiles fine.

I think buildbot can detect the changes but the scheduler can’t builds while there was a commit went in. Here are the relevant parts of the buildbot configuration:

SVNPOller

    c['change_source'] = []
        svnpoller = changes.SVNPoller(
        repourl="https://url/svn/RD/2_Function/SW/SW_PC/qSmartTool",
        project="qSmartTool",
        pollInterval=60,
        svnbin=r"C:\Program Files\TortoiseSVN\bin\svn.exe",
        split_file=util.svn.split_file_branches)
        c['change_source'].append(svnpoller)

Schedulers

    c['schedulers'] = []
    c['schedulers'].append(schedulers.SingleBranchScheduler(
                            name="all",
                            change_filter=util.ChangeFilter(branch=None),
                            treeStableTimer=2*60,
                            builderNames=["runtests2"]))
     c['schedulers'].append(schedulers.ForceScheduler(
                            name="force",
                            builderNames=["runtests2"]))

Builder

factory = util.BuildFactory()
# check out the source
factory.addStep(steps.SVN(repourl='https://url/svn/RD/2_Function/SW/SW_PC/qSmartTool', 
                mode='incremental',
                haltOnFailure=True))
factory.addStep(steps.ShellCommand(command=["build.bat"],
                                   haltOnFailure=True))

c['builders'] = []
c['builders'].append(
    util.BuilderConfig(name="runtests2",
      workernames=["example-worker"],
      factory=factory))

I can see SVNPoller detect the commit in twistd.log

    2019-03-04 18:33:25+0800 [-] SVNPoller: _process_changes 20002 .. 20002
2019-03-04 18:33:25+0800 [-] SVNPoller: finished polling None
2019-03-04 18:34:25+0800 [-] SVNPoller: polling qSmartTool
2019-03-04 18:34:25+0800 [-] SVNPoller: no changes
2019-03-04 18:34:25+0800 [-] SVNPoller: _process_changes 20002 .. 20002
2019-03-04 18:34:25+0800 [-] SVNPoller: finished polling None
2019-03-04 18:35:25+0800 [-] SVNPoller: polling qSmartTool
2019-03-04 18:35:25+0800 [-] SVNPoller: _process_changes 20002 .. 20003
2019-03-04 18:35:25+0800 [-] Adding change revision 20003  //it knows a new revision
2019-03-04 18:35:25+0800 [-] SVNPoller: finished polling None
2019-03-04 18:36:25+0800 [-] SVNPoller: polling qSmartTool
2019-03-04 18:36:25+0800 [-] SVNPoller: no changes
2019-03-04 18:36:25+0800 [-] SVNPoller: _process_changes 20003 .. 20003
2019-03-04 18:36:25+0800 [-] SVNPoller: finished polling None
2019-03-04 18:37:25+0800 [-] SVNPoller: polling qSmartTool
2019-03-04 18:37:25+0800 [-] SVNPoller: no changes

But it didn't trigger a build. I don't know what am I doing something wrong.

Anyone that has some suggestions about why is this happening ? Is there any other way to get changes from an SVN server? I am a total newbie at BuildBot and I am not really getting too much out of the manual; that looks much more like a scholastic book instead of being a manual that shows you how you do stuff :)

Thanks!!!!!

Upvotes: 0

Views: 393

Answers (1)

Marko Ma
Marko Ma

Reputation: 3

It would build after I deleted a line "split_file=util.svn.split_file_branches" in 'change_source'. There will be a critica log "added change with revision 20564 to database" in twistd.log.

Then it build normally.But I don't know why. I need to get down to this parameter 'split_file'.

Upvotes: 0

Related Questions