Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
From: Sergio Durigan Junior <sergiodj@redhat.com>
To: Antoine Tremblay <antoine.tremblay@ericsson.com>
Cc: GDB Patches <gdb-patches@sourceware.org>
Subject: Re: [GDB BuildBot] New "Try Server"
Date: Fri, 29 Jul 2016 15:40:00 -0000	[thread overview]
Message-ID: <87shuscv22.fsf@redhat.com> (raw)
In-Reply-To: <wwokpopwekay.fsf@ericsson.com> (Antoine Tremblay's message of	"Fri, 29 Jul 2016 07:49:09 -0400")

On Friday, July 29 2016, Antoine Tremblay wrote:

> Sergio Durigan Junior writes:
>
>> Last, but not least, your try build will generate its own testsuite
>> logs, which will be recorded in that builder's git repository, available
>> at:
>>
>>   <http://gdb-build.sergiodj.net/cgit>
>
> Humm won't that "pollute" the builder results ?
>
> I mean, if the builder is testing commit 1 2 3 and that those are
> commits that were done on master but there's a try patch coming in
> between named say 7 and it has higher priority.
>
> You will then have 1 2 7 3 being tested.
>
> Then when we want to check the results of 1 2 3 won't it be confusing to
> see 7 there ? Will there be an indication that it's a try patch ?

Yeah, that was my concern as well.  I took extra care when recording the
results on the git repo.

So, as you can see on the repositories for each builder I record the
following files:

  - baseline
  - gdb.log
  - gdb.sum
  - previous_gdb.sum

When a normal build is triggered, BuildBot will:

  - Copy the current gdb.sum to previous_gdb.sum

  - Perform the build

  - Upload the gdb.log file from the buildslave

  - Use the current gdb.sum to calculate the regressions against the new
    gdb.sum (generated by the testsuite)

  - Update the current gdb.sum with the contents of the new gdb.sum

  - Save everything on the repo

Now, when a try build is triggered, here's what will happen:

  - Perform the build

  - Upload the gdb.log file from the buildslave

  - Use the current gdb.sum to calculate the regressions against the new
    gdb.sum (generated by the testsuite)

  - Update the current trybuild_gdb.sum with the contents of the new gdb.sum

  - Save everything on the repo

So, as you can see, on a try build we don't mess with the files
necessary to calculate the regressions on a regular build.

> Also since the regressions are calculated from one build to the next
> won't that possibly be a problem if let's say build 7 introduces a FAIL,
> then build 3 has the same FAIL, but build 2 had a PASS ? We would then
> miss a regression on a master commit.

As explained above, we would still see the regression happening because
the gdb.sum file is not touched (just read) on a try build.

> Should we have separate try builders to avoid that?

My initial thought was that, but having more builders will pollute the
web interface (although there is probably a way to suppress them to be
displayed), and will only create more repositories on the buildmaster.
But if I had infinite resources, then yeah, more builders would probably
make sense :-).

> I'm also curious about what happens if you send it a series of patches,
> will it squash them ?

If you use the first method I explained (having a local branch and
invoking "buildbot try" without the "--diff" option), then it will
squash all your local commits into one patch.  If you use the second
method ("--diff" option), then IIRC you can only send one patch.

> In any case thanks for working on this :) I'm sure it will be quite
> useful.

My pleasure!

-- 
Sergio
GPG key ID: 237A 54B1 0287 28BF 00EF  31F4 D0EB 7628 65FC 5E36
Please send encrypted e-mail if possible
http://sergiodj.net/


  reply	other threads:[~2016-07-29 15:40 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-07-28 19:30 Sergio Durigan Junior
2016-07-29 11:53 ` Antoine Tremblay
2016-07-29 15:40   ` Sergio Durigan Junior [this message]
2016-07-29 17:00     ` Antoine Tremblay
2016-09-20 20:20 ` Sergio Durigan Junior

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87shuscv22.fsf@redhat.com \
    --to=sergiodj@redhat.com \
    --cc=antoine.tremblay@ericsson.com \
    --cc=gdb-patches@sourceware.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox