On 16/09/2009 03:52, Don Stewart wrote:
kili:
And here's a little rant...

On Tue, Sep 15, 2009 at 11:40:50PM +0200, Matthias Kilian wrote:
Tue Sep 15 22:42:54 CEST 2009  Matthias Kilian<[email protected]>
   * Follow the builtin:rts vs. builtin_rts renaming

   This unbreaks make install again.

Why are some parts of the build contantly broken? Why did noone
notice that make install didn't work after that windows-related
change?  Why do I have to chase bugs caused by breakage that are
mostly related to build infrastructure?

Trying to follow ghc-6.11 is mere frustration, but working on a
release (like ghc-6.10) is of course a on-way-ticket, because there
are too much changed between 6.10 and 6.11.

So what can I do if there are only small windows of a few hours
when ghc 6.11 can be built and installed from both ghc-6.10 and
ghc-6.11 and if the default state of ghc is 'may work or not'?

I'd like to have some clarification on why things seem to be breaking a
lot as well. The validator was supposed to catch these issues, for the
long term. What's going on?

validate is doing it's job. The breakages have all (well, mostly) been on things that validate doesn't test: install/binary-dist, platforms/configurations that the developer didn't validate on, testsuite tests that validate doesn't include.

Here's a couple of examples: I broke the build on Cygwin recently. I could only have found that by validating on Windows with Cygwin - the Windows build with MSYS didn't shoow up the failure. I also broke the build with GHC 6.10.1 and earlier, but I had validated my patch on two platforms with GHC 6.10.2 and 6.10.4 respectively.

Of course, validate is a compromise. Testing everything that could possibly break would take hundreds of machine hours on multiple platforms (not to mention testing all of Hackage), so we compromise, and then we argue about exactly what to compromise on :-) More infrastructure and automation could help, and I think that should be a high priority after the 6.12.1 release.

Ok, so concrete steps we can take:

 - I think we should include install/binary-dist in validate for the
   run up to the release at least, and turn it off afterward.

 - People need to use the recommended 2-tree workflow to avoid
   gratuitous validate breakage.

 - In the long term, we really need some work on buildbot
   infrastructure to let us easily validate across multiple
   platforms, and to test install/binary-dist.

Cheers,
        Simon

_______________________________________________
Cvs-ghc mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/cvs-ghc

Reply via email to