On Sat, Aug 29, 2009 at 9:44 AM, Kenneth Uildriks<kennethuil at gmail.com>
wrote:> On Sat, Aug 29, 2009 at 4:15 AM, Duncan Sands<baldrick at free.fr>
wrote:
>> Hi Bill,
>>
>>> ... Still, people would break the builds and let
>>> things go for hours or days at a time.
>>
>> don't forget the time-zone effect. I regularly get build
>> failures in the morning, presumably because someone in the
>> US committed just before going to bed. I guess they are
>> happily snoring away when the build-bots (and humans) start
>> complaining!
I don't buy this, see below ...
> So when hours go by without a fix, it might be
>> because the committer is getting some beauty sleep (or is at
>> work, and can't do anything from there).
>>
>> Ciao,
>>
>> Duncan.
>
> At my old job, we were expected to stay after doing a commit at least
> long enough for the buildbot to complain if the build was broken. Of
> course our buildbots took about 10 minutes after commit to finish a
> build, so that wasn't much of a burden...
The x86_64 builders take less than 5 minutes to test and build llvm.
See,e.g., http://google1.osuosl.org:8011/builders/llvm-x86_64-linux/builds/7168
Elapsed 4 mins, 31 secs
It is basically never behind (IE maybe once a week is a build queued).
Unless you think 4 mins 31 seconds after you commit is a huge burden,
there is basically no excuse for breaking the build (at least on
x86_64), which still happens.
Not to mention, a lot of the failing revisions i checked randomly are
failing tests on every platform.
Much like Bill, i don't see any excuse for this.
Things that fail on every platform are a great indication that someone
didn't bother to actually run make test and check the results.
It is rare that you have the magic configuration that it works on.
This is all pretty common sense and courtesy:
Test your code before committing
Don't commit if you aren't going to be around to fix it the next few
hours. (it's one thing to commit something that passes all tests and
gets discovered to have broken something untested 5 days later. It's
another to commit something and go to bed in your timezone without
having tested it, breaking the build for everyone else).
If someone wants to complain there machine isn't fast enough to run
the tests in a reasonable time period, i'm happy to set up a try
server on the x86_64 machine and you can get your patches tested fast.