-
Notifications
You must be signed in to change notification settings - Fork 95
Conversation
Dropping stack works for me.
I find the email spam this generates to be a considerable disadvantage, and I could only find one toggle to disable all emails from Github actions, nothing finer than that. |
I am for switch to github actions but not sure about stack. I think we should try to be build tool agnostic and make it easy for stack users start hacking ghcide/hls (or continue to do it! i think @ndmitchell uses stack for example). |
The compilation is failing for azure due to
I would keep |
This is complaining for the sake of it. I disabled Github emails years ago. When I want to get a Github update, I open the notifications page. |
Of course I intend to keep |
921d59a
to
92c5a57
Compare
Nice, i thought you were in doubt for |
f6e8b78
to
459347c
Compare
This is looking good. I propose that we keep the Azure pipeline for now but reduce it to one
|
c420a10
to
3d5c174
Compare
Does not work reliably on all platforms. Reenable when haskell#861 lands
6h is the default and also the maximum: https://docs.github.com/en/free-pro-team@latest/actions/reference/usage-limits-billing-and-administration
5083678
to
049302b
Compare
48b651e
to
2c7ca3f
Compare
My proposal is:
Reasons:
|
Your proposal seems reasonable, but it doesn't help with the original motivation for this PR, which is to move away from the Azure CI. And I have no plans to write a Github action for stack. Moreover, keeping a family of stack descriptors and the associated CI does little for us and has considerable overhead. It won't catch additional build errors over the Cabal CI, in fact, it hides them. A more economical solution would be to update the Contributing section of the README to point Windows users towards Chocolatey and/or a specific version of GHC. |
cafd4f2
to
77197e7
Compare
To split things out appropriately, there are:
I note that the Haskell community just started a huge foundation to make Windows stuff, including IDE, easier. If we need to see help, we could do so. |
77197e7
to
a4c308d
Compare
|
a9edc00
to
a32478b
Compare
We keep two stack descriptors: - One for Nightly - One for Windows (stuck in GHC 8.10.1) To ensure that `stack test` doesn't break, we keep running the stack tests in CI
a32478b
to
45e01cd
Compare
45e01cd
to
8c7b189
Compare
I'm happy with this and hopefully it meets everyone else's bar too. If there are any other concerns, I'd rather hand this PR over. |
Agreed, I don't think we necessarily need to ship each of a stack-86/88/810.yaml, since the existence of a Cabal build implies there probably is a stack.yaml. I think once Windows ends its hilariously bad run of GHC releases, having a single Stack.yaml should be plenty, and one day maybe even we don't need that as I'm happy with the end state you've reached, what say others? |
if @ndmitchell, as one of the stack users of the project is fine with actual changes, me too, of course. |
8c7b189
to
72d5459
Compare
Just in case someone could still need them, i will keep in sync a branch with stack.yaml's for ghc-8.6 and ghc-8.8 for a while: https://github.com/jneira/ghcide/tree/stack-support |
* Add github test action * Disable unreliable test Does not work reliably on all platforms. Reenable when haskell/ghcide#861 lands * Add hlint and -Werror * Explicit timeout 6h is the default and also the maximum: https://docs.github.com/en/free-pro-team@latest/actions/reference/usage-limits-billing-and-administration * Experiment tests to use Cabal instead of Stack * Fix an unreliable test * Trim down matrix * Add ghc-lib to the test matrix * Address broken hie-compat ghc-lib build * Drop stack descriptor family We keep two stack descriptors: - One for Nightly - One for Windows (stuck in GHC 8.10.1) To ensure that `stack test` doesn't break, we keep running the stack tests in CI * Update README to point end users to HLS * Drop support for `stack test`
* Add github test action * Disable unreliable test Does not work reliably on all platforms. Reenable when haskell/ghcide#861 lands * Add hlint and -Werror * Explicit timeout 6h is the default and also the maximum: https://docs.github.com/en/free-pro-team@latest/actions/reference/usage-limits-billing-and-administration * Experiment tests to use Cabal instead of Stack * Fix an unreliable test * Trim down matrix * Add ghc-lib to the test matrix * Address broken hie-compat ghc-lib build * Drop stack descriptor family We keep two stack descriptors: - One for Nightly - One for Windows (stuck in GHC 8.10.1) To ensure that `stack test` doesn't break, we keep running the stack tests in CI * Update README to point end users to HLS * Drop support for `stack test`
* Add github test action * Disable unreliable test Does not work reliably on all platforms. Reenable when haskell/ghcide#861 lands * Add hlint and -Werror * Explicit timeout 6h is the default and also the maximum: https://docs.github.com/en/free-pro-team@latest/actions/reference/usage-limits-billing-and-administration * Experiment tests to use Cabal instead of Stack * Fix an unreliable test * Trim down matrix * Add ghc-lib to the test matrix * Address broken hie-compat ghc-lib build * Drop stack descriptor family We keep two stack descriptors: - One for Nightly - One for Windows (stuck in GHC 8.10.1) To ensure that `stack test` doesn't break, we keep running the stack tests in CI * Update README to point end users to HLS * Drop support for `stack test`
The GitHub test action uses Cabal rather than Stack to build and run tests in a wider array of platforms and versions than we have now.
Keeping both the Github action and the Azure pipeline will increase the maintenance overhead, so we should decide for one or the other.
One important advantage of the GitHub Actions is that they work on forks, whereas the current Azure pipeline doesn't.
If we end up dropping the Azure one and by extension the stack tests, my intent is to also drop the Stack descriptors and the stack cradle.
Just found that there are some features missing in the GitHub action: