[oe] [RFC] Auto bi-sect build server idea

Koen Kooi k.kooi at student.utwente.nl
Thu May 8 08:02:41 UTC 2008


Leon Woestenberg wrote:
> Hello all,
>
>
> I typically run a from scratch build once a day, typically a
> combination of {uc,eg,g}libc and targets {ixp4xx, powerpc, avr32}.
>
> Today my avr32/uclibc build stopped with bug #1380 which has been
> reported 2 months ago but never occurred to me.
>
> When I fixed that, I then ran into bug #4065 which has been
> opened/fixed/closed and reopened.
>
> So, I think we have a regression at hand (which might be already fixed
> when I send this email, but that's not the point).
>
> Then I thought about the idea of having a build server automatically
> doing an automatic bi-sect towards the commit that breaks things.
>
> Define a few local.conf's that are known-good.
> Build each of them,

What is different between those confs? I haven't edited my local.conf in 
months and still build different configurations every day.

> if the build completes, tag the revision as "last known good".
> if the build fails, tag the revision as "latest known bad", and

Tags would be a bad idea, we can use certs with monotone, which allow a 
free-from key:value structure, so you can do

mtn cert 8759384591ada9304319403 bug4530 bad
mtn cert 3123424905903affeaf0232 bug4530 good

This way you can do multiple bisects in parallel, and you don't clutter 
the tags list (which is db global and permanent).

> bi-sect, selecting a "candidate" and iterate to the breaking commit.
>
> I'm mainly interested in a helloworld-image, I'm not much interested
> in package recipes, but mostly in the toolchain/libc
> stuff/rootfs/image stuff, for now.
>
> Has this been done earlier? Ideas?

It would be easy to extend seppuku.bbclass to add a 'bug#:bad' cert each 
time it falls over. That would catch buildproblems. For bisecting we 
would probably need a small wrapper script.

Any volunteers for extending seppuku.bbclass and/or writing such a 
wrapper script?

regards,

Koen






More information about the Openembedded-devel mailing list