
Neil Mitchell wrote:
Hi Simon,
Thanks largely to Ian Lynagh, GHC now has a BuildBot infrastructure to automate nightly builds on multiple platforms. This replaces the old set of shell scripts that we used to run nightly builds; now adding new clients to the setup is relatively easy, instructions are here:
Good news! Do you have any idea of how much time a build might take roughly?
It depends how much you want to do: as a rough guide, our really-do-everything builds take about 8 hours on a fast machine, that includes - 3 compiler stages (only 2 are necessary, the 3rd is a sanity check) - the "extra libraries" - all libraries built for profiling and "unregisterised" - split objects - a full testsuite run, in all the supported ways - 5 runs of the nofib benchmark suite, with various flag settings - build & upload distributions We can do a "fast" build in much less time: probably about 1 hour for - 2 compiler stages - core libraries only - no profiled libraries - no split objects - a "fast" testsuite run - no benchmarks You tell us how much time you have, we can keep your machine busy :-)
As a second point, the Yhc team do a variety of builds - some from clean, some from fullclean, some from delete the directory and a completely fresh darcs pull etc. We've found that can help catch things like interface changes, dependancies etc earlier. If you have (or can find) too many Windows/Linux machines etc that might be worth doing - and is pretty easy with buildbot.
All our builds start with a fresh checkout right now. There are certainly things that can go wrong if you don't fully clean the tree and re-configure after updates (e.g. modifications to the configure.ac files), so I'm not sure it would be useful to start from an partially-clean tree. Cheers, Simon