Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add GHC 8.10.5 support #1899

Merged
merged 10 commits into from
Jun 10, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -103,6 +103,11 @@ jobs:
- STACK_FILE: "stack-8.10.4.yaml"
<<: *defaults

ghc-8.10.5:
environment:
- STACK_FILE: "stack-8.10.5.yaml"
<<: *defaults

ghc-9.0.1:
environment:
- STACK_FILE: "stack-9.0.1.yaml"
Expand All @@ -126,5 +131,6 @@ workflows:
- ghc-8.10.2
- ghc-8.10.3
- ghc-8.10.4
- ghc-8.10.5
- ghc-9.0.1
- ghc-default
12 changes: 7 additions & 5 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ jobs:
strategy:
fail-fast: false
matrix:
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']
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']
os: [ubuntu-18.04, macOS-latest, windows-latest]
exclude:
- os: windows-latest
Expand All @@ -27,6 +27,8 @@ jobs:
ghc: '8.8.3' # fails due to segfault
- os: windows-latest
ghc: '8.8.2' # fails due to error with Cabal
- os: macOS-latest
ghc: '8.10.5' # https://gitlab.haskell.org/ghc/ghc/-/issues/19968
include:
- os: windows-latest
ghc: '8.10.2.2' # only available for windows and choco
Expand Down Expand Up @@ -113,11 +115,11 @@ jobs:
path: ${{ steps.compress_server_binary.outputs.path }}

- name: Build Wrapper
if: matrix.ghc == '8.10.4'
if: matrix.ghc == '8.10.5'
run: cabal build exe:hls-wrapper -O2 $LINUX_CABAL_ARGS

- name: Compress Wrapper Binary
if: matrix.ghc == '8.10.4'
if: matrix.ghc == '8.10.5'
id: compress_wrapper_binary
run: |
HLS_WRAPPER_BUILD=$(find dist-newstyle \( -name 'hls-wrapper' -o -name 'hls-wrapper.exe' \) -type f)
Expand All @@ -136,7 +138,7 @@ jobs:
fi

- name: Upload Wrapper
if: matrix.ghc == '8.10.4'
if: matrix.ghc == '8.10.5'
uses: actions/[email protected]
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
Expand All @@ -147,7 +149,7 @@ jobs:
asset_content_type: ${{ steps.compress_wrapper_binary.outputs.content_type}}

- uses: actions/upload-artifact@v2
if: matrix.ghc == '8.10.4'
if: matrix.ghc == '8.10.5'
with:
name: haskell-language-server-wrapper-${{ runner.OS }}${{env.EXE_EXT}}.${{ steps.compress_wrapper_binary.outputs.extension }}
path: ${{ steps.compress_wrapper_binary.outputs.path }}
Expand Down
24 changes: 16 additions & 8 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -33,36 +33,44 @@ jobs:
strategy:
fail-fast: true
matrix:
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"]
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"]
os: [ubuntu-latest, macOS-latest]
include:
# only test supported ghc major versions
- os: ubuntu-latest
ghc: '9.0.1'
test: true
- os: ubuntu-latest
ghc: '8.10.4'
test: true
- os: windows-latest
ghc: '8.10.4'
Ailrun marked this conversation as resolved.
Show resolved Hide resolved
ghc: '8.10.5'
test: true
- os: ubuntu-latest
ghc: '8.8.4'
test: true
- os: ubuntu-latest
ghc: '8.6.5'
test: true
# only build rest of supported ghc versions for windows
# Disable window test temporarily because choco does not have GHC 8.10.5 yet
- os: windows-latest
ghc: '8.6.5'
ghc: '8.10.5'
test: true
# only build rest of supported ghc versions for windows
- os: windows-latest
ghc: '8.10.2.2'
ghc: '8.10.4'
- os: windows-latest
ghc: '8.10.3'
- os: windows-latest
ghc: '8.10.2.2'
- os: windows-latest
ghc: '8.6.5'
test: true
# This build get stuck frequently
# - os: windows-latest
# ghc: '8.6.4'
exclude:
# Not able to build 'network' package
# See https://gitlab.haskell.org/ghc/ghc/-/issues/19968
- os: macOS-latest
ghc: '8.10.5'

steps:
- if: ${{ needs.pre_job.outputs.should_skip != 'true' }}
Expand Down
2 changes: 1 addition & 1 deletion cabal-ghc901.project
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ source-repository-package
source-repository-package
type: git
location: https://github.com/hsyl20/ghc-api-compat
tag: 6178d75772c7d923918dfffa0b1f503dfb36d0a6
tag: 8fee87eac97a538dbe81ff1ab18cff10f2f9fa15

source-repository-package
type: git
Expand Down
6 changes: 6 additions & 0 deletions cabal.project
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,12 @@ package *
ghc-options: -haddock
test-show-details: direct

-- ghc-api-compat-8.6
source-repository-package
type: git
location: https://github.com/hsyl20/ghc-api-compat
tag: 8fee87eac97a538dbe81ff1ab18cff10f2f9fa15

write-ghc-environment-files: never

index-state: 2021-05-21T05:01:41Z
Expand Down
3 changes: 3 additions & 0 deletions flake.nix
Original file line number Diff line number Diff line change
Expand Up @@ -167,6 +167,7 @@
pkgs.haskellPackages.ghc.version);
ghc884 = pkgs.hlsHpkgs "ghc884";
ghc8104 = pkgs.hlsHpkgs "ghc8104";
ghc8105 = pkgs.hlsHpkgs "ghc8105";
ghc901 = pkgs.hlsHpkgs "ghc901";

# Create a development shell of hls project
Expand Down Expand Up @@ -216,12 +217,14 @@
haskell-language-server-dev = mkDevShell ghcDefault;
haskell-language-server-884-dev = mkDevShell ghc884;
haskell-language-server-8104-dev = mkDevShell ghc8104;
haskell-language-server-8105-dev = mkDevShell ghc8105;
haskell-language-server-901-dev = mkDevShell ghc901;

# hls package
haskell-language-server = mkExe ghcDefault;
haskell-language-server-884 = mkExe ghc884;
haskell-language-server-8104 = mkExe ghc8104;
haskell-language-server-8105 = mkExe ghc8105;
haskell-language-server-901 = mkExe ghc901;
};

Expand Down
2 changes: 1 addition & 1 deletion ghcide/ghcide.cabal
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ description:
A library for building Haskell IDE's on top of the GHC API.
homepage: https://github.com/haskell/haskell-language-server/tree/master/ghcide#readme
bug-reports: https://github.com/haskell/haskell-language-server/issues
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
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
extra-source-files: README.md CHANGELOG.md
test/data/**/*.project
test/data/**/*.cabal
Expand Down
3 changes: 3 additions & 0 deletions ghcide/test/exe/Main.hs
Original file line number Diff line number Diff line change
Expand Up @@ -3653,6 +3653,9 @@ checkFileCompiles fp diag =
pluginSimpleTests :: TestTree
pluginSimpleTests =
ignoreInWindowsForGHC88And810 $
#if __GLASGOW_HASKELL__ == 810 && __GLASGOW_HASKELL_PATCHLEVEL1__ == 5
expectFailBecause "known broken (see GHC #19763)" $
#endif
testSessionWithExtraFiles "plugin-knownnat" "simple plugin" $ \dir -> do
_ <- openDoc (dir </> "KnownNat.hs") "haskell"
liftIO $ writeFile (dir</>"hie.yaml")
Expand Down
2 changes: 1 addition & 1 deletion haskell-language-server.cabal
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ copyright: The Haskell IDE Team
license: Apache-2.0
license-file: LICENSE
build-type: Simple
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
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
extra-source-files:
README.md
ChangeLog.md
Expand Down
4 changes: 3 additions & 1 deletion stack-8.10.2.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,9 @@ extra-deps:
- data-tree-print-0.1.0.2@rev:2
- floskell-0.10.4
- fourmolu-0.3.0.0
- ghc-api-compat-8.6
- # ghc-api-compat-8.6
github: hsyl20/ghc-api-compat
commit: 8fee87eac97a538dbe81ff1ab18cff10f2f9fa15
- ghc-check-0.5.0.4
- ghc-exactprint-0.6.4
- ghc-lib-8.10.4.20210206
Expand Down
4 changes: 3 additions & 1 deletion stack-8.10.3.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,9 @@ extra-deps:
- data-tree-print-0.1.0.2@rev:2
- floskell-0.10.4
- fourmolu-0.3.0.0
- ghc-api-compat-8.6
- # ghc-api-compat-8.6
github: hsyl20/ghc-api-compat
commit: 8fee87eac97a538dbe81ff1ab18cff10f2f9fa15
- ghc-check-0.5.0.4
- ghc-exactprint-0.6.4
- ghc-lib-8.10.4.20210206
Expand Down
4 changes: 3 additions & 1 deletion stack-8.10.4.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,9 @@ extra-deps:
- data-tree-print-0.1.0.2@rev:2
- floskell-0.10.4
- fourmolu-0.3.0.0
- ghc-api-compat-8.6
- # ghc-api-compat-8.6
github: hsyl20/ghc-api-compat
commit: 8fee87eac97a538dbe81ff1ab18cff10f2f9fa15
- ghc-check-0.5.0.4
- ghc-exactprint-0.6.4
- heapsize-0.3.0
Expand Down
98 changes: 98 additions & 0 deletions stack-8.10.5.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,98 @@
# Fixme once GHC-8.10.5 LTS is out
resolver: nightly-2021-06-01
compiler: ghc-8.10.5

packages:
- .
- ./hie-compat
- ./hls-graph
- ./ghcide/
- ./hls-plugin-api
- ./hls-test-utils
# - ./shake-bench
- ./plugins/hls-class-plugin
- ./plugins/hls-haddock-comments-plugin
- ./plugins/hls-eval-plugin
- ./plugins/hls-explicit-imports-plugin
- ./plugins/hls-refine-imports-plugin
- ./plugins/hls-hlint-plugin
- ./plugins/hls-retrie-plugin
- ./plugins/hls-splice-plugin
- ./plugins/hls-tactics-plugin
- ./plugins/hls-brittany-plugin
- ./plugins/hls-stylish-haskell-plugin
- ./plugins/hls-floskell-plugin
- ./plugins/hls-fourmolu-plugin
- ./plugins/hls-pragmas-plugin
- ./plugins/hls-module-name-plugin
- ./plugins/hls-ormolu-plugin

ghc-options:
"$everything": -haddock

extra-deps:
- apply-refact-0.9.3.0
- brittany-0.13.1.2
- Cabal-3.0.2.0
- clock-0.7.2
- data-tree-print-0.1.0.2@rev:2
- floskell-0.10.5
- fourmolu-0.3.0.0
- # ghc-api-compat-8.6
github: hsyl20/ghc-api-compat
commit: 8fee87eac97a538dbe81ff1ab18cff10f2f9fa15
- ghc-check-0.5.0.4
- ghc-exactprint-0.6.4
- heapsize-0.3.0
- implicit-hie-cradle-0.3.0.2
- implicit-hie-0.1.2.5
- monad-dijkstra-0.1.1.2
- refinery-0.3.0.0
- retrie-1.0.0.0
- stylish-haskell-0.12.2.0
- semigroups-0.18.5
- temporary-1.2.1.1
- th-compat-0.1.2@sha256:3d55de1adc542c1a870c9ada90da2fbbe5f4e8bcd3eed545a55c3df9311b32a8,2854
- bytestring-encoding-0.1.0.0@sha256:460b49779fbf0112e8e2f1753c1ed9131eb18827600c298f4d6bb51c4e8c1c0d,1727
- hiedb-0.3.0.1
- lsp-1.2.0.0
- lsp-types-1.2.0.0
- lsp-test-0.14.0.0
- dependent-map-0.4.0.0@sha256:ca2b131046f4340a1c35d138c5a003fe4a5be96b14efc26291ed35fd08c62221,1657
- dependent-sum-0.7.1.0@sha256:5599aa89637db434431b1dd3fa7c34bc3d565ee44f0519bfbc877be1927c2531,2068
- dependent-sum-template-0.1.0.3@sha256:0bbbacdfbd3abf2a15aaf0cf2c27e5bdd159b519441fec39e1e6f2f54424adde,1682
- constraints-extras-0.3.1.0
- some-1.0.1@sha256:26e5bab7276f48b25ea8660d3fd1166c0f20fd497dac879a40f408e23211f93e,2055
- unliftio-core-0.2.0.1@sha256:9b3e44ea9aacacbfc35b3b54015af450091916ac3618a41868ebf6546977659a,1082

# Enable these when supported by all formatters
# - ghc-lib-9.0.1.20210324@sha256:c8b9a2541ea3424c8d0e4f80584477d0f35be03f4a47d931152042d5f446c5fc,19279
# - ghc-lib-parser-9.0.1.20210324@sha256:fb680f78d4ab08b5d089a05bda3b84ad857e5edcc2e4ca7c188c0207d369af80
# - ghc-lib-parser-ex-9.0.0.4@sha256:8282b11c3797fc8ba225b245e736cc9a0745d9c48d0f9fea7f9bffb5c9997709,3642
# - hlint-3.3@sha256:4218ad6e03050f5d68aeba0e025f5f05e366c8fd49657f2a19df04ee31b2bb23,4154

configure-options:
ghcide:
- --disable-library-for-ghci
haskell-language-server:
- --disable-library-for-ghci
heapsize:
- --disable-library-for-ghci

flags:
haskell-language-server:
pedantic: true
retrie:
BuildExecutable: false
# Stack doesn't support automatic flags.
# Until the formatters support ghc-lib-9, we need this flag disabled
hls-hlint-plugin:
hlint33: false

# Because of implicit-hie-cradle-0.3.0.2 and stylish-haskell-0.12.2.0
allow-newer: true

nix:
packages: [ icu libcxx zlib ]

concurrent-tests: false
4 changes: 3 additions & 1 deletion stack-8.6.4.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,9 @@ extra-deps:
- floskell-0.10.4
- fourmolu-0.3.0.0
- fuzzy-0.1.0.0
- ghc-api-compat-8.6
- # ghc-api-compat-8.6
github: hsyl20/ghc-api-compat
commit: 8fee87eac97a538dbe81ff1ab18cff10f2f9fa15
- ghc-check-0.5.0.4
- ghc-events-0.13.0
- ghc-exactprint-0.6.4
Expand Down
4 changes: 3 additions & 1 deletion stack-8.6.5.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,9 @@ extra-deps:
- floskell-0.10.4
- fourmolu-0.3.0.0
- fuzzy-0.1.0.0
- ghc-api-compat-8.6
- # ghc-api-compat-8.6
github: hsyl20/ghc-api-compat
commit: 8fee87eac97a538dbe81ff1ab18cff10f2f9fa15
- ghc-check-0.5.0.4
- ghc-events-0.13.0
- ghc-exactprint-0.6.4
Expand Down
4 changes: 3 additions & 1 deletion stack-8.8.2.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,9 @@ extra-deps:
- constrained-dynamic-0.1.0.0
- floskell-0.10.4
- fourmolu-0.3.0.0
- ghc-api-compat-8.6
- # ghc-api-compat-8.6
github: hsyl20/ghc-api-compat
commit: 8fee87eac97a538dbe81ff1ab18cff10f2f9fa15
- ghc-check-0.5.0.4
- ghc-events-0.13.0
- ghc-exactprint-0.6.4
Expand Down
4 changes: 3 additions & 1 deletion stack-8.8.3.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,9 @@ extra-deps:
- constrained-dynamic-0.1.0.0
- floskell-0.10.4
- fourmolu-0.3.0.0
- ghc-api-compat-8.6
- # ghc-api-compat-8.6
github: hsyl20/ghc-api-compat
commit: 8fee87eac97a538dbe81ff1ab18cff10f2f9fa15
- ghc-check-0.5.0.4
- ghc-exactprint-0.6.4
- ghc-lib-8.10.4.20210206
Expand Down
4 changes: 3 additions & 1 deletion stack-8.8.4.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,9 @@ extra-deps:
- constrained-dynamic-0.1.0.0
- floskell-0.10.4
- fourmolu-0.3.0.0
- ghc-api-compat-8.6
- # ghc-api-compat-8.6
github: hsyl20/ghc-api-compat
commit: 8fee87eac97a538dbe81ff1ab18cff10f2f9fa15
- ghc-check-0.5.0.4
- ghc-exactprint-0.6.4
- ghc-lib-8.10.4.20210206
Expand Down
2 changes: 1 addition & 1 deletion stack-9.0.1.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -68,7 +68,7 @@ extra-deps:
# https://github.com/mpickering/hie-bios/pull/285

- github: hsyl20/ghc-api-compat
commit: 6178d75772c7d923918dfffa0b1f503dfb36d0a6
commit: 8fee87eac97a538dbe81ff1ab18cff10f2f9fa15

- github: anka-213/th-extras
commit: 57a97b4df128eb7b360e8ab9c5759392de8d1659
Expand Down