[Buildbot-devel] Build latest change only

"Jens Bräuer" mailists at gmx.net
Mon Dec 14 21:23:04 UTC 2009


Hi everyone,

i am quiet new to buildbot and currently get our project integrated with buildbot. Our projects uses git for version control and cmake. I read the docs and searched the web, but found nothing so far. Would be glad if someone could help me...

What bothers me is, that buildbot seems to build _every_ checkin i do, not just the latest version. In my case, developers are perfectly allowed to check-in code (locally) that does not build or breaks anything, as long as it builds again when the push their code upstream.

So the following would be ok.

[work work work]
git commit <-- breaks stuff (1)
...
git commit <-- fix it again (2)
git push <-- push code in central repo
[work work work]

When using git_buildbot.py as post-receive-hooks i find buildbot building first checkin (1) and then checkin (2) after a "git push". 

Is there any option to disable this behavior? Am i missing something?

Best regards,
Jens 

My master.cfg currently look like
----------------------------------------
c['slaves'] = []

bs1 = BuildSlave("bot1name", "bot1passwd", max_builds=2)
c['slaves'].append(bs1)

c['slavePortnum'] = 9989
c['change_source'] = PBChangeSource()

c['schedulers'] = []

s1 = Scheduler(name="change-scheduler", branch="master",
               treeStableTimer=5, builderNames=["full-builder"])
c['schedulers'].append(s1)

bf1 = factory.BuildFactory()
bf1.addStep(ShellCommand(description = [ "echo-Test" ],
                         command = ["echo", "Hallo Welt!"]))
bf1.addStep(Git(repourl="file:///home/buildslave/git/buildbot.git"))
bf1.addStep(ShellCommand(description = [ "configuring" ], 
                         descriptionDone = [ "configure" ], 
                         workdir = "build/src/projectA", 
                         command = [ "cmake", "." ]))
bf1.addStep(Compile(workdir = "build/src/projectA"))

b1 = { 'name': "full-builder",
       'slavename': "bot1name",
       'builddir': "full",
       'factory': bf1
       }
c['builders'] = [b1]

c['status'] = []

c['status'].append(html.WebStatus(http_port=8010, allowForce=True))
c['status'].append(client.PBListener(9988))
-----------------------------------------------



-- 
GRATIS für alle GMX-Mitglieder: Die maxdome Movie-FLAT!
Jetzt freischalten unter http://portal.gmx.net/de/go/maxdome01




More information about the devel mailing list