Skip to content

Fix and revamp Stack dependencies #327

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

Merged
merged 4 commits into from
Jun 1, 2021
Merged

Fix and revamp Stack dependencies #327

merged 4 commits into from
Jun 1, 2021

Conversation

banacorn
Copy link
Contributor

@banacorn banacorn commented Apr 23, 2021

  1. Fix dependency problems (mostly related to resourcet from conduit in lsp-test)
  2. Remove extraneous stack.yaml files
  3. Add and keep those stack.yaml files that should be in the CI:
    • ghc-8.4.4 - lts-12.26
    • ghc-8.6.5 - lts-14.27
    • ghc-8.8.3 - lts-16.11
    • ghc-8.10.4 - lts-17.9

I'm going to make another PR to include Stack in the CI.
So that we can solve these Stack dependency problems once and for all.


edit: Stack image version changes made by this PR

HLS LSP (current) This PR
8.4.2 removed
8.4.3 removed
8.4.4 kept
8.6.4 8.6.4 kept
8.6.5 8.6.5 kept
8.8.1 removed
8.8.2 8.8.2 removed
8.8.3 added
8.8.4 added
8.10.2 added
8.10.3 added
8.10.4 added

1. Fix dependencies problems (mostly related to `resourcet`)
2. Remove extraneous stack.yaml files
3. Add and keep those stack.yaml files that are in the CI:
    * ghc-8.4.4 - lts-12.26
    * ghc-8.6.5 - lts-14.27
    * ghc-8.8.3 - lts-16.11
    * ghc-8.10.4 - lts-17.9
@jneira
Copy link
Member

jneira commented Apr 24, 2021

Hi, many thanks for the clean up, looks good to me, only curious about why there is a stack,yaml for 8.8,3 instead for 8.8.4

@banacorn
Copy link
Contributor Author

I followed the versions used by the Cabal CI

ghc: ['8.10.4', '8.8.3', '8.6.5', '8.4.4']

We can use stack-8.8.4.yaml instead

Copy link
Member

@jneira jneira left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm, thanks again!

@banacorn
Copy link
Contributor Author

👀

@banacorn banacorn mentioned this pull request May 27, 2021
@banacorn
Copy link
Contributor Author

are you gonna merge it or what?

@jneira
Copy link
Member

jneira commented May 28, 2021

Sorry i lost track of this pr, thanks for pinging again. My idea was wait for another review of an actual stack user and maintainer of the repo, as we are not building with stack in ci. Specially taking in account some stack.yaml's are being deleted.

@jneira
Copy link
Member

jneira commented May 28, 2021

@michaelpj are you using stack by chance?

@michaelpj
Copy link
Collaborator

Nope, sorry.

stack-8.4.4.yaml Outdated
# - some-1.0.1@sha256:26e5bab7276f48b25ea8660d3fd1166c0f20fd497dac879a40f408e23211f93e,2055
# - stm-2.5.0.0@sha256:c238075f9f0711cd6a78eab6001b3e218cdaa745d6377bf83cc21e58ceec2ea1,2100
# - transformers-0.5.6.2@sha256:6c959d14430f4deffb99579ba019de07c3d852a2122b6f449344386c7d75ff1d,3172
# - unliftio-core-0.2.0.1@sha256:9b3e44ea9aacacbfc35b3b54015af450091916ac3618a41868ebf6546977659a,1082
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

we should remove this comments?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes!

@jneira
Copy link
Member

jneira commented May 31, 2021

I am a little bit worried for the dissymmetry between the versions supported with this pr an haskell-language-server, one of the main clients of the library. In hls we have stack-8.6.4.yaml, stack-8.8.2.yaml, stack-8.8.3.yaml, stack-8.10.2.yaml and stack-8.10.3.yaml.
We are thinking in remove stack-8.8.2.yaml so it could be skipped but it would be nice to keep in sync if there is no a real good reason to remove/not add it
//cc @Ailrun as he is using stack in the hls side

@Ailrun
Copy link
Member

Ailrun commented May 31, 2021

I agree that asymmetry between this package and HLS make the situation complicated. FWIW, I think adding or removing a stack version without a really good reason is OK, but removing (and maybe adding too) a stack version (even with a good reason) should be handled in a synchronized manner with HLS maintainers.

@jneira
Copy link
Member

jneira commented May 31, 2021

@banacorn to be fair, the pr only removes 8.6.4 (8.8.1 and 8.8.2 too but they are not present or about to be removed in hls) so i would only ask to restore it and keep the actual ones. Other ones could be added afterwards.

@jneira jneira self-requested a review May 31, 2021 06:02
@banacorn
Copy link
Contributor Author

banacorn commented May 31, 2021

I'm not sure if I'm getting it right, so I made a table, please edit the PR change column so that I can make this PR right

HLS LSP (current) LSP (PR) PR change
8.4.2 remove
8.4.3 remove
8.4.4 fix (should remove comments)
8.6.4 8.6.4 remove should not remove!
8.6.5 8.6.5 fix
8.8.1 remove
8.8.2 8.8.2 remove
8.8.3 add (here or in a new pr)
8.8.4 add
8.10.2 add (here or in a new pr)
8.10.3 add (here or in a new pr)
8.10.4 add

Also, should we add 8.10.2 instead of 8.10.4?

I'm strongly against removing 8.10.2 support, as there is known thread-safety issue #1465 for 8.10.-8.10.4, and its fixes in 8.10.5 is not yet released...
haskell/haskell-language-server#1863 (comment)

@jneira
Copy link
Member

jneira commented May 31, 2021

@banacorn thanks for the nice summary, i've edited it to make clear what is our intent.
If you add the missing ones in this pr would be nice, of course.

@banacorn
Copy link
Contributor Author

I've added those missing stack files and made a summary at the top

@jneira
Copy link
Member

jneira commented May 31, 2021

I am building in windows some of the stack.yaml's as final sanity check, will merge asap

Ideally we should have some ci jobs building the project with stack (maybe without testing). For my experience, without ci checking them, stack.yaml's get out of sync quickly.
But it is matter of another pr 😄

@jneira jneira merged commit 9f7ad7b into haskell:master Jun 1, 2021
@jneira
Copy link
Member

jneira commented Jun 1, 2021

@banacorn many thanks for the pr and your patience, i've tried some of them in my local windows and all builds have been succesfull.
I hope you could continue contributing to the repo. If you have any plan to do it feel free to open or edit an issue with it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants