Hi Julian,
Have a look at this MR:
https://gitlab.haskell.org/ghc/ghc/merge_requests/317
As soon as it lands, you’ll be able to run Hadrian builds with a local cache as follows:
hadrian/build --shared=path/to/cache
In this mode, build rules are cached, and if you happen to rerun a build rule with unchanged dependencies the resulting files will be copied from the cache instead of executing actual build commands.
This should significantly speed up switching between branches.
Note however that this does not give you a way to run distributed builds: at the moment it is not possible to offload any build rules to other machines.
Cheers,
Andrey
----------------------------------------------------------------------
Message: 1
Date: Sun, 17 Feb 2019 13:36:40 +1100
From: Julian Leviston <julian@leviston.net>
To: GHC developers <ghc-devs@haskell.org>
Subject: Distributed local dev builds
Message-ID: <86D5D29A-8839-4D0F-907F-029B626B5E3A@leviston.net>
Content-Type: text/plain; charset=utf-8
Hi all,
I have several fairly high-spec machines on my network where I usually build GHC, and I was wondering if it was easy/trivial/possible to set up a distributed build where it farmed out some of the compute work to the other machines? I seem
to need to build from scratch somewhat often when I switch branches I’m working on.
Is this going to be the aim of distributed shake, which hadrian is based on?
Thanks!
Julian