-
Notifications
You must be signed in to change notification settings - Fork 79
Upgrade template #4
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
@lsmor I will convert this review into draft. Once it is ready for review, feel free to mark it as such and I can review it. Thank you! |
…ing the right version of base and ghc
… because cabal's default name is MyLibTest.hs
@sagor999 . I've been playing around to have a template which doesn't deprecate when
It is up to gitpod what to use. I don't know which solution is better for you |
Hey @lsmor |
@sagor999. Yes, I think it is the best approach. By default you get a minimal working enviroment, users can provided their own cabal / stack file if they want. I can provide some instruction about how to do this, since I am building a more complex project using gitpod. |
@lsmor would you be able to provide a PR that implements that by any chance? |
@sagor999 Yes of course!!, i'll convert this draft into a PR once I got everything done. I've already pushed some commits in the direction we've decided, but haven't tested yet. Will let you know ;) |
Many changes have been done. Let me explain each:
|
@lsmor thank you for PR!!! 🚀 🧡 |
Description
Provide a modern haskell setup with language server included. Also updates CI using
haskell-ci
which creates a CI pipeline from the cabal file. Also, it is different from PR #3 because it uses the recomended version ofghcup
.in PR #3,
ghc
version is set to9.0.2
I'd recommend against this sinceghc-8.10.7
is the last recommended version ofghcup
(as specify here).I am not sure how the docker file shoud install
ghc
. In this PR,ghcup install ghc
is used. It will install the latest recomended version (currently 8.10.7), but this changes over time which can cause a conflict withstack
. This is due to the fact thatstack
most know in advance the compiler version to use (vistackage snapshot
).To summarize. We have two three options for installing
ghc
:ghcup install ghc
will keepghc
instalation updated and inlined with the language server, but will conflict withstack
snapshots when the default version ofghc
is changed within theghcup
toolghcup install ghc <latest-version>
. This allows to have a fix version ofghc
that wont conflict withstack
but at the risk of having a template that gets outdated asghc
development moves onstack
. Directly use cabal for project building... I knowstack
is the prefered tool for beginner (and not so beginners), but it is more usefull when it comes to share a project with reproducible builds. I don't know if there are any benefits of using it here in the template.I am trying to figure out a way to do
stack init
and automatically choose the bestsnapshot
to work with, based on the system ghc installed.Related Issue(s)
This pull rrequest solve #1.