Skip to content
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

Binary-only releases should still have a Hackage release #4500

Open
fendor opened this issue Feb 16, 2025 · 3 comments
Open

Binary-only releases should still have a Hackage release #4500

fendor opened this issue Feb 16, 2025 · 3 comments
Assignees
Labels
Hackage Anything to do with Hackage distributions of HLS type: enhancement New feature or request

Comments

@fendor
Copy link
Collaborator

fendor commented Feb 16, 2025

Binary-only releases, such as HLS 2.9.0.1, did so far not have an accompanying Hackage release.
This is fine for HLS itself, but leads to worse UX for GHCup which provides an interface for compiling HLS binaries from source using the ghcup compile hls interface.

The issue is when users want to build from source, for whatever reason, the users' instinct is going to be to use ghcup compile hls -v <version>. However, when using the -v flag, GHCup is going to build HLS from Hackage. If the <version> is a binary only release, such as 2.9.0.1, then the most straight forward GHCup invocation is going to fail, as we didn't upload that version to Hackage.

There are workarounds, such as using a git tag or using an older version that is on Hackage. However, that's way worse UX for GHCup user (for various reasons). While we could discuss whether we should build from Hackage, I think a hackage release is trivial for us to do, and avoids some confusion.
In particular, people are sometimes wondering why the latest release and the Hackage release are out-of-sync.

So, I am proposing to amend our release process for binary-only releases, to always include a Hackage release in the future, even though the release of 2.9.0.1 would be exactly the same as 2.9.0.0.

@fendor
Copy link
Collaborator Author

fendor commented Feb 16, 2025

I don't know whether there was already a similar issue, and whether I simply forgot we already discussed this before.

@Bodigrim
Copy link
Contributor

For the record, I usually aim for cabal install haskell-language-server, which indeed depends on having the latest release on Hackage. This is how I install any other Haskell executables and I don't see why HLS must be different. While in early days HLS evolved too rapidly, it seems to be mature enough now.

@fendor fendor added Hackage Anything to do with Hackage distributions of HLS and removed status: needs triage labels Feb 19, 2025
@fendor fendor self-assigned this Mar 5, 2025
@michaelpj
Copy link
Collaborator

I agree with this. It's annoying that we have to bump the version number just for GHCup, but that's how it is, so we should release to Hackage too to avoid confusion.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Hackage Anything to do with Hackage distributions of HLS type: enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

3 participants