[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