Hi Mathias, *,

On Sat, Apr 28, 2007 at 03:11:06PM +0200, Mathias Bauer wrote:
> Christian Lohmaier wrote:
> 
> >> (1) If a tinderbox build is "red" it must be possible to find out the
> >> reason within minutes, possibly with one or two mouse clicks.
> > 
> > It is three clicks.
> > EIS -> see the red status -> click on the tinderbox link  (1)
> > on thinderbox page -> click on "l L C" to open the popup  (2)
> > Within the popup -> click on "Summary log" (or full log)  (3)
> 
> I got reports from developers that it didn't work reliably in the past.

This probably was due to the cws already being in approved by qa or even
nominated state. These were not tracked anymore.

> If that had changed meanwhile an important blocker would have been
> removed (IMHO). Fine.

Yes. Now the nominated & approved by QA are still tracked and
accessible.
 
> >> (2) If the reason for the "red" state is that the build broke because of
> >> a machine or infrastructure problem it should be ignored.
> > 
> > Yes.
> 
> Or more precicely: if the error log does not clearly show that the error
> is caused by a compilation problem it should be ignored.

Fine with me. But I think telling the other way is easier. It is easy to
spot infrastructure problems like the one currently: anoncvs is out-of
order thus checking out the sources will fail. Easy to tell from the
summary log.
The same for the other false "positives". Usually fairly easy to detect by
looking at the logs.

But no matter what: mention your reason in a comment in EIS "red
tinderbox status is a false positive, becasue <blah>"

> It's up to the
> build process to provide useful error messages.

Yes, but like any makefile based system, the error messages are usually
from the compiler and should thus be self-explanatory.

> >> (4) The developer that fixed the error must be able to restart the
> >> tinderbox build immediately to get a result in an acceptable time frame.
> > 
> > Nope, I disagree. This is not a must.
> OK, let's say: in a reasonable time frame. "Immediately" is too much, I
> agree.

And even not: When there is no status available, QA/devs should not need
to care. (when they're sure their change adressed the problem)

But if you got a red status and ignore it, mention why you did so.

> > Would you agree on rejecting CWS that break the build on one of the
> > tracked platforms? 
> Of course not.

Not sure whether this is a misunderstanding here or not. If I take you
literally, you say it is OK to integrate stuff that breaks the build on
Mac or Linux.

> But in this case it's easy and fast to fix the problem,

Hmm - this case? Can't follow.

> rebuild and continue. In most cases (e.g. simple build breaker due to a
> compiler error) this takes only a few hours, depending on the number of
> platforms to rebuild.

You're probably speaking of "inhouse" builds - that's not what I meant
with "tracked platforms" - but I don't really see a hinderance here.

> For me anything that takes more than a few hours to verify the fix for
> the broken build is inacceptable. But that's only my opinion.

You can use buildbot to verify your change if you cannot wait. But still
you have to account for anoncvs delay.

But still I don't think devs will sit and wait for a build to finish.

Most breakers from Sun-cws are either because of "unclean"
build-environments (missing headers or similar stuff), or because of
compiler-specific errors (gcc parser bugs/different behaviour depending
on the version of gcc) and thus rather easy to spot in the logs and
usually easy to fix as well.

> Other
> people may have others. But at the end that doesn't matter. My main
> objection against taking action regarding Tinderbox builds
> immediately(!) is another one.

Well, I believe in common sense, but that's apparently useless in the
field of software development :-/

> As I said, there has been a team set up to install the process.

But what's so hard about defining a goal: Don't integrate stuff that
breaks the build.

Tinderbox gives you a hint on that. If the build is red: 
/Have a look./ - nothing more asked for than that. Having a look at the
logs. That's not rocket science. 

Then there are a few possibilities what to do after having a look at the
log:

If you cannot tell what's wrong with your code:
 * ask the porters/buildmasters for help/analysis
 * decide to ignore the status and state so in EIS
If it is obvious why it breaks:
 * state you ignore it because it is a false positive (infrastructure,...)
 * fix your code (checkin all the stuff that's necessary, adapt for
   gcc-specific requirements, eleminate warnings to allow WaE-builds)

> This was
> decided by the Release Status Meeting and we should do what is decided
> there. So I think we shouldn't rush things and we shouldn't take an
> immediate action like it was suggested by Thorsten. Let's wait for the
> results. And whatever is decided, let's give it a test for a few weeks
> until we make it mandatory for all developers.

There's no black and white here only. Red status doesn't automatically
mean: reject. (and shouldn't mean that).
Red status should just mean: Have a look. 

> It is totally inacceptable that new processes are created and people
> must follow it without being asked before and without reacting on their
> objections.

I really cannot see the problem here. "Must follow". "Without being
asked", etc. 
The new status has been announced, nobody reacted. Then it was
reannounced more prominently. Again silence. Then when somebody told
another one that somewhere there is that new rule about automatically
rejecting red status-cws (what never was requested or decided upon)
people start complaining/whining about not being asked or whatever :-(

But I'm back on the common sense thing I guess.

> BTW: we didn't have Tinderbox builds for years.

We had tinderbox builds. The status just wasn't listed in EIS directly.

> We should be able to
> wait some more weeks until a process has been established that is
> supported by all involved parties.

See above. I guess you're trying to overdo it with the "process".

ciao
Christian
-- 
NP: Machine Head - Now I Lay Thee Down

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to