Skip to content

Commit 7ba6279

Browse files
authored
Add GHC 8.10.5 support (#1899)
* Add GHC 8.10.5 * Remove GHC 8.10.2 * Fix cabal build * Downgrade bench to 8.10.4 as master do not have 8.10.5 * Add missing window builds * Update ghc-api-compat location * Mark a test as broken in GHC 8.10.5 * Exclude ghc 8.10.5 for MacOS CI * Update build.yml * Revert "Remove GHC 8.10.2" This reverts commit b85b029.
1 parent 7ea2f65 commit 7ba6279

19 files changed

+167
-25
lines changed

.circleci/config.yml

+6
Original file line numberDiff line numberDiff line change
@@ -103,6 +103,11 @@ jobs:
103103
- STACK_FILE: "stack-8.10.4.yaml"
104104
<<: *defaults
105105

106+
ghc-8.10.5:
107+
environment:
108+
- STACK_FILE: "stack-8.10.5.yaml"
109+
<<: *defaults
110+
106111
ghc-9.0.1:
107112
environment:
108113
- STACK_FILE: "stack-9.0.1.yaml"
@@ -126,5 +131,6 @@ workflows:
126131
- ghc-8.10.2
127132
- ghc-8.10.3
128133
- ghc-8.10.4
134+
- ghc-8.10.5
129135
- ghc-9.0.1
130136
- ghc-default

.github/workflows/build.yml

+7-5
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ jobs:
1616
strategy:
1717
fail-fast: false
1818
matrix:
19-
ghc: ['8.10.4', '8.10.3', '8.10.2', '8.8.4', '8.8.3', '8.8.2', '8.6.5', '8.6.4']
19+
ghc: ['8.10.5', '8.10.4', '8.10.3', '8.10.2', '8.8.4', '8.8.3', '8.8.2', '8.6.5', '8.6.4']
2020
os: [ubuntu-18.04, macOS-latest, windows-latest]
2121
exclude:
2222
- os: windows-latest
@@ -27,6 +27,8 @@ jobs:
2727
ghc: '8.8.3' # fails due to segfault
2828
- os: windows-latest
2929
ghc: '8.8.2' # fails due to error with Cabal
30+
- os: macOS-latest
31+
ghc: '8.10.5' # https://gitlab.haskell.org/ghc/ghc/-/issues/19968
3032
include:
3133
- os: windows-latest
3234
ghc: '8.10.2.2' # only available for windows and choco
@@ -113,11 +115,11 @@ jobs:
113115
path: ${{ steps.compress_server_binary.outputs.path }}
114116

115117
- name: Build Wrapper
116-
if: matrix.ghc == '8.10.4'
118+
if: matrix.ghc == '8.10.5'
117119
run: cabal build exe:hls-wrapper -O2 $LINUX_CABAL_ARGS
118120

119121
- name: Compress Wrapper Binary
120-
if: matrix.ghc == '8.10.4'
122+
if: matrix.ghc == '8.10.5'
121123
id: compress_wrapper_binary
122124
run: |
123125
HLS_WRAPPER_BUILD=$(find dist-newstyle \( -name 'hls-wrapper' -o -name 'hls-wrapper.exe' \) -type f)
@@ -136,7 +138,7 @@ jobs:
136138
fi
137139
138140
- name: Upload Wrapper
139-
if: matrix.ghc == '8.10.4'
141+
if: matrix.ghc == '8.10.5'
140142
uses: actions/[email protected]
141143
env:
142144
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
@@ -147,7 +149,7 @@ jobs:
147149
asset_content_type: ${{ steps.compress_wrapper_binary.outputs.content_type}}
148150

149151
- uses: actions/upload-artifact@v2
150-
if: matrix.ghc == '8.10.4'
152+
if: matrix.ghc == '8.10.5'
151153
with:
152154
name: haskell-language-server-wrapper-${{ runner.OS }}${{env.EXE_EXT}}.${{ steps.compress_wrapper_binary.outputs.extension }}
153155
path: ${{ steps.compress_wrapper_binary.outputs.path }}

.github/workflows/test.yml

+16-8
Original file line numberDiff line numberDiff line change
@@ -33,36 +33,44 @@ jobs:
3333
strategy:
3434
fail-fast: true
3535
matrix:
36-
ghc: ["9.0.1", "8.10.4", "8.10.3", "8.10.2", "8.8.4", "8.8.3", "8.8.2", "8.6.5", "8.6.4"]
36+
ghc: ["9.0.1", "8.10.5", "8.10.4", "8.10.3", "8.10.2", "8.8.4", "8.8.3", "8.8.2", "8.6.5", "8.6.4"]
3737
os: [ubuntu-latest, macOS-latest]
3838
include:
3939
# only test supported ghc major versions
4040
- os: ubuntu-latest
4141
ghc: '9.0.1'
4242
test: true
4343
- os: ubuntu-latest
44-
ghc: '8.10.4'
45-
test: true
46-
- os: windows-latest
47-
ghc: '8.10.4'
44+
ghc: '8.10.5'
4845
test: true
4946
- os: ubuntu-latest
5047
ghc: '8.8.4'
5148
test: true
5249
- os: ubuntu-latest
5350
ghc: '8.6.5'
5451
test: true
52+
# only build rest of supported ghc versions for windows
53+
# Disable window test temporarily because choco does not have GHC 8.10.5 yet
5554
- os: windows-latest
56-
ghc: '8.6.5'
55+
ghc: '8.10.5'
5756
test: true
58-
# only build rest of supported ghc versions for windows
5957
- os: windows-latest
60-
ghc: '8.10.2.2'
58+
ghc: '8.10.4'
6159
- os: windows-latest
6260
ghc: '8.10.3'
61+
- os: windows-latest
62+
ghc: '8.10.2.2'
63+
- os: windows-latest
64+
ghc: '8.6.5'
65+
test: true
6366
# This build get stuck frequently
6467
# - os: windows-latest
6568
# ghc: '8.6.4'
69+
exclude:
70+
# Not able to build 'network' package
71+
# See https://gitlab.haskell.org/ghc/ghc/-/issues/19968
72+
- os: macOS-latest
73+
ghc: '8.10.5'
6674

6775
steps:
6876
- if: ${{ needs.pre_job.outputs.should_skip != 'true' }}

cabal-ghc901.project

+1-1
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ source-repository-package
5151
source-repository-package
5252
type: git
5353
location: https://github.com/hsyl20/ghc-api-compat
54-
tag: 6178d75772c7d923918dfffa0b1f503dfb36d0a6
54+
tag: 8fee87eac97a538dbe81ff1ab18cff10f2f9fa15
5555

5656
source-repository-package
5757
type: git

cabal.project

+6
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,12 @@ package *
2828
ghc-options: -haddock
2929
test-show-details: direct
3030

31+
-- ghc-api-compat-8.6
32+
source-repository-package
33+
type: git
34+
location: https://github.com/hsyl20/ghc-api-compat
35+
tag: 8fee87eac97a538dbe81ff1ab18cff10f2f9fa15
36+
3137
write-ghc-environment-files: never
3238

3339
index-state: 2021-05-21T05:01:41Z

flake.nix

+3
Original file line numberDiff line numberDiff line change
@@ -167,6 +167,7 @@
167167
pkgs.haskellPackages.ghc.version);
168168
ghc884 = pkgs.hlsHpkgs "ghc884";
169169
ghc8104 = pkgs.hlsHpkgs "ghc8104";
170+
ghc8105 = pkgs.hlsHpkgs "ghc8105";
170171
ghc901 = pkgs.hlsHpkgs "ghc901";
171172

172173
# Create a development shell of hls project
@@ -216,12 +217,14 @@
216217
haskell-language-server-dev = mkDevShell ghcDefault;
217218
haskell-language-server-884-dev = mkDevShell ghc884;
218219
haskell-language-server-8104-dev = mkDevShell ghc8104;
220+
haskell-language-server-8105-dev = mkDevShell ghc8105;
219221
haskell-language-server-901-dev = mkDevShell ghc901;
220222

221223
# hls package
222224
haskell-language-server = mkExe ghcDefault;
223225
haskell-language-server-884 = mkExe ghc884;
224226
haskell-language-server-8104 = mkExe ghc8104;
227+
haskell-language-server-8105 = mkExe ghc8105;
225228
haskell-language-server-901 = mkExe ghc901;
226229
};
227230

ghcide/ghcide.cabal

+1-1
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ description:
1313
A library for building Haskell IDE's on top of the GHC API.
1414
homepage: https://github.com/haskell/haskell-language-server/tree/master/ghcide#readme
1515
bug-reports: https://github.com/haskell/haskell-language-server/issues
16-
tested-with: GHC == 8.6.4 || == 8.6.5 || == 8.8.2 || == 8.8.3 || == 8.8.4 || == 8.10.2 || == 8.10.3 || == 8.10.4 || == 9.0.1
16+
tested-with: GHC == 8.6.4 || == 8.6.5 || == 8.8.2 || == 8.8.3 || == 8.8.4 || == 8.10.2 || == 8.10.3 || == 8.10.4 || == 8.10.5 || == 9.0.1
1717
extra-source-files: README.md CHANGELOG.md
1818
test/data/**/*.project
1919
test/data/**/*.cabal

ghcide/test/exe/Main.hs

+3
Original file line numberDiff line numberDiff line change
@@ -3653,6 +3653,9 @@ checkFileCompiles fp diag =
36533653
pluginSimpleTests :: TestTree
36543654
pluginSimpleTests =
36553655
ignoreInWindowsForGHC88And810 $
3656+
#if __GLASGOW_HASKELL__ == 810 && __GLASGOW_HASKELL_PATCHLEVEL1__ == 5
3657+
expectFailBecause "known broken (see GHC #19763)" $
3658+
#endif
36563659
testSessionWithExtraFiles "plugin-knownnat" "simple plugin" $ \dir -> do
36573660
_ <- openDoc (dir </> "KnownNat.hs") "haskell"
36583661
liftIO $ writeFile (dir</>"hie.yaml")

haskell-language-server.cabal

+1-1
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ copyright: The Haskell IDE Team
1414
license: Apache-2.0
1515
license-file: LICENSE
1616
build-type: Simple
17-
tested-with: GHC == 8.6.4 || == 8.6.5 || == 8.8.2 || == 8.8.3 || == 8.8.4 || == 8.10.2 || == 8.10.3 || == 8.10.4
17+
tested-with: GHC == 8.6.4 || == 8.6.5 || == 8.8.2 || == 8.8.3 || == 8.8.4 || == 8.10.2 || == 8.10.3 || == 8.10.4 || == 8.10.5
1818
extra-source-files:
1919
README.md
2020
ChangeLog.md

stack-8.10.2.yaml

+3-1
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,9 @@ extra-deps:
3636
- data-tree-print-0.1.0.2@rev:2
3737
- floskell-0.10.4
3838
- fourmolu-0.3.0.0
39-
- ghc-api-compat-8.6
39+
- # ghc-api-compat-8.6
40+
github: hsyl20/ghc-api-compat
41+
commit: 8fee87eac97a538dbe81ff1ab18cff10f2f9fa15
4042
- ghc-check-0.5.0.4
4143
- ghc-exactprint-0.6.4
4244
- ghc-lib-8.10.4.20210206

stack-8.10.3.yaml

+3-1
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,9 @@ extra-deps:
3636
- data-tree-print-0.1.0.2@rev:2
3737
- floskell-0.10.4
3838
- fourmolu-0.3.0.0
39-
- ghc-api-compat-8.6
39+
- # ghc-api-compat-8.6
40+
github: hsyl20/ghc-api-compat
41+
commit: 8fee87eac97a538dbe81ff1ab18cff10f2f9fa15
4042
- ghc-check-0.5.0.4
4143
- ghc-exactprint-0.6.4
4244
- ghc-lib-8.10.4.20210206

stack-8.10.4.yaml

+3-1
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,9 @@ extra-deps:
3636
- data-tree-print-0.1.0.2@rev:2
3737
- floskell-0.10.4
3838
- fourmolu-0.3.0.0
39-
- ghc-api-compat-8.6
39+
- # ghc-api-compat-8.6
40+
github: hsyl20/ghc-api-compat
41+
commit: 8fee87eac97a538dbe81ff1ab18cff10f2f9fa15
4042
- ghc-check-0.5.0.4
4143
- ghc-exactprint-0.6.4
4244
- heapsize-0.3.0

stack-8.10.5.yaml

+98
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,98 @@
1+
# Fixme once GHC-8.10.5 LTS is out
2+
resolver: nightly-2021-06-01
3+
compiler: ghc-8.10.5
4+
5+
packages:
6+
- .
7+
- ./hie-compat
8+
- ./hls-graph
9+
- ./ghcide/
10+
- ./hls-plugin-api
11+
- ./hls-test-utils
12+
# - ./shake-bench
13+
- ./plugins/hls-class-plugin
14+
- ./plugins/hls-haddock-comments-plugin
15+
- ./plugins/hls-eval-plugin
16+
- ./plugins/hls-explicit-imports-plugin
17+
- ./plugins/hls-refine-imports-plugin
18+
- ./plugins/hls-hlint-plugin
19+
- ./plugins/hls-retrie-plugin
20+
- ./plugins/hls-splice-plugin
21+
- ./plugins/hls-tactics-plugin
22+
- ./plugins/hls-brittany-plugin
23+
- ./plugins/hls-stylish-haskell-plugin
24+
- ./plugins/hls-floskell-plugin
25+
- ./plugins/hls-fourmolu-plugin
26+
- ./plugins/hls-pragmas-plugin
27+
- ./plugins/hls-module-name-plugin
28+
- ./plugins/hls-ormolu-plugin
29+
30+
ghc-options:
31+
"$everything": -haddock
32+
33+
extra-deps:
34+
- apply-refact-0.9.3.0
35+
- brittany-0.13.1.2
36+
- Cabal-3.0.2.0
37+
- clock-0.7.2
38+
- data-tree-print-0.1.0.2@rev:2
39+
- floskell-0.10.5
40+
- fourmolu-0.3.0.0
41+
- # ghc-api-compat-8.6
42+
github: hsyl20/ghc-api-compat
43+
commit: 8fee87eac97a538dbe81ff1ab18cff10f2f9fa15
44+
- ghc-check-0.5.0.4
45+
- ghc-exactprint-0.6.4
46+
- heapsize-0.3.0
47+
- implicit-hie-cradle-0.3.0.2
48+
- implicit-hie-0.1.2.5
49+
- monad-dijkstra-0.1.1.2
50+
- refinery-0.3.0.0
51+
- retrie-1.0.0.0
52+
- stylish-haskell-0.12.2.0
53+
- semigroups-0.18.5
54+
- temporary-1.2.1.1
55+
- th-compat-0.1.2@sha256:3d55de1adc542c1a870c9ada90da2fbbe5f4e8bcd3eed545a55c3df9311b32a8,2854
56+
- bytestring-encoding-0.1.0.0@sha256:460b49779fbf0112e8e2f1753c1ed9131eb18827600c298f4d6bb51c4e8c1c0d,1727
57+
- hiedb-0.3.0.1
58+
- lsp-1.2.0.0
59+
- lsp-types-1.2.0.0
60+
- lsp-test-0.14.0.0
61+
- dependent-map-0.4.0.0@sha256:ca2b131046f4340a1c35d138c5a003fe4a5be96b14efc26291ed35fd08c62221,1657
62+
- dependent-sum-0.7.1.0@sha256:5599aa89637db434431b1dd3fa7c34bc3d565ee44f0519bfbc877be1927c2531,2068
63+
- dependent-sum-template-0.1.0.3@sha256:0bbbacdfbd3abf2a15aaf0cf2c27e5bdd159b519441fec39e1e6f2f54424adde,1682
64+
- constraints-extras-0.3.1.0
65+
- some-1.0.1@sha256:26e5bab7276f48b25ea8660d3fd1166c0f20fd497dac879a40f408e23211f93e,2055
66+
- unliftio-core-0.2.0.1@sha256:9b3e44ea9aacacbfc35b3b54015af450091916ac3618a41868ebf6546977659a,1082
67+
68+
# Enable these when supported by all formatters
69+
# - ghc-lib-9.0.1.20210324@sha256:c8b9a2541ea3424c8d0e4f80584477d0f35be03f4a47d931152042d5f446c5fc,19279
70+
# - ghc-lib-parser-9.0.1.20210324@sha256:fb680f78d4ab08b5d089a05bda3b84ad857e5edcc2e4ca7c188c0207d369af80
71+
# - ghc-lib-parser-ex-9.0.0.4@sha256:8282b11c3797fc8ba225b245e736cc9a0745d9c48d0f9fea7f9bffb5c9997709,3642
72+
# - hlint-3.3@sha256:4218ad6e03050f5d68aeba0e025f5f05e366c8fd49657f2a19df04ee31b2bb23,4154
73+
74+
configure-options:
75+
ghcide:
76+
- --disable-library-for-ghci
77+
haskell-language-server:
78+
- --disable-library-for-ghci
79+
heapsize:
80+
- --disable-library-for-ghci
81+
82+
flags:
83+
haskell-language-server:
84+
pedantic: true
85+
retrie:
86+
BuildExecutable: false
87+
# Stack doesn't support automatic flags.
88+
# Until the formatters support ghc-lib-9, we need this flag disabled
89+
hls-hlint-plugin:
90+
hlint33: false
91+
92+
# Because of implicit-hie-cradle-0.3.0.2 and stylish-haskell-0.12.2.0
93+
allow-newer: true
94+
95+
nix:
96+
packages: [ icu libcxx zlib ]
97+
98+
concurrent-tests: false

stack-8.6.4.yaml

+3-1
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,9 @@ extra-deps:
4343
- floskell-0.10.4
4444
- fourmolu-0.3.0.0
4545
- fuzzy-0.1.0.0
46-
- ghc-api-compat-8.6
46+
- # ghc-api-compat-8.6
47+
github: hsyl20/ghc-api-compat
48+
commit: 8fee87eac97a538dbe81ff1ab18cff10f2f9fa15
4749
- ghc-check-0.5.0.4
4850
- ghc-events-0.13.0
4951
- ghc-exactprint-0.6.4

stack-8.6.5.yaml

+3-1
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,9 @@ extra-deps:
4444
- floskell-0.10.4
4545
- fourmolu-0.3.0.0
4646
- fuzzy-0.1.0.0
47-
- ghc-api-compat-8.6
47+
- # ghc-api-compat-8.6
48+
github: hsyl20/ghc-api-compat
49+
commit: 8fee87eac97a538dbe81ff1ab18cff10f2f9fa15
4850
- ghc-check-0.5.0.4
4951
- ghc-events-0.13.0
5052
- ghc-exactprint-0.6.4

stack-8.8.2.yaml

+3-1
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,9 @@ extra-deps:
3838
- constrained-dynamic-0.1.0.0
3939
- floskell-0.10.4
4040
- fourmolu-0.3.0.0
41-
- ghc-api-compat-8.6
41+
- # ghc-api-compat-8.6
42+
github: hsyl20/ghc-api-compat
43+
commit: 8fee87eac97a538dbe81ff1ab18cff10f2f9fa15
4244
- ghc-check-0.5.0.4
4345
- ghc-events-0.13.0
4446
- ghc-exactprint-0.6.4

stack-8.8.3.yaml

+3-1
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,9 @@ extra-deps:
3838
- constrained-dynamic-0.1.0.0
3939
- floskell-0.10.4
4040
- fourmolu-0.3.0.0
41-
- ghc-api-compat-8.6
41+
- # ghc-api-compat-8.6
42+
github: hsyl20/ghc-api-compat
43+
commit: 8fee87eac97a538dbe81ff1ab18cff10f2f9fa15
4244
- ghc-check-0.5.0.4
4345
- ghc-exactprint-0.6.4
4446
- ghc-lib-8.10.4.20210206

stack-8.8.4.yaml

+3-1
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,9 @@ extra-deps:
3838
- constrained-dynamic-0.1.0.0
3939
- floskell-0.10.4
4040
- fourmolu-0.3.0.0
41-
- ghc-api-compat-8.6
41+
- # ghc-api-compat-8.6
42+
github: hsyl20/ghc-api-compat
43+
commit: 8fee87eac97a538dbe81ff1ab18cff10f2f9fa15
4244
- ghc-check-0.5.0.4
4345
- ghc-exactprint-0.6.4
4446
- ghc-lib-8.10.4.20210206

stack-9.0.1.yaml

+1-1
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@ extra-deps:
6868
# https://github.com/mpickering/hie-bios/pull/285
6969

7070
- github: hsyl20/ghc-api-compat
71-
commit: 6178d75772c7d923918dfffa0b1f503dfb36d0a6
71+
commit: 8fee87eac97a538dbe81ff1ab18cff10f2f9fa15
7272

7373
- github: anka-213/th-extras
7474
commit: 57a97b4df128eb7b360e8ab9c5759392de8d1659

0 commit comments

Comments
 (0)