You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Post 1.6.0.0 fixes and prepare 1.6.1.0 bug fix release (#2647)
* Reverse condition to upload candidates
As github.event.inputs.upload-candidates has no value when
the workflow is triggered via a -hackage branch
* Remove parenthesis
* Remove unused rerun by comment
* Remove install zip (again)
* Ignore gitlab ci in github
* Update release instructions
* Correct hls version
* Use name schema of github release
* Apply markdown-lint
* Complete th workarounds
* Bum up hls version
* Fix bug hls-wrapper non static
* Update dynamic build instructions
* Bump up wingman due to the last fix
* Correct grammar
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
Copy file name to clipboardExpand all lines: ChangeLog.md
+2-2
Original file line number
Diff line number
Diff line change
@@ -1,6 +1,6 @@
1
1
# Changelog for haskell-language-server
2
2
3
-
## 1.6.0
3
+
## 1.6.0.0
4
4
5
5
Time for a new and exciting hls release:
6
6
@@ -9,7 +9,7 @@ Time for a new and exciting hls release:
9
9
-[Qualify imported names](https://haskell-language-server.readthedocs.io/en/latest/features.html#qualify-imported-names) thanks to @eddiemundo
10
10
- New plugin to support [selection range](https://haskell-language-server.readthedocs.io/en/latest/features.html#selection-range) (aka double click text selection) thanks to @kokobd
- Including core features and [many plugins](https://haskell-language-server.readthedocs.io/en/latest/supported-versions.html#plugins-support-by-ghc-version))
12
+
- Including core features and [many plugins](https://haskell-language-server.readthedocs.io/en/latest/supported-versions.html#plugins-support-by-ghc-version)
13
13
- Thanks to a great collective effort coordinated by @pepeiborra and with the help of @wz1000, @mpickering and @alanz among others
14
14
- Hls now also [supports *ghc 9.0.2*](https://github.com/haskell/haskell-language-server/issues/297) with all plugins but the stylish-haskell formatter
15
15
- Including the [wingman plugin](https://github.com/haskell/haskell-language-server/tree/master/plugins/hls-tactics-plugin) thanks to @isovector and @anka-213
Copy file name to clipboardExpand all lines: docs/contributing/releases.md
+6-13
Original file line number
Diff line number
Diff line change
@@ -43,12 +43,15 @@ and it is being used in nix environments.
43
43
44
44
-[ ] bump up package versions following the [pvp specification](https://pvp.haskell.org/) if they are not already updated. You could use [policeman](https://github.com/kowainik/policeman) to help with this step.
45
45
-[ ] create ${version}-hackage branch to trigger the hackage github workflow which will upload all changed packages to hackage as candidates
46
+
-[ ] for new plugins or packages, update hackage uploaders to add the author of the plugin/package and some hls maintainer(s) other than the owner of the hackage api key used to upload them (it has to be done by the owner of the api key, actually @pepeiborra)
46
47
-[ ] check manually candidates in hackage
47
48
-[ ] publish them definitely
48
49
49
50
### ghcup release
50
51
51
52
-[ ] push the release tag to the [haskell-language-server gitlab repo](https://gitlab.haskell.org/haskell/haskell-language-server) to trigger the build of ghcup specific artifacts
53
+
-[ ] download specific artifacts [only available in the gitlab build](#haskell-gitlab-release-pipeline) and compute their sha256sum
54
+
-[ ] upload them to the github release and complete the SHA256SUMS file
52
55
-[ ] change ghcup metadata to include the new release in <https://github.com/haskell/ghcup-metadata>
53
56
- example pull request [here](https://github.com/haskell/ghcup-metadata/pull/11)
54
57
@@ -124,20 +127,10 @@ It just kicks off a matrix of jobs varying across GHC versions and OSs, building
124
127
the binaries with Cabal and extracting them from the dist-newstyle directory.
125
128
The binaries are built with -O2.
126
129
127
-
One caveat is that we need to rename the binaries from
128
-
haskell-language-server/haskell-language-server-wrapper to hls/hls-wrapper due to
129
-
path length limitations on windows. But whenever we upload them to the release,
130
-
we make sure to upload them as their full name variant.
131
-
132
130
### Failing workflow
133
131
134
-
If the workflow fail and all of some binaries has not been uploaded,
135
-
the prerelease and the tag itself has to be recreated to start it again.
136
-
If only some of the artefacts are missing, an alternative could be make
137
-
the release in a fork and upload manually them.
138
-
139
-
If they are missing due to ci specific problems we can build the executable locally
140
-
and add it to the existing release.
132
+
If the workflow fail and some binaries has been already uploaded,
133
+
those artifacts must be removed and the build should be re-ran (the build tries to upload themm all and it fails if there is an existing artifact with the same name)
141
134
142
135
### Updating release artifacts
143
136
@@ -171,7 +164,7 @@ The script will upload the tarballs as candidates, maintainers will have to chec
171
164
172
165
The project is present in the haskell gitlab server: <https://gitlab.haskell.org/haskell/haskell-language-server>
173
166
The main motivation is to leverage the ci infrastructure which includes architectures not included in the github ci.
174
-
The specific architectures only available through gitlab are: `armv7-linux`, `x86_64-freebsd`, `aarch64-darwin`, `aarch64-linux`
167
+
The specific architectures only available through gitlab are: `aarch64-darwin`, `aarch64-linux`, `armv7-linux`, `x86_64-freebsd12`, `x86_64-freebsd13`, `x86_64-linux-alpine`
175
168
The gitlab pipeline uses the configuration file [.gitlab-ci.yml](https://github.com/haskell/haskell-language-server/blob/master/.gitlab-ci.yml)
176
169
and the sh scripts in [.gitlab](https://github.com/haskell/haskell-language-server/tree/master/.gitlab)
177
170
It is triggered by pushing a tag to the gitlab repo.
Copy file name to clipboardExpand all lines: docs/installation.md
+4-2
Original file line number
Diff line number
Diff line change
@@ -1,6 +1,7 @@
1
1
# Installation
2
2
3
3
A typical haskell-language-server installation consists of:
4
+
4
5
- One binary file for each supported ghc version: `haskell-language-server-${ghcVersion}`
5
6
- Another binary named `haskell-language-version-wrapper` which analyzes the project or file in the current working dir
6
7
and calls the appropiate `haskell-language-server-${ghcVersion}` variant.
@@ -15,13 +16,15 @@ A typical haskell-language-server installation consists of:
15
16
## ghcup
16
17
17
18
If you are using [`ghcup`](https://www.haskell.org/ghcup/) to manage your installations, you can install `haskell-language-server` with
19
+
18
20
```bash
19
21
ghcup install hls
20
22
```
21
23
22
24
You can check if HLS is available for your platorm via ghcup here: <https://haskell.org/ghcup/install/#supported-platforms>.
23
25
24
26
You can also install HLS from source without checking out the code manually:
27
+
25
28
```bash
26
29
ghcup compile hls -v 1.4.0 8.10.7
27
30
```
@@ -31,6 +34,7 @@ Check `ghcup compile hls --help` for a full list of compilation options.
31
34
## chocolatey
32
35
33
36
If you are using [`chocolatey`](https://chocolatey.org/) to manage your installations in windows, [you can install `haskell-language-server`](https://community.chocolatey.org/packages/haskell-language-server) with
Copy file name to clipboardExpand all lines: docs/troubleshooting.md
+26-4
Original file line number
Diff line number
Diff line change
@@ -160,18 +160,40 @@ The server log will show which cradle is being chosen.
160
160
161
161
Using an explicit `hie.yaml` to configure the cradle can resolve the problem, see the [configuration page](./configuration.md#configuring-your-project-build).
162
162
163
-
### Static binaries
163
+
### Static binaries and template haskell support
164
164
165
165
Static binaries use the GHC linker for dynamically loading dependencies when typechecking TH code, and this can run into issues when loading shared objects linked against mismatching system libraries, or into GHC linker bugs (mainly the Mach linker used in Mac OS, but also potentially the ELF linker).
166
166
Dynamically linked binaries (including`ghci`) use the system linker instead of the GHC linker and avoid both issues.
167
167
168
168
The easiest way to obtain a dynamically linked HLS binary is to build it locally. With `cabal` this can be done as follows:
If you are compiling with a ghc version with a specific `cabal-ghc${ghcVersion}.project` in the repo you will have to use it. For example for ghc-9.0.x:
0 commit comments