
On Sun, Jan 26, 2014 at 12:16 PM, Joachim Breitner
just to clarify: For what purpose do you want the nightlies? To check whether GHC validates cleanly, to compare performance numbers, or to get hold of up-to-date binary distributions?
Well, I run those clients primarily because that is (was?) one of the primary requirements for Tier-1 platforms :-) And this indeed greatly helps me to see if something has gone wrong on FreeBSD -- so I can track down the problems and fix them gradually continuously, therefore birthing a new release becomes a bit easier. But yes, I also feel useful to offer daily snapshots for the interested parties as a side effect.
For the first, I’d really really like to see something that runs before a change enters master
I am afraid that you may not want to pass each change through all the supported platforms before moving it to master. Of course, that is the ideal case, but it adds some operational cost, and can easily frustrate developers who do not have access to the given platform where it fails.
For the second and third, a build farm like the builders would of course be great.
I believe Ian's original project (the builder-server I use) [1] was to have a distributed farm of builders where anybody is allowed to dedicate a machine. Therefore GHC may be built on various platforms while the cost maintenance is shared between the operators of the respective platforms. I think it worked pretty well until the disappearance of the coordinator machine. We also used the binary tarballs produced by the builders for the latest releases -- Ian just set the release flag, waited for the next day, picked the release tarballs and published them, without any further interaction. [1] https://ghc.haskell.org/trac/ghc/wiki/Builder