-
-
Notifications
You must be signed in to change notification settings - Fork 369
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
Distribute Alpine binaries #2461
Comments
You can use Github actions for that too: https://github.com/hasufell/stack2cabal/blob/master/.github/workflows/release.yaml But IMO, it would make more sense to focus all release CI on GitLab. |
I am not against the use of gitlab releases but we have to consider some points:
|
Why? |
Well if we only trigger the build once in a month they will get out of date with more probabilities |
We could host all the binaries on downloads.haskell.org and change the extension to use that. |
Then we trigger it every day.
That shouldn't be an issue when the dependencies are frozen and the same alpine container is used. |
We will take more resources but if that is not an issue for ghc, it will do the job
so we have to change the GitHub workflow anyways |
I don't think that's an issue.
No, just add freeze files or use stack to build the releases. |
We have the hackage index pinned but i wanted to mean we will have to use the alpine docker image in gh workflows to test/bench the same executable which would be released. |
Can we build HLS in Alpine with GHC 8.*? https://github.com/haskell/haskell-language-server/runs/4487926042?check_suite_focus=true |
It is available. It, unfortunately, depends on the bindist used. Some alpine bindists use integer-simple, others integer-gmp. I'm not 100% sure about 8.10.7, but in worst case we can build a bindist from scratch. ghcup will always prefer integer-gmp ones. I believe I raised this before with @bgamari https://gitlab.haskell.org/haskell/haskell-language-server/-/jobs/869440 |
That job is using the integer-simple build, downloaded by ghcup in line 102: https://gitlab.haskell.org/haskell/haskell-language-server/-/jobs/869440#L102 It's the same bindist installed by Digging deeper, I found this workaround: haskell-language-server/.gitlab/ci.sh Line 50 in e74cf55
|
Wish I would always remember what I did 2 weeks ago. Not sure we'll get performance penalty for that? |
maybe we should test and bench the same executable using alpine to check the possible perf regression |
Go ahead if you want to, but I don't think there's anything to worry about |
As agreed in #2431 we want to be distributing Alpine binaries. Unfortunately Github doesn't offer any Alpine workers, so we cannot reuse the existing build Github action to generate them.
However, the Gitlab CI contributed by @hasufell is already generating these binaries, e.g.:
https://gitlab.haskell.org/maerwald/haskell-language-server/-/pipelines/44731
Things to be done:
I don't know if we want to grab only the Linux binaries from Gitlab, or also the Windows and Mac OS binaries.
This would also be a good opportunity to distribute Apple M1 binaries for the supported GHC versions (#1896)
The text was updated successfully, but these errors were encountered: