[haiku-development] Re: Need some input for design decisions for continuous integration script

  • From: Matt Madia <mattmadia@xxxxxxxxx>
  • To: haiku-development@xxxxxxxxxxxxx
  • Date: Sat, 27 Jun 2009 14:10:18 +0000

On Sat, Jun 27, 2009 at 10:34, Axel Dörfler<axeld@xxxxxxxxxxxxxxxx> wrote:
> Matt Madia <mattmadia@xxxxxxxxx> wrote:
>>
>> I've concerns about sending an individual email for each
>> arch+jamtarget combination.
>
> And rightly so, I think -- too much information is likely to get
> ignored :-)
>
On the first offending commit, at most 1 email per architecture {ppc,
x86gcc2,x86gcc4, x86gcc2hybrid, x86gcc4hybrid} will be sent.

Each email will contain links to all of it's relevant logs.
        A configure log -- assuming configure was run on this pass
        A jam log for each target
        Last X lines of (--one target or each target?--)

As far as how many lines to send, the last 30 should suffice.

Eventually I might be able to figure out a way to parse the file for
the beginning of the command that caused the failure.


>> I'm also trying to figure out a way to determine if the build error
>> from revision k is the same as k-1 --- eg, an offending commit,
>> followed by one or more non-related commits.
>
> I would only send a report for the first error that appeared, but make
> newer ones available from the link in that report.

Could you re-explain this?
do you mean newer errors from additional jamtargets for the same arch
of the same revision?

> Only if there was a good revision in between I would send new reports
> again. A good revision would not be one where everything builds again,
> but the configuration that triggered the error builds again.
> Does that sound like a viable solution?
>
Is this what you mean?
if the error from a new commit is the same as the first offending
commit, skip the error report.
As for detecting this, it should be as simple as comparing the first
line that contains "...failed" from each the two logfiles.  if they
don't match, then it's a new error and triggers a report.

eg, from 31196 and 31197:
...failed C++ 
/haiku-src/haiku/haiku/generated.ppc/objects/freebsd/x86/release/tools/keymap/main.o
...

Here's an example of what the email could look like:

To: haiku-commits-ml
From: Actual personal email address
Subject:  BOM-Error r38371 x86gcc2

Message Body: \
Host Machine: FreeBSD 7.2-RELEASE i386 (uname -srm)
configure       : --use-gcc-pipe --use-xattr --build-cross-tools 
../../buildtools
jam             : -q @alpha-raw
clobber generated       : False
ran configure this pass : False
last successful rev : 38367

logfiles :
  http://site/r38371-x86gcc2-jam-haiku-alpha.image.log
  http://site/r38371-x86gcc2-jam-haiku-alpha.iso.log
  http://site/r38371-x86gcc2-jam-haiku-alpha.vmdk.log

last X lines of @alpha-raw log:
  .....

--mmadia

Other related posts: