See notes in the individual commits, but some caveats:
Had to update the stack resolver, as the haskell:8 image in Docker didn't have ghc 8.8.3 (only 8.8.4)
Had to use debian, as trying to use alpine kept giving me file not found errors -- surely due to some lower-level dependency? If we figure out how to use alpine, the final image should be ~50MB (vs. the current ~160MB!)
Had to use only 1 job for the stack build, as any parallelization, if the benighted haskell-src-exts (a transitive dependency of interpolate, via haskell-src-meta) got to build in parallel with something else big (maybe happy,) the build died -- one can also give Docker more memory, but 2GB and 3 cores should be enough! (I have no problem in my 8 core/8 GB computer, but this is a tiny app!) -- using only one thread isn't too bad: a build from scratch takes ~11 minutes.
References:
See notes in the individual commits, but some caveats:
haskell:8
image in Docker didn't have ghc 8.8.3 (only 8.8.4)alpine
, the final image should be ~50MB (vs. the current ~160MB!)stack
build, as any parallelization, if the benightedhaskell-src-exts
(a transitive dependency ofinterpolate
, viahaskell-src-meta
) got to build in parallel with something else big (maybehappy
,) the build died -- one can also give Docker more memory, but 2GB and 3 cores should be enough! (I have no problem in my 8 core/8 GB computer, but this is a tiny app!) -- using only one thread isn't too bad: a build from scratch takes ~11 minutes.