Skip to content

Support ghc-9.2.4 #3085

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

Merged
merged 2 commits into from
Aug 11, 2022
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: 0 additions & 6 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -77,22 +77,16 @@ version: 2
jobs:
stackage-lts16:
environment:
# https://github.com/digital-asset/ghc-lib/issues/352
- CPATH: "/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/ffi:$CPATH"
- STACK_FILE: "stack-lts16.yaml"
<<: *defaults

stackage-lts19:
environment:
# https://github.com/digital-asset/ghc-lib/issues/352
- CPATH: "/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/ffi:$CPATH"
- STACK_FILE: "stack-lts19.yaml"
<<: *defaults

stackage-nightly:
environment:
# https://github.com/digital-asset/ghc-lib/issues/352
- CPATH: "/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/ffi:$CPATH"
- STACK_FILE: "stack.yaml"
<<: *defaults

Expand Down
21 changes: 0 additions & 21 deletions .github/actions/setup-build/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -42,27 +42,6 @@ runs:
echo "CABAL_PKGS_DIR=~/.cabal/packages" >> $GITHUB_ENV
shell: bash

# This copy an alternative cabal-ghc${GHCVER}.project (for example cabal-ghc92.project)
# as main cabal-project, for not fully supported ghc versions
# Needs to be before the caching step so that the cache can detect changes to the modified cabal.project file
- name: Use possible modified `cabal.project`
env:
GHCVER: ${{ inputs.ghc }}
run: |
# File has some protections preventing regular `rm`.
# (most probably sticky bit is set on $HOME)
# `&&` insures `rm -f` return is positive.
# Many platforms also have `alias cp='cp -i'`.
GHCVER2=${GHCVER//./}
ALT_PROJECT_FILE_MINOR=cabal-ghc${GHCVER2}.project
ALT_PROJECT_FILE_MAJOR=cabal-ghc${GHCVER2:0:2}.project
if [[ -f "$ALT_PROJECT_FILE_MINOR" ]]; then
rm -f -v cabal.project && cp -v "$ALT_PROJECT_FILE_MINOR" cabal.project
elif [[ -f "$ALT_PROJECT_FILE_MAJOR" ]]; then
rm -f -v cabal.project && cp -v "$ALT_PROJECT_FILE_MAJOR" cabal.project
fi
shell: bash

- if: inputs.os == 'Windows' && inputs.ghc == '8.8.4'
name: (Windows,GHC 8.8) Modify `cabal.project` to workaround segfaults
run: |
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/bench.yml
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ jobs:
strategy:
fail-fast: false
matrix:
ghc: ['8.10.7', '9.2.3']
ghc: ['8.10.7', '9.2.4']
os: [ubuntu-latest]

# This code is fitted to the strategy: assumes Linux is used ... etc,
Expand Down Expand Up @@ -103,7 +103,7 @@ jobs:
strategy:
fail-fast: false
matrix:
ghc: ['8.10.7', '9.2.3']
ghc: ['8.10.7', '9.2.4']
os: [ubuntu-latest]
cabal: ['3.6']
example: ['cabal', 'lsp-types']
Expand Down
7 changes: 2 additions & 5 deletions .github/workflows/caching.yml
Original file line number Diff line number Diff line change
Expand Up @@ -80,8 +80,8 @@ jobs:
strategy:
fail-fast: false
matrix:
ghc: [ "9.2.3"
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think we should also keep 9.2.3 here?

, "9.2.2"
ghc: [ "9.2.4"
, "9.2.3"
, "9.0.2"
, "8.10.7"
, "8.8.4"
Expand Down Expand Up @@ -115,9 +115,6 @@ jobs:
run: |
# repeating builds to workaround segfaults in windows and ghc-8.8.4
cabal $cabalBuild || cabal $cabalBuild || cabal $cabalBuild
env:
# needed for GHC 9.2.2 https://github.com/digital-asset/ghc-lib/issues/352
CPATH: "/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/ffi:$CPATH"

# We build ghcide with benchs and test enabled to include its dependencies in the cache
# (including shake-bench)
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/flags.yml
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ jobs:
strategy:
fail-fast: true
matrix:
ghc: [ "9.2.3"
ghc: [ "9.2.4"
, "9.0.2"
, "8.10.7"
, "8.8.4"
Expand All @@ -68,7 +68,7 @@ jobs:
run: cabal v2-build ghcide --flags="ghc-patched-unboxed-bytecode test-exe executable bench-exe ekg"

# we have to clean up warnings for 9.0 and 9.2 before enable -WAll
- if: matrix.ghc != '9.0.2' && matrix.ghc != '9.2.3'
- if: matrix.ghc != '9.0.2' && matrix.ghc != '9.2.4'
name: Build with pedantic (-WError)
run: cabal v2-build --flags="pedantic"

Expand Down
1 change: 0 additions & 1 deletion .github/workflows/pre-commit.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,6 @@ jobs:

- uses: ./.github/actions/setup-build
with:
ghc: "9.2.3"
os: ${{ runner.os }}
shorten-hls: false

Expand Down
23 changes: 10 additions & 13 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -57,8 +57,8 @@ jobs:
strategy:
fail-fast: true
matrix:
ghc: [ "9.2.3"
, "9.2.2"
ghc: [ "9.2.4"
, "9.2.3"
, "9.0.2"
, "8.10.7"
, "8.8.4"
Expand All @@ -70,7 +70,7 @@ jobs:
include:
# only test supported ghc major versions
- os: ubuntu-latest
ghc: '9.2.3'
ghc: '9.2.4'
test: true
- os: ubuntu-latest
ghc: '9.0.2'
Expand All @@ -85,7 +85,7 @@ jobs:
ghc: '8.6.5'
test: true
- os: windows-latest
ghc: '9.2.3'
ghc: '9.2.4'
test: true
- os: windows-latest
ghc: '9.0.2'
Expand All @@ -100,7 +100,7 @@ jobs:
- os: windows-latest
ghc: '8.8.4'
- os: windows-latest
ghc: '9.2.2'
ghc: '9.2.3'

steps:
- uses: actions/checkout@v3
Expand All @@ -112,9 +112,6 @@ jobs:

# repeating builds to workaround segfaults in windows and ghc-8.8.4
- name: Build
# needed for GHC 9.2.2 https://github.com/digital-asset/ghc-lib/issues/352
env:
CPATH: "/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/ffi:$CPATH"
run: cabal build || cabal build || cabal build

- name: Set test options
Expand Down Expand Up @@ -159,7 +156,7 @@ jobs:
HLS_WRAPPER_TEST_EXE: hls-wrapper
run: cabal test wrapper-test --test-options="$TEST_OPTS --rerun-log-file .tasty-rerun-log-wrapper" || cabal test wrapper-test --test-options="$TEST_OPTS --rerun-log-file .tasty-rerun-log-wrapper" || cabal test wrapper-test --test-options="$TEST_OPTS --rerun-log-file .tasty-rerun-log-wrapper"

- if: matrix.test && matrix.ghc != '9.2.3'
- if: matrix.test && matrix.ghc != '9.2.4'
name: Test hls-brittany-plugin
run: cabal test hls-brittany-plugin --test-options="$TEST_OPTS" || cabal test hls-brittany-plugin --test-options="$TEST_OPTS" || LSP_TEST_LOG_COLOR=0 LSP_TEST_LOG_MESSAGES=true LSP_TEST_LOG_STDERR=true cabal test hls-brittany-plugin --test-options="$TEST_OPTS"

Expand All @@ -179,11 +176,11 @@ jobs:
name: Test hls-eval-plugin
run: cabal test hls-eval-plugin --test-options="$TEST_OPTS" || cabal test hls-eval-plugin --test-options="$TEST_OPTS" || LSP_TEST_LOG_COLOR=0 LSP_TEST_LOG_MESSAGES=true LSP_TEST_LOG_STDERR=true cabal test hls-eval-plugin --test-options="$TEST_OPTS"

- if: matrix.test && matrix.ghc != '9.2.3'
- if: matrix.test && matrix.ghc != '9.2.4'
name: Test hls-haddock-comments-plugin
run: cabal test hls-haddock-comments-plugin --test-options="$TEST_OPTS" || cabal test hls-haddock-comments-plugin --test-options="$TEST_OPTS" || LSP_TEST_LOG_COLOR=0 LSP_TEST_LOG_MESSAGES=true LSP_TEST_LOG_STDERR=true cabal test hls-haddock-comments-plugin --test-options="$TEST_OPTS"

- if: matrix.test && matrix.ghc != '9.2.3'
- if: matrix.test && matrix.ghc != '9.2.4'
name: Test hls-splice-plugin
run: cabal test hls-splice-plugin --test-options="$TEST_OPTS" || cabal test hls-splice-plugin --test-options="$TEST_OPTS" || LSP_TEST_LOG_COLOR=0 LSP_TEST_LOG_MESSAGES=true LSP_TEST_LOG_STDERR=true cabal test hls-splice-plugin --test-options="$TEST_OPTS"

Expand All @@ -199,7 +196,7 @@ jobs:
name: Test hls-fourmolu-plugin
run: cabal test hls-fourmolu-plugin --test-options="$TEST_OPTS" || cabal test hls-fourmolu-plugin --test-options="$TEST_OPTS" || LSP_TEST_LOG_COLOR=0 LSP_TEST_LOG_MESSAGES=true LSP_TEST_LOG_STDERR=true cabal test hls-fourmolu-plugin --test-options="$TEST_OPTS"

- if: matrix.test && matrix.ghc != '9.2.3'
- if: matrix.test && matrix.ghc != '9.2.4'
name: Test hls-tactics-plugin test suite
run: cabal test hls-tactics-plugin --test-options="$TEST_OPTS" || cabal test hls-tactics-plugin --test-options="$TEST_OPTS" || LSP_TEST_LOG_COLOR=0 LSP_TEST_LOG_MESSAGES=true LSP_TEST_LOG_STDERR=true cabal test hls-tactics-plugin --test-options="$TEST_OPTS"

Expand All @@ -223,7 +220,7 @@ jobs:
name: Test hls-hlint-plugin test suite
run: cabal test hls-hlint-plugin --test-options="$TEST_OPTS" || cabal test hls-hlint-plugin --test-options="$TEST_OPTS" || LSP_TEST_LOG_COLOR=0 LSP_TEST_LOG_MESSAGES=true LSP_TEST_LOG_STDERR=true cabal test hls-hlint-plugin --test-options="$TEST_OPTS"

- if: matrix.test && matrix.ghc != '9.0.1' && matrix.ghc != '9.0.2' && matrix.ghc != '9.2.2'
- if: matrix.test && matrix.ghc != '9.0.1' && matrix.ghc != '9.0.2' && matrix.ghc != '9.2.4'
name: Test hls-stan-plugin test suite
run: cabal test hls-stan-plugin --test-options="$TEST_OPTS" || cabal test hls-hlint-plugin --test-options="$TEST_OPTS" || LSP_TEST_LOG_COLOR=0 LSP_TEST_LOG_MESSAGES=true LSP_TEST_LOG_STDERR=true cabal test hls-stan-plugin --test-options="$TEST_OPTS"

Expand Down
14 changes: 2 additions & 12 deletions .gitlab-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,10 +17,10 @@ variables:
CABAL_PROJECT: cabal.project
- GHC_VERSION: 9.0.2
CABAL_PROJECT: cabal.project
- GHC_VERSION: 9.2.2
CABAL_PROJECT: cabal.project
- GHC_VERSION: 9.2.3
CABAL_PROJECT: cabal.project
- GHC_VERSION: 9.2.4
CABAL_PROJECT: cabal.project

workflow:
rules:
Expand Down Expand Up @@ -419,10 +419,8 @@ build-x86_64-darwin:
ADD_CABAL_ARGS: ""
before_script:
- /bin/bash ./.gitlab/brew.sh autoconf automake coreutils make tree
# CPATH https://github.com/digital-asset/ghc-lib/issues/352
script: |
export PATH="$CI_PROJECT_DIR/.brew/bin:$CI_PROJECT_DIR/.brew/sbin:$PATH"
export CPATH="/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/ffi:$CPATH"
/bin/bash ./.gitlab/ci.sh
after_script:
- rm -Rf /private/tmp/.brew_tmp
Expand Down Expand Up @@ -470,17 +468,13 @@ build-aarch64-darwin:
before_script:
- export HOMEBREW_CHANGE_ARCH_TO_ARM=1
- arch -arm64 /bin/bash ./.gitlab/brew.sh llvm autoconf automake coreutils make tree
# C_INCLUDE_PATH: https://gitlab.haskell.org/ghc/ghc/-/issues/20592
# CPATH https://github.com/digital-asset/ghc-lib/issues/352
script: |
export PATH="$CI_PROJECT_DIR/.brew/opt/llvm/bin:$CI_PROJECT_DIR/.brew/bin:$CI_PROJECT_DIR/.brew/sbin:$PATH"
export CC=$CI_PROJECT_DIR/.brew/opt/llvm/bin/clang
export CXX=$CI_PROJECT_DIR/.brew/opt/llvm/bin/clang++
export LD=ld
export AR=$CI_PROJECT_DIR/.brew/opt/llvm/bin/llvm-ar
export RANLIB=$CI_PROJECT_DIR/.brew/opt/llvm/bin/llvm-ranlib
export C_INCLUDE_PATH="`xcrun --show-sdk-path`/usr/include/ffi"
export CPATH="/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/ffi:$CPATH"
arch -arm64 /bin/bash ./.gitlab/ci.sh
after_script:
- rm -Rf /private/tmp/.brew_tmp
Expand Down Expand Up @@ -508,12 +502,8 @@ test-aarch64-darwin:
before_script:
- export HOMEBREW_CHANGE_ARCH_TO_ARM=1
- arch -arm64 /bin/bash ./.gitlab/brew.sh make tree
# C_INCLUDE_PATH: https://gitlab.haskell.org/ghc/ghc/-/issues/20592
# CPATH https://github.com/digital-asset/ghc-lib/issues/352
script: |
export PATH="$CI_PROJECT_DIR/.brew/opt/llvm/bin:$CI_PROJECT_DIR/.brew/bin:$CI_PROJECT_DIR/.brew/sbin:$PATH"
export C_INCLUDE_PATH="`xcrun --show-sdk-path`/usr/include/ffi"
export CPATH="/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/ffi:$CPATH"
arch -arm64 /bin/bash ./.gitlab/test.sh
after_script:
- rm -Rf /private/tmp/.brew_tmp
Expand Down
4 changes: 2 additions & 2 deletions .gitpod.Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,8 @@ RUN sudo install-packages build-essential curl libffi-dev libffi7 libgmp-dev lib
ghcup install ghc 8.8.4 && \
ghcup install ghc 8.10.7 && \
ghcup install ghc 9.0.2 && \
ghcup install ghc 9.2.2 && \
ghcup install ghc 9.2.3 --set && \
ghcup install ghc 9.2.3 && \
ghcup install ghc 9.2.4 --set && \
ghcup install hls --set && \
ghcup install cabal --set && \
ghcup install stack --set && \
Expand Down
2 changes: 1 addition & 1 deletion bindist/ghcs
Original file line number Diff line number Diff line change
Expand Up @@ -2,5 +2,5 @@
8.8.4,cabal.project
8.10.7,cabal.project
9.0.2,cabal.project
9.2.2,cabal.project
9.2.3,cabal.project
9.2.4,cabal.project
2 changes: 1 addition & 1 deletion bindist/ghcs-Msys
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
8.10.7,cabal.project
9.0.2,cabal.project
9.2.2,cabal.project
9.2.3,cabal.project
9.2.4,cabal.project
3 changes: 1 addition & 2 deletions cabal.project
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ package *

write-ghc-environment-files: never

index-state: 2022-06-12T00:00:00Z
index-state: 2022-08-09T13:13:41Z

constraints:
hyphenation +embed,
Expand All @@ -68,5 +68,4 @@ allow-newer:
----------
hiedb:base,

ekg-core,
ekg-wai:time
7 changes: 4 additions & 3 deletions docs/supported-versions.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,15 +10,16 @@ Last supporting HLS version:
- specific version number: this GHC version is no longer one of the actively supported versions, and the last version of HLS which supports it is listed.

Support status (see the support policy below for more details):
- "supported": this version of GHC is currently actively supported
- "supported": this version of GHC is currently actively supported
- "deprecated": this version of GHC was supported in the past, but is now deprecated
- "will be deprecated ...": this version of GHC has special deprecation conditions that deviate from the support policy
- "partial": not all features and plugins work, see the plugin support table and any linked issues for more details

| GHC version | Last supporting HLS version | Support status |
| ----------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- |
| 9.2.3 | next | supported, ([partial](https://github.com/haskell/haskell-language-server/issues/2982)) |
| 9.2.2 | [latest](https://github.com/haskell/haskell-language-server/releases/latest) | supported, ([partial](https://github.com/haskell/haskell-language-server/issues/2982)) |
| 9.2.4 | next | supported([partial](https://github.com/haskell/haskell-language-server/issues/2982)) |
| 9.2.3 | next | supported([partial](https://github.com/haskell/haskell-language-server/issues/2982)) |
| 9.2.2 | [1.7.0.0](https://github.com/haskell/haskell-language-server/releases/tag/1.7.0.0) | supported, ([partial](https://github.com/haskell/haskell-language-server/issues/2982)) |
| 9.2.1 | [1.7.0.0](https://github.com/haskell/haskell-language-server/releases/tag/1.7.0.0) | deprecated |
| 9.0.2 | [latest](https://github.com/haskell/haskell-language-server/releases/latest) | supported |
| 9.0.1 | [1.6.1.0](https://github.com/haskell/haskell-language-server/releases/tag/1.6.1.0) | deprecated |
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.5 || == 8.8.4 || == 8.10.7 || == 9.0.2 || == 9.2.2 || == 9.2.3
tested-with: GHC == 8.6.5 || == 8.8.4 || == 8.10.7 || == 9.0.2 || == 9.2.3 || == 9.2.4
extra-source-files: README.md CHANGELOG.md
test/data/**/*.project
test/data/**/*.cabal
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.5 || == 8.8.4 || == 8.10.7 || == 9.0.2 || == 9.2.2 || == 9.2.3
tested-with: GHC == 8.6.5 || == 8.8.4 || == 8.10.7 || == 9.0.2 || == 9.2.3 || == 9.2.4
extra-source-files:
README.md
ChangeLog.md
Expand Down
6 changes: 3 additions & 3 deletions stack-lts19.yaml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
resolver: lts-19.5
resolver: lts-19.18

packages:
- .
Expand Down Expand Up @@ -39,8 +39,8 @@ extra-deps:
- Cabal-3.6.0.0
- floskell-0.10.6@sha256:e77d194189e8540abe2ace2c7cb8efafc747ca35881a2fefcbd2d40a1292e036,3819
- fourmolu-0.6.0.0
- ghc-lib-9.2.3.20220527
- ghc-lib-parser-9.2.3.20220527
- ghc-lib-9.2.4.20220729
- ghc-lib-parser-9.2.4.20220729
- ghc-lib-parser-ex-9.2.0.4
- heapsize-0.3.0.1@sha256:0b69aa97a46d819b700ac7b145f3b5493c3565cf2c5b8298682238d405d0326e,1417
- hiedb-0.4.1.0@sha256:fb20c657d9ecc91701b00dffcf4bbd77cb83720a1f9d867badd77ea227973135,2875
Expand Down
5 changes: 1 addition & 4 deletions stack.yaml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
resolver: nightly-2022-06-10
resolver: nightly-2022-08-04

packages:
- .
Expand Down Expand Up @@ -33,11 +33,9 @@ packages:
- ./plugins/hls-gadt-plugin

extra-deps:
- direct-sqlite-2.3.26@sha256:04e835402f1508abca383182023e4e2b9b86297b8533afbd4e57d1a5652e0c23,3718
- floskell-0.10.6@sha256:e77d194189e8540abe2ace2c7cb8efafc747ca35881a2fefcbd2d40a1292e036,3819
- heapsize-0.3.0.1@sha256:0b69aa97a46d819b700ac7b145f3b5493c3565cf2c5b8298682238d405d0326e,1417
- hiedb-0.4.1.0@sha256:fb20c657d9ecc91701b00dffcf4bbd77cb83720a1f9d867badd77ea227973135,2875
- hlint-3.4
- implicit-hie-0.1.2.7@sha256:82bbbb1a8c05f99c8af3c16ac53e80c8648d8bf047b25ed5ce45a135bd736907,3122
- implicit-hie-cradle-0.5.0.0@sha256:4276f60f3a59bc22df03fd918f73bca9f777de9568f85e3a8be8bd7566234a59,2368
- lsp-1.4.0.0@sha256:d992cb88d6212f113baf372404c141a6bea14c436baa64ea6e4f01b6188c575b,5088
Expand All @@ -46,7 +44,6 @@ extra-deps:
- monad-dijkstra-0.1.1.3@sha256:d2fc098d7c122555e726830a12ae0423ac187f89de9228f32e56e2f6fc2238e1,1900
- retrie-1.2.0.1
- rope-utf16-splay-0.3.2.0
- sqlite-simple-0.4.18.0@sha256:3ceea56375c0a3590c814e411a4eb86943f8d31b93b110ca159c90689b6b39e5,3002

# currently needed for ghcide>extra, etc.
allow-newer: true
Expand Down