FROM reanimate/base WORKDIR /src # Install reanimate dependencies and cache the layer ADD reanimate.cabal stack.yaml ./ RUN stack build --only-dependencies --no-install-ghc --system-ghc --haddock # Install playground dependencies and cache the layer ADD playground/playground.cabal playground/stack.yaml ./playground/ RUN cd playground && \ stack build --only-dependencies --no-install-ghc --system-ghc # Add source after dependencies have been installed as to not invalidate the caches ADD data data ADD src src ADD unix unix ADD windows windows ADD .git .git ADD viewer-elm viewer-elm ADD Setup.hs ./ # Build reanimate RUN stack build --no-install-ghc --system-ghc # Add bot sources and build it ADD playground playground RUN (cd playground && \ stack install --no-install-ghc --system-ghc) && \ playground test EXPOSE 10161/tcp EXPOSE 10162/tcp ENTRYPOINT playground