-
Notifications
You must be signed in to change notification settings - Fork 206
Conversation
Tested on Linux, and there I still have the very weird problem that two resolvers are being downloaded. I can't figure out right now where the command comes from that triggers the downloading of the nightly resolver. It happens in between installing
|
That looks like something is running against the default So look for a stack command without a Or, rename |
Makefile
Outdated
stack --stack-yaml=stack-$*.yaml install happy | ||
stack --stack-yaml=stack-$*.yaml build |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We do the build before install because it should be a no-op, but all 'stack install' checks is that the artifact exists, so will not rebuild changes if this is an updated workspace.
LGTM To me it makes sense to merge this, since we are still deciding on using the |
let me check first that it doesn't make the |
I think, this PR can be closed since there is no makefile anymore. |
So this is a first baby step to make the build process do a little less unnecessary work. For now it only makes sure that for the single build process everything is compiled with the same resolver.
tl;dr: it makes it download one less stack resolver and build about a 30% faster.
This is not complete, and likely makes the building of all 8 versions slightly worse, since cabal might be builtg 8 times. (AFAIK otherwise
make
is smart enough to build cabal only once, even if we loop overhie-%
8 times.)Test
I ran the builds on a macbook air i5.
Prep
Clean up everything:
rm -rf .stack-work ~/.stack ~/.local/bin/hie* ~/.local/bin/happy ~/.local/bin/cabal
Single HIE build
Tested with 8.4.4, including docs.
make hie-8.4.4 && make build-doc-8.4.4 && date
~/.stack
size~/.local/bin
sizehie
+ cabal & happy)Build & install all HIE (currently 8 versions)
TODO