[Buildbot-devel] How to synchronise parallel builds for correct mail notification

Erik mail654 at gmx.de
Wed Sep 4 06:19:01 UTC 2013


Hi John,

John Carr <johnmdcarr at ...> writes:
> Oops - ignore previous e-mail, I leaned over keyboard and hit send…
> 
> https://github.com/isotoma/buildbot_travis
> 

Thank you for this hint. I had a look, but with my very limited skills in
Python and Buildbot internals I don't really understand what's going on.

I will keep that in mind if I have more time to get into Python and Buildbot
someday, but currently it's difficult.


Thank you again,

Erik


> Has a custom Trigger that launches multiple builds and waits for them to
finish, and then has a custom
> MailNotifier than can generates notifications for the build that does the
trigger.
> 
> In my case it's really complicated because the number of child builds to
start is configurable from a yml
> file in the checkout… But it might be possible with less code.
> 
> (The second part to this is that the parent build (which uses Trigger to
start child builds) only allow one
> build at a time and are set to wait for the child builds - forcing the
notifications to be serialised - this
> sounds like what you are after?).
> 
> Cheers,
> John
> 
> On 2 Sep 2013, at 17:15, Jared Grubb <jared.grubb at ...> wrote:
> 
> > So you want all the builds to run concurrently, but you want to
serialize the mail notifications. I dont
> think this is possible in buildbot right now, since the emails are
generated right after the build
> completes, so there's not an obvious place to synchronize them that I can
think of.
> > 
> > If this is important to you and you'd like to write a patch, we'd be
happy to work with you to help you get
> around the codebase and find a good way to do it. If you are not able to
write the patch, at least file a Trac
> issue and maybe someone will take it up. More volunteers are always
welcome though :) 
> > 
> > Jared
> > 
> > 
> > On Sep 1, 2013, at 23:59, Erik <mail654 at ...> wrote:
> > 
> >> Hi Dustin,
> >> 
> >> Dustin J. Mitchell <dustin <at> v.igoro.us> writes:
> >>> What is the problem, exactly?
> >> 
> >> The problem was described in my original post, here a copy:
> >> 
> >> I'm using buildbot to build several projects (every project/target
> >> combination is one "builder") on some buildslaves.
> >> 
> >> I enabled all builders on all buildslaves to have the best efficiency.
> >> I configured mail notification with mode="problem".
> >> 
> >> Unfortunately some buildslaves are much faster than others, so it can
happen
> >> one build (on a fast slave) is
> >> finished, before previous build (on a slow slave) was finished.
> >> If this unfinished build will not compile (and the next build also), the
> >> commiter of source code changes for
> >> both builds were notified about the problem.
> >> But the second commiter did not cause this compile problem.
> >> 
> >> How can I synchronise the builds, that mail notification for a failed build
> >> only be send if the prev build was finished?
> >> 
> >> Is this possible with Blocker class or Locks?
> >> 
> >> Some example code would be great, because I'm not very good in python
> >> programming.
> >> 
> >> 
> >> 
> >> Thank you,
> >> 
> >> Erik
> >> 
> >> 
> >> 





More information about the devel mailing list