-
Notifications
You must be signed in to change notification settings - Fork 95
Use GADTs for all ghc versions in Development.IDE.Plugin.Completions.Logic #947
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why not just include the GADTs extension unconditionally? CPP seems significantly worse than a fairly harmless extension.
ghc-8.6 definitely does not need it but we can give a try |
Yes, it might be not required, but it's not harmful, so might as well simplify and include it. |
Can we move this to #946? Otherwise, how do we know that it works? |
well in fact we should rebase #946 onto this one, to make ci pass |
No, we should merge them both :) |
ok, will include it here |
dicho y hecho |
the ghc-lib build had |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks!
Too much jobs, the matrix dont "overwrite" major versions with test enabled but create new ones, investigating |
After further investigation in my repo:
So the unique solution i can think of is create a matrix with all combinations (except ghc-lib and windows ghc-8.10.2.2) and exclude one by one the other ones. Or create a minimal matrix over test (3 versions) or only build (4 versions) without windows and include all desired cases one by one. I am gonna start to sketch the second option (minimal matrix build over only build + inclusions) |
- os: windows-latest | ||
ghc: '8.10.2' # broken due to https://gitlab.haskell.org/ghc/ghc/-/issues/18550 | ||
- os: windows-latest | ||
ghc: '8.8.4' # also fails due to segfault :( | ||
include: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
this is the less bad version i got to work, feel free to suggest another better one 🙂
//cc @pepeiborra @ndmitchell
I've opened a issue in github actions to let use lists in matrix include and exclude props: actions/runner#857 |
@pepeiborra Unfortunately we already released ghcide-0.6 in hackage (but no in github afaics, only exists the tag) EDIT: I've just make the github 0.6.0 release, using the pr list from ChangeLog.md |
I don't have any objections against a 0.6.0.1 release in Hackage. But why is this needed though?
|
I don't see the value in GitHub releases so I don't bother with them |
If someone wants to build its own version of hls without the ghcide submodule, or a project (a standalone private plugin?) that uses ghcide or hls-plugin-api from hackage, with ghc-8.8.3 or ghc-8.8.2, it will fail. Not sure if that case exists in the wild but it is possible and it is nicer for those users being able to use its current ghc version instead warn them in the package metadata that they can't. But we can wait for someone asking for it, so as you consider.
Well they are merely informative but we did releases for previous versions, so at least for consistency. |
…8.3 and ghc-8.8.2 builds (haskell/ghcide#947) * Extend CI matrix with all the GHC minor versions supported by HLS * Adding a new job for windows: ghc-8.10.2.2 * Use GADTs for all ghc versions in Development.IDE.Plugin.Completions.Logic * Fix ghc-8.8.2 and ghc-8.8.3 builds Co-authored-by: Pepe Iborra <[email protected]>
…8.3 and ghc-8.8.2 builds (haskell/ghcide#947) * Extend CI matrix with all the GHC minor versions supported by HLS * Adding a new job for windows: ghc-8.10.2.2 * Use GADTs for all ghc versions in Development.IDE.Plugin.Completions.Logic * Fix ghc-8.8.2 and ghc-8.8.3 builds Co-authored-by: Pepe Iborra <[email protected]>
…8.3 and ghc-8.8.2 builds (haskell/ghcide#947) * Extend CI matrix with all the GHC minor versions supported by HLS * Adding a new job for windows: ghc-8.10.2.2 * Use GADTs for all ghc versions in Development.IDE.Plugin.Completions.Logic * Fix ghc-8.8.2 and ghc-8.8.3 builds Co-authored-by: Pepe Iborra <[email protected]>
It unblocks the bump of ghcide in hls (and the incoming release): haskell/haskell-language-server#658.
Will rebase #946 when it is ready