From d9d6fda949d15f317f1dfa0a9dc3f690e369a0aa Mon Sep 17 00:00:00 2001 From: Anton-Latukha Date: Mon, 27 Dec 2021 18:46:30 +0200 Subject: [PATCH 1/4] doc: contributing: m upd --- docs/contributing/contributing.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/contributing/contributing.md b/docs/contributing/contributing.md index 8dd8f2c354..4cea8eebd6 100644 --- a/docs/contributing/contributing.md +++ b/docs/contributing/contributing.md @@ -51,8 +51,8 @@ If you are using nix 2.4 style command (enabled by `experimental-features = nix- you can use `nix develop` instead of `nix-shell` to enter the development shell. To enter the shell with specific GHC versions: * `nix develop` or `nix develop .#haskell-language-server-dev` - default GHC version -* `nix develop .#haskell-language-server-8107-dev` - GHC 8.10.7 * `nix develop .#haskell-language-server-884-dev` - GHC 8.8.4 +* `nix develop .#haskell-language-server-8107-dev` - GHC 8.10.7 * `nix develop .#haskell-language-server-901-dev` - GHC 9.0.1 If you are looking for a Nix expression to create haskell-language-server binaries, see https://github.com/haskell/haskell-language-server/issues/122 @@ -60,8 +60,8 @@ If you are looking for a Nix expression to create haskell-language-server binari To create binaries: * `nix build` or `nix build .#haskell-language-server` - default GHC version -* `nix build .#haskell-language-server-8107` - GHC 8.10.7 * `nix build .#haskell-language-server-884` - GHC 8.8.4 +* `nix build .#haskell-language-server-8107` - GHC 8.10.7 * `nix build .#haskell-language-server-901` - GHC 9.0.1 GHC 8.6.5 is not supported here because `nixpkgs-unstable` no longer maintains the corresponding packages set. From 623b0236c206c96577bb135e1d1d6ea401529aab Mon Sep 17 00:00:00 2001 From: Anton-Latukha Date: Mon, 27 Dec 2021 18:50:12 +0200 Subject: [PATCH 2/4] doc: supported-versions: add note on 9.0.2 --- docs/supported-versions.md | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/supported-versions.md b/docs/supported-versions.md index 2485d94f4f..0bd0c71a78 100644 --- a/docs/supported-versions.md +++ b/docs/supported-versions.md @@ -7,6 +7,7 @@ The current support for different GHC versions is given in the following table. | GHC version | Last supporting HLS version | Deprecation status | | ----------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------- | | 9.2.0 | [not supported](https://github.com/haskell/haskell-language-server/issues/2179) yet | | +| 9.0.2 | [not supported](https://github.com/haskell/haskell-language-server/issues/2536) yet | | | 9.0.1 | [current](https://github.com/haskell/haskell-language-server/releases/latest) ([partial](https://github.com/haskell/haskell-language-server/issues/297)) | | | 8.10.7 | [current](https://github.com/haskell/haskell-language-server/releases/latest) | | | 8.10.6 | [current](https://github.com/haskell/haskell-language-server/releases/latest) | will be deprecated after LTS and HLS full support for ghc-9.0 | From 20c7f8e0d8323e7c62f9c4c7efcdd289a5558ad9 Mon Sep 17 00:00:00 2001 From: Anton-Latukha Date: Mon, 27 Dec 2021 19:36:22 +0200 Subject: [PATCH 3/4] doc: supported-versions: add initial notes on adding new GHCs --- docs/supported-versions.md | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/docs/supported-versions.md b/docs/supported-versions.md index 0bd0c71a78..429daeb978 100644 --- a/docs/supported-versions.md +++ b/docs/supported-versions.md @@ -26,6 +26,26 @@ GHC versions not in the list have never been supported by HLS, or are not planne The policy for when we deprecate support for versions of GHC is given below. The table reflects that, but we may decide to deviate from it for good reasons. +### Support of new GHCs + + 1. The platform installers of GHC must provide install support for new GHC version. + * [ghcup-metadata](https://github.com/haskell/ghcup-metadata) for `ghcup`. + * [GhcChoco](https://github.com/Mistuke/GhcChoco) for Windows. + 2. A report opened in [HLS reports](https://github.com/haskell/haskell-language-server/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3A%22type%3A+distribution%22) with `type: distribution` label. + 3. Provision the code for HLS to work with new GHC version. That PR would: + * Have the code that supports new GHC. + * Major GHC release support [is a complex task](https://github.com/haskell/haskell-language-server/pull/2503) & so would be often a crowdsource work, in that case in the branch do not force push. + * [Minor GHC release support example](https://github.com/haskell/haskell-language-server/pull/1899) + * Regardless of the type of GHC release the PR would need to (can be asked to crowdsource): + * Update to `.cabal` (at least `tested-with`), create new/update `.project` files (at least update `index-state`). + * Provide support through `stack*.yml` files. + * During work/builds GHC API changes would/may appear, they should be mirrored in `Compat*` modules. + * Enable CI to build-test with new GHC release. + * Pass the CI. + 4. A period of testing. + 5. Doing [the HLS release](./contributing/releases.md). + 6. `ghcup` to support the installation. + ### Using deprecated GHC versions Users who want to use a GHC version which is not supported by the latest HLS can still use older versions of HLS (consult the version support table above to identify the appropriate HLS version). From 22775ed8d78bf56e2df3cdeae40232e440786137 Mon Sep 17 00:00:00 2001 From: Anton-Latukha Date: Mon, 27 Dec 2021 19:48:02 +0200 Subject: [PATCH 4/4] doc: supported-versions: m upd --- docs/supported-versions.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/docs/supported-versions.md b/docs/supported-versions.md index 429daeb978..4173766a59 100644 --- a/docs/supported-versions.md +++ b/docs/supported-versions.md @@ -26,21 +26,21 @@ GHC versions not in the list have never been supported by HLS, or are not planne The policy for when we deprecate support for versions of GHC is given below. The table reflects that, but we may decide to deviate from it for good reasons. -### Support of new GHCs +### Support for the new GHC version - 1. The platform installers of GHC must provide install support for new GHC version. + 1. The platform installers of GHC must provide install support for the new GHC version. * [ghcup-metadata](https://github.com/haskell/ghcup-metadata) for `ghcup`. * [GhcChoco](https://github.com/Mistuke/GhcChoco) for Windows. 2. A report opened in [HLS reports](https://github.com/haskell/haskell-language-server/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3A%22type%3A+distribution%22) with `type: distribution` label. - 3. Provision the code for HLS to work with new GHC version. That PR would: - * Have the code that supports new GHC. + 3. Provision the code for HLS to work with the new GHC version. That PR would: + * Have the code that supports the new GHC. * Major GHC release support [is a complex task](https://github.com/haskell/haskell-language-server/pull/2503) & so would be often a crowdsource work, in that case in the branch do not force push. * [Minor GHC release support example](https://github.com/haskell/haskell-language-server/pull/1899) * Regardless of the type of GHC release the PR would need to (can be asked to crowdsource): * Update to `.cabal` (at least `tested-with`), create new/update `.project` files (at least update `index-state`). * Provide support through `stack*.yml` files. * During work/builds GHC API changes would/may appear, they should be mirrored in `Compat*` modules. - * Enable CI to build-test with new GHC release. + * Enable CI to build-test with the new GHC release. * Pass the CI. 4. A period of testing. 5. Doing [the HLS release](./contributing/releases.md).