Closed
Description
The machine never stops! Time to plan the new release.
- will include two new brand plugins
- and the continuous work of @pepeiborra improving performance
- it will remove support for ghc-8.10.5
- it should include the artifacts from gitlab, hopefully in a automated way (see Add hls-1.5.1 ghcup-metadata#11 and Build on FreeBSD12 only #2420
- as noted by @hasufell the version of the gh release should match the hackage one (so 1.6.0.0)
as always if anyone feels strong enough to drive the release or collaborate with, help will be very welcomed 😺
prerelease sanity checks
- trigger manually the hackage workflow without uploading the packages: https://github.com/jneira/haskell-language-server/actions/runs/1751828521
- trigger manually the build workflow : https://github.com/jneira/haskell-language-server/actions/runs/1753316308
- create a prerelease tag
1.6.0-check-gitlab
and push it to the project repo in gitlab to check the build is fine: https://gitlab.haskell.org/haskell/haskell-language-server/-/pipelines/46483
github release
- generate the list of pull requests finished since the last release using the haskell script in the project root.
Nix users should run commandgen-hls-changelogs
(a wrapper of the script) in nix-shell instead. - add that list to the actual Changelog with a description of the release.
- bump up versions of changed packages. All are optional but haskell-language-server itself.
- create the tag and make an initial prerelease to trigger the ci workflow (see details below)
- contact ghcup team (#haskell-ghcup irc channel or via its repo) to try to sync our release and its inclusion in ghcup
- in the github release edit page, check the attached binaries and the release description (usually the changelog entry) and uncheck the prerelease box
- make public the release in the usual social channels (not required but useful to spread the word 🙂):
- irc
- matrix
- discord
- discourse
hackage release
- bump up package versions following the pvp specification if they are not already updated. You could use policeman to help with this step.
- create 1.6.0-hackage branch to trigger the hackage github workflow which will upload all changed packages to hackage as candidates
- check manually candidates in hackage
- publish them definitely
ghcup release
- push the release tag to the haskell-language-server gitlab repo to trigger the build of ghcup specific artifacts
- download specific artifacts only available in the gitlab build and compute their sha256sum
- upload them to the github release and complete the SHA256SUMS file
- change ghcup metadata to include the new release in https://github.com/haskell/ghcup-metadata
- example pull request here
- pull request: Add hls-1.6.0.0 ghcup-metadata#19