sourcegraph / lsp-adapter

lsp-adapter provides a proxy which adapts Sourcegraph LSP requests to vanilla LSP requests
MIT License
29 stars 8 forks source link

Add Haskell #57

Closed chrismwendt closed 6 years ago

chrismwendt commented 6 years ago

Haskell :tada: I put some comments in the Dockerfile to explain parts that aren't obvious at first glance.

This image takes around 20 minutes to build because it compiles haskell-ide-engine from source (~200 dependencies), since there are no binary releases that I'm aware of.

TODO

chrismwendt commented 6 years ago

I found out that Travis only gives you 3 GB of RAM, which is not enough to build haskell-ide-engine. It seems we'll have to build and push Haskell manually, unless we can automate it some other way.

keegancsmith commented 6 years ago

I found out that Travis only gives you 3 GB of RAM, which is not enough to build haskell-ide-engine. It seems we'll have to build and push Haskell manually, unless we can automate it some other way.

Could we not push a new image which has haskell-ide-engine compiled? Then use that as the base?

chrismwendt commented 6 years ago

Could we not push a new image which has haskell-ide-engine compiled? Then use that as the base?

Oh good idea, I'll go that route :+1:

chrismwendt commented 6 years ago

I built and pushed https://hub.docker.com/r/sourcegraph/haskell-ide-engine/ We need to manually build and push it whenever we want to update haskell-ide-engine (updates to lsp-adapter will go through the usual Travis CI). The tag is the first 7 characters of the git hash of haskell-ide-engine.

felixfbecker commented 6 years ago

@chrismwendt are there instructions for rebuilding it? Is the Dockerfile public? Would Docker hub maybe be able to build it automatically (vs Travis)?

chrismwendt commented 6 years ago

@felixfbecker I'm adding instructions in https://github.com/sourcegraph/lsp-adapter/pull/77

Ideally, the owner of https://github.com/haskell/haskell-ide-engine would set up a Docker build. Until then, we'll manually build and push sourcegraph/haskell-ide-engine whenever we want to update it.