Continuous Integration and Cross Compilation
Páli Gábor János
pali.gabor at gmail.com
Fri Jun 20 10:15:43 UTC 2014
2014-06-20 0:50 GMT+02:00 William Knop <william.knop.nospam at gmail.com>:
> 1. We have a pretty good spread of buildbots, but as far as I know there aren’t
> very many of them. Running only the test suite would increase their utility by
> roughly 5x (from looking at the buildbot time breakdowns ).
How would this increase their utility? I naively believe the purpose
of CI is to rebuild and test the source code after each changeset to
see if it was bringing regressions. Running the test suite only does
not seem to convey this. Many of the regressions could be observed
build-time, which means the most safe bet would be to rebuild and test
everything on the very same platform.
> 2. Building ghc is time and resource intensive, which makes it hard for people
> to host buildbots. Even though my machines are relatively new, I can’t usually
> host one because it would interfere with my other work. I would be more
> tempted to if it was limited to just the test suite, and perhaps others would as
My buildbots complete the steps (git clone, full build, testing) in
about 1 hour 40 minutes (with about 1 hour 15 minutes spent in the
compilation phase), while they run in parallel with a shift about an
hour. They run on the same machine, together with the coordination
server. This is just a 3.4-GHz 4-core Intel Core i5, with a couple of
GBs of RAM, I would not call it a high-end box, though.
Note that it is on purpose that the builders do not use -j for builds,
meaning that they do not parallelize the invoked make(1)-subprocesses,
which automatically makes the builds longer. Perhaps it would be
worth experimenting with incremental builds and allowing for parallel
builds as they could cut down on the build times more efficiently.
More information about the ghc-devs