Prepare release 2.9.0.0#4319
Conversation
|
I think we should at least wait for #4314 and re-enable the fourmolu plugin. |
|
@michaelpj Ok, that's fine by me. If we wait, we can also include #4318. I am just making sure, we are not further bogged down by CI issues. |
|
Remember to update the support tables in the docs (that should be in the checklist!) |
|
It is in the checklist, just the fourth to last item, which is clearly too late :) Moved it up in the checklist. |
|
Done, updated the supported GHC version table |
|
Uh... I should have actually read the checklist before commenting 😅 |
| | `hls-floskell-plugin` | 3 | | | ||
| | `hls-stan-plugin` | 3 | 9.2.(4-8) | | ||
| | `hls-stan-plugin` | 3 | 9.2.(4-8), 9.10.1 | | ||
| | `hls-retrie-plugin` | 3 | | |
There was a problem hiding this comment.
There are more plugins not supported on 9.10!
There was a problem hiding this comment.
Which ones? In haskell-language-server.cabal, I could only find stan having:
common stan
if flag(stan) && (impl(ghc > 8.8.1) && impl(ghc <= 9.2.3) || impl(ghc >= 9.4.0) && impl(ghc < 9.10.0))
build-depends: haskell-language-server:hls-stan-plugin
cpp-options: -Dhls_stan
...
if flag(stan) && (impl(ghc > 8.8.1) && impl(ghc <= 9.2.3) || impl(ghc >= 9.4.0) && impl(ghc < 9.10.0))
buildable: True
else
buildable: False
There was a problem hiding this comment.
Ah, I found more in .github/workflow/test.yml
There was a problem hiding this comment.
Hmm, I'm surprised nothing else has guards in the cabal file? I would expect us to still try and build them if not?
There was a problem hiding this comment.
Oh right, we set the flags in cabal.project, that's where they're turned off.
There was a problem hiding this comment.
Does that work? Like will this not affect cabal install haskell-language-server -w 9.10.1?
There was a problem hiding this comment.
I'm unsure what our policy should be here. We should probably either be consistently setting things in cabal.project or in the cabal file...
The older 'bytestring-0.11.1.0' version doesn't compile with the recent GHC 9.10.1 release. Bump the version to '0.12.1.0' which can be successfully compiled on all supported GHC versions.
|
I removed the remaining unnecesssary cabal.project bits |
|
Reverted sorry, I was doing it wrong |
Having them in the cabal.project file is a very neat way to enable/disable a plugin, but it negatively affects Hackage users as they can no longer trivially install HLS from Hackage. This discussion might be revisited in the future, but not during a release process.
On some platforms, building bytestring-0.12.1.0 is not fully supported yet. Hence, we disable tests and benchmarks, to allow building on the platform Windows with GHC 9.10.1.
|
ℹ️ One has to patch haskell-language-server/GNUmakefile Line 141 in 287ee42 👉 Patch: Modify "$(STORE_DIR)/ghc-$(GHC_VERSION)" to "$(STORE_DIR)/ghc-$(GHC_VERSION)-inplace".
Cross reference: |
Releasing
Release checklist
.github/workflows/release.yamlghc: [to find all lists.TODO:to find locations that require extra care for GHC versions.*.cabalfiles (same version as hls)hie-compatrequires no automatic version bump.shake-benchis an internal testing tool, not exposed to the outside world. Thus, no version bump required for releases../GenChangelogs.hs <api-key> <tag><tag>is the git tag you want to generate the ChangeLog from.<api-key>is a github access key: https://github.com/settings/tokenswip/<version>git switch -c wip/<version><version>git tag <version>git push <remote> <version>sh scripts/release/download-gh-artifacts.sh <version> <your-gpg-email>gh-release-artifacts/haskell-language-server-<version>/gh-release-artifacts/haskell-language-server-<version>/cd gh-release-artifacts/haskell-language-server-<version>SIGNING_KEY=... ../../release/upload.sh uploadgpg --list-secret-keys --keyid-format=longhttps://downloads.haskell.org/~hls/haskell-language-server-<version>/SIGNING_KEY=... ../../release/upload.sh purge_allto remove CDN cachesghcup-vanilla-0.0.8.yamlandghcup-vanilla-0.0.7.yamlsh scripts/release/create-yaml-snippet.sh <version>to generate a snippet that can be manually inserted into the yaml filesupdateCurrently unnecessary, GHCup builds its own HLS binaries and updates that file.hls-metadata-0.0.1.jsoncabal run ghcup-gen -- generate-hls-ghcs -f ghcup-0.0.7.yaml --format json --stdoutin the root of ghcup-metadata repository