f-o-a-m / kepler

A Haskell framework that facilitates writing ABCI applications
https://kepler.dev
Apache License 2.0
34 stars 9 forks source link

Make sure the docker deploy command works / exists for both apps #90

Closed martyall closed 4 years ago

IvantheTricourne commented 4 years ago

I haven't been able to run this. I get this error:

> docker-compose -f hs-abci-examples/simple-storage/docker-compose.yaml up --build
Building simple_storage
Step 1/13 : FROM haskell:8
 ---> 54259304dd0b
Step 2/13 : RUN apt-get update && apt-get install --assume-yes protobuf-compiler
 ---> Using cache
 ---> 9bf5078b623e
Step 3/13 : WORKDIR /project
 ---> Using cache
 ---> abff7ac3cb82
Step 4/13 : COPY ./stack.yaml /project
 ---> Using cache
 ---> a04797da993d
Step 5/13 : RUN stack setup && stack exec -- ghc --version
 ---> Running in 130195bb0188
/project/hs-abci-types/: getDirectoryContents:openDirStream: does not exist (No such file or directory)

I don't remember the reason why this line happens before the COPY statements.

IvantheTricourne commented 4 years ago

These both seem to work locally for me, however, it does rebuild GHC everytime you make any change to either project.

Though, I'm not sure how to get these containers to work with a local tendermint node.

IvantheTricourne commented 4 years ago

Spoke with Ilya.

This seems to be a limitation with stack and macOS. The main limiting factor is the fact that the root stack.yaml file lists packages, corresponding to the sub-hs-abci projects.

TL;DR, there isn't a simple way to avoid rebuilding GHC.