Skip to content

Commit ce4da10

Browse files
authored
Merge branch 'master' into fourmolu-custom-path
2 parents c0ec87d + 66c12c7 commit ce4da10

File tree

269 files changed

+9543
-4048
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

269 files changed

+9543
-4048
lines changed

.cirrus.yml

Lines changed: 26 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -21,15 +21,18 @@ build_task:
2121
GITHUB_WORKSPACE: ${CIRRUS_WORKING_DIR}
2222
CABAL_CACHE_NONFATAL: "yes"
2323
matrix:
24-
- name: build-ghc-9.0.2
24+
- name: build-ghc-9.2.8
2525
env:
26-
GHC_VERSION: 9.0.2
27-
- name: build-ghc-9.2.5
26+
GHC_VERSION: 9.2.8
27+
- name: build-ghc-9.4.8
2828
env:
29-
GHC_VERSION: 9.2.5
30-
- name: build-ghc-9.2.7
29+
GHC_VERSION: 9.4.8
30+
- name: build-ghc-9.6.4
3131
env:
32-
GHC_VERSION: 9.2.7
32+
GHC_VERSION: 9.6.4
33+
- name: build-ghc-9.8.1
34+
env:
35+
GHC_VERSION: 9.8.1
3336
install_script: pkg install -y hs-cabal-install git bash misc/compat10x misc/compat11x misc/compat12x gmake patchelf tree gmp libiconv
3437
script:
3538
- tzsetup Etc/GMT
@@ -43,9 +46,10 @@ build_task:
4346
bindist_task:
4447
name: bindist
4548
depends_on:
46-
- build-ghc-9.0.2
47-
- build-ghc-9.2.5
48-
- build-ghc-9.2.7
49+
- build-ghc-9.2.8
50+
- build-ghc-9.4.8
51+
- build-ghc-9.6.4
52+
- build-ghc-9.8.1
4953
timeout_in: 120m
5054
only_if: $CIRRUS_TAG != ''
5155
env:
@@ -60,17 +64,21 @@ bindist_task:
6064
- tzsetup Etc/GMT
6165
- adjkerntz -a
6266

63-
- curl -o binaries-9.0.2.tar.xz -L https://api.cirrus-ci.com/v1/artifact/build/${CIRRUS_BUILD_ID}/build-ghc-9.0.2/binaries/out.tar.xz
64-
- tar xvf binaries-9.0.2.tar.xz
65-
- rm -f binaries-9.0.2.tar.xz
67+
- curl -o binaries-9.2.8.tar.xz -L https://api.cirrus-ci.com/v1/artifact/build/${CIRRUS_BUILD_ID}/build-ghc-9.2.8/binaries/out.tar.xz
68+
- tar xvf binaries-9.2.8.tar.xz
69+
- rm -f binaries-9.2.8.tar.xz
70+
71+
- curl -o binaries-9.4.8.tar.xz -L https://api.cirrus-ci.com/v1/artifact/build/${CIRRUS_BUILD_ID}/build-ghc-9.4.8/binaries/out.tar.xz
72+
- tar xvf binaries-9.4.8.tar.xz
73+
- rm -f binaries-9.4.8.tar.xz
6674

67-
- curl -o binaries-9.2.5.tar.xz -L https://api.cirrus-ci.com/v1/artifact/build/${CIRRUS_BUILD_ID}/build-ghc-9.2.5/binaries/out.tar.xz
68-
- tar xvf binaries-9.2.5.tar.xz
69-
- rm -f binaries-9.2.5.tar.xz
75+
- curl -o binaries-9.6.4.tar.xz -L https://api.cirrus-ci.com/v1/artifact/build/${CIRRUS_BUILD_ID}/build-ghc-9.6.4/binaries/out.tar.xz
76+
- tar xvf binaries-9.6.4.tar.xz
77+
- rm -f binaries-9.6.4.tar.xz
7078

71-
- curl -o binaries-9.2.7.tar.xz -L https://api.cirrus-ci.com/v1/artifact/build/${CIRRUS_BUILD_ID}/build-ghc-9.2.7/binaries/out.tar.xz
72-
- tar xvf binaries-9.2.7.tar.xz
73-
- rm -f binaries-9.2.7.tar.xz
79+
- curl -o binaries-9.8.1.tar.xz -L https://api.cirrus-ci.com/v1/artifact/build/${CIRRUS_BUILD_ID}/build-ghc-9.8.1/binaries/out.tar.xz
80+
- tar xvf binaries-9.8.1.tar.xz
81+
- rm -f binaries-9.8.1.tar.xz
7482

7583
- bash .github/scripts/bindist.sh
7684
bindist_artifacts:

.github/actions/setup-build/action.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ inputs:
77
cabal:
88
description: "Cabal version"
99
required: false
10-
default: "3.8.1.0"
10+
default: "3.10.2.0"
1111
os:
1212
description: "Operating system: Linux, Windows or macOS"
1313
required: true
@@ -31,7 +31,7 @@ runs:
3131
sudo chown -R $USER /usr/local/.ghcup
3232
shell: bash
3333

34-
- uses: haskell/actions/setup@v2.4.7
34+
- uses: haskell-actions/setup@v2.6.0
3535
id: HaskEnvSetup
3636
with:
3737
ghc-version : ${{ inputs.ghc }}

.github/scripts/env.sh

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,9 +11,10 @@ fi
1111
export PATH="$HOME/.local/bin:$PATH"
1212

1313
export BOOTSTRAP_HASKELL_NONINTERACTIVE=1
14-
export BOOTSTRAP_HASKELL_CABAL_VERSION="${CABAL_VER:-3.8.1.0}"
14+
export BOOTSTRAP_HASKELL_CABAL_VERSION="${CABAL_VER:-3.10.2.0}"
1515
export BOOTSTRAP_HASKELL_ADJUST_CABAL_CONFIG=no
1616
export BOOTSTRAP_HASKELL_INSTALL_NO_STACK=yes
17+
export BOOTSTRAP_HASKELL_ADJUST_BASHRC=1
1718

1819
if [ "${RUNNER_OS}" = "Windows" ] ; then
1920
# on windows use pwd to get unix style path

.github/workflows/flags.yml

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -75,9 +75,7 @@ jobs:
7575
- name: Build `ghcide` with flags
7676
run: cabal v2-build ghcide --flags="ghc-patched-unboxed-bytecode test-exe executable bench-exe ekg"
7777

78-
# wingman fails with flags on 9.0, so this can be removed when that's gone
79-
- if: matrix.ghc != '9.0'
80-
name: Build with pedantic (-WError)
78+
- name: Build with pedantic (-WError)
8179
run: cabal v2-build --flags="pedantic"
8280

8381
flags_post_job:

.github/workflows/nix.yml

Lines changed: 4 additions & 61 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@ jobs:
1818
runs-on: ubuntu-latest
1919
outputs:
2020
should_skip_develop: ${{ steps.skip_check.outputs.should_skip }}
21-
should_skip_build: ${{ steps.skip_check_no_nix.outputs.should_skip }}
2221
steps:
2322
- id: skip_check
2423
uses: fkirc/skip-duplicate-actions@v5.3.1
@@ -35,11 +34,6 @@ jobs:
3534
, ".gitlab-ci.yaml"
3635
, ".gitlab/**"
3736
]'
38-
- id: skip_check_no_nix
39-
uses: fkirc/skip-duplicate-actions@v5.3.1
40-
with:
41-
cancel_others: false
42-
paths: '[ "**.nix" ]'
4337

4438
# Enter the development shell and run `cabal build`
4539
develop:
@@ -55,74 +49,23 @@ jobs:
5549
steps:
5650
- uses: actions/checkout@v3
5751

58-
- uses: cachix/install-nix-action@v23
52+
- uses: cachix/install-nix-action@v24
5953
with:
6054
extra_nix_config: |
6155
experimental-features = nix-command flakes
6256
nix_path: nixpkgs=channel:nixos-unstable
63-
- uses: cachix/cachix-action@v12
57+
- uses: cachix/cachix-action@v13
6458
with:
6559
name: haskell-language-server
66-
# Disable pushing, we will do that in job `build`
67-
skipPush: true
60+
authToken: ${{ secrets.HLS_CACHIX_AUTH_TOKEN }}
6861
- run: |
6962
nix develop --print-build-logs --command cabal update
7063
nix develop --print-build-logs --command cabal build
7164
72-
# Build and then push HLS binaries with developmet shell to cachix
73-
# This job runs when
74-
# 1. PRs are merged to master (runs on master)
75-
# 2. Nix files are changed (runs on PR)
76-
build:
77-
needs: pre_job
78-
runs-on: ${{ matrix.os }}
79-
env:
80-
HAS_TOKEN: ${{ secrets.HLS_CACHIX_AUTH_TOKEN != '' }}
81-
if: (needs.pre_job.outputs.should_skip_build != 'true' && needs.pre_job.outputs.should_skip_pr != 'true') || (github.repository_owner == 'haskell' && github.ref == 'refs/heads/master')
82-
strategy:
83-
fail-fast: false
84-
matrix:
85-
os: [ubuntu-latest, macOS-latest]
86-
87-
steps:
88-
- uses: actions/checkout@v3
89-
90-
- uses: cachix/install-nix-action@v23
91-
with:
92-
extra_nix_config: |
93-
experimental-features = nix-command flakes
94-
nix_path: nixpkgs=channel:nixos-unstable
95-
- uses: cachix/cachix-action@v12
96-
with:
97-
name: haskell-language-server
98-
authToken: ${{ secrets.HLS_CACHIX_AUTH_TOKEN }}
99-
- name: Build development shell
100-
run: nix develop --print-build-logs --profile dev
101-
- name: Build all development shell (without nix dependencies)
102-
run: nix develop --print-build-logs .#all-simple-dev-shells --profile dev
103-
# We only build nix dev shell for current GHC version because some are
104-
# failing with different GHC version on darwin.
105-
- name: Build development shell with nix dependencies for current GHC version
106-
if: matrix.os == 'macOS-latest'
107-
run: nix develop --print-build-logs .#haskell-language-server-dev-nix --profile dev
108-
- name: Build development shells with nix dependencies
109-
if: matrix.os == 'ubuntu-latest'
110-
run: nix develop --print-build-logs .#all-nix-dev-shells --profile dev
111-
- name: Push development shell
112-
if: ${{ env.HAS_TOKEN == 'true' }}
113-
run: cachix push haskell-language-server dev
114-
- name: Build binaries
115-
run: nix build --print-build-logs
116-
- name: Build all binaries
117-
run: nix build --print-build-logs .#all-haskell-language-server
118-
- name: Push binaries
119-
if: ${{ env.HAS_TOKEN == 'true' }}
120-
run: nix path-info --json | jq -r '.[].path' | cachix push haskell-language-server
121-
12265
nix_post_job:
12366
if: always()
12467
runs-on: ubuntu-latest
125-
needs: [pre_job, develop, build]
68+
needs: [pre_job, develop]
12669
steps:
12770
- run: |
12871
echo "jobs info: ${{ toJSON(needs) }}"

.github/workflows/pre-commit.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ jobs:
5353
${{ inputs.cache-prefix }}${{ env.cache-name }}-${{ inputs.os }}-${{ inputs.ghc }}-
5454
${{ inputs.cache-prefix }}${{ env.cache-name }}-${{ inputs.os }}-
5555
56-
- uses: actions/setup-python@v4
56+
- uses: actions/setup-python@v5
5757
- uses: pre-commit/action@v3.0.0
5858
with:
5959
extra_args: --files ${{ needs.file-diff.outputs.git-diff }}

.github/workflows/release.yaml

Lines changed: 19 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ jobs:
3030
strategy:
3131
fail-fast: false
3232
matrix:
33-
ghc: ["9.8.1", "9.6.3", "9.4.7", "9.2.8", "9.0.2"]
33+
ghc: ["9.8.1", "9.6.4", "9.4.8", "9.2.8"]
3434
platform: [ { image: "debian:9"
3535
, installCmd: "sed -i s/deb.debian.org/archive.debian.org/g /etc/apt/sources.list && sed -i 's|security.debian.org|archive.debian.org/|g' /etc/apt/sources.list && sed -i /-updates/d /etc/apt/sources.list && apt-get update && apt-get install -y"
3636
, toolRequirements: "libnuma-dev zlib1g-dev libgmp-dev libgmp10 libssl-dev liblzma-dev libbz2-dev git wget lsb-release software-properties-common gnupg2 apt-transport-https gcc autoconf automake build-essential curl ghc gzip libffi-dev libncurses-dev libncurses5 libtinfo5 patchelf"
@@ -118,15 +118,6 @@ jobs:
118118
# Perhaps we can migrate *all* unknown linux builds to a uniform
119119
# image.
120120
include:
121-
- ghc: 9.0.2
122-
platform:
123-
{ image: "rockylinux:8"
124-
, installCmd: "yum -y install epel-release && yum install -y --allowerasing"
125-
, toolRequirements: "autoconf automake binutils bzip2 coreutils curl elfutils-devel elfutils-libs findutils gcc gcc-c++ git gmp gmp-devel jq lbzip2 make ncurses ncurses-compat-libs ncurses-devel openssh-clients patch perl pxz python3 sqlite sudo wget which xz zlib-devel patchelf"
126-
, DISTRO: "Unknown"
127-
, ARTIFACT: "x86_64-linux-unknown"
128-
, ADD_CABAL_ARGS: "--enable-split-sections"
129-
}
130121
- ghc: 9.2.8
131122
platform:
132123
{ image: "rockylinux:8"
@@ -136,7 +127,7 @@ jobs:
136127
, ARTIFACT: "x86_64-linux-unknown"
137128
, ADD_CABAL_ARGS: "--enable-split-sections"
138129
}
139-
- ghc: 9.4.7
130+
- ghc: 9.4.8
140131
platform:
141132
{ image: "fedora:27"
142133
, installCmd: "dnf install -y"
@@ -145,7 +136,7 @@ jobs:
145136
, ARTIFACT: "x86_64-linux-unknown"
146137
, ADD_CABAL_ARGS: "--enable-split-sections"
147138
}
148-
- ghc: 9.6.3
139+
- ghc: 9.6.4
149140
platform:
150141
{ image: "rockylinux:8"
151142
, installCmd: "yum -y install epel-release && yum install -y --allowerasing"
@@ -222,7 +213,7 @@ jobs:
222213
strategy:
223214
fail-fast: true
224215
matrix:
225-
ghc: ["9.8.1", "9.6.3", "9.4.7", "9.2.8", "9.0.2"]
216+
ghc: ["9.8.1", "9.6.4", "9.4.8", "9.2.8" ]
226217
steps:
227218
- uses: docker://arm64v8/ubuntu:focal
228219
name: Cleanup (aarch64 linux)
@@ -282,7 +273,7 @@ jobs:
282273
strategy:
283274
fail-fast: false
284275
matrix:
285-
ghc: ["9.8.1", "9.6.3", "9.4.7", "9.2.8", "9.0.2"]
276+
ghc: ["9.8.1", "9.6.4", "9.4.8", "9.2.8"]
286277
steps:
287278
- name: Checkout code
288279
uses: actions/checkout@v3
@@ -327,7 +318,7 @@ jobs:
327318
strategy:
328319
fail-fast: false
329320
matrix:
330-
ghc: ["9.8.1", "9.6.3", "9.4.7", "9.2.8"]
321+
ghc: ["9.8.1", "9.6.4", "9.4.8", "9.2.8"]
331322
steps:
332323
- name: Checkout code
333324
uses: actions/checkout@v3
@@ -372,7 +363,7 @@ jobs:
372363
strategy:
373364
fail-fast: false
374365
matrix:
375-
ghc: ["9.8.1", "9.6.3", "9.4.7", "9.2.8", "9.0.2"]
366+
ghc: ["9.8.1", "9.6.4", "9.4.8", "9.2.8"]
376367
steps:
377368
- name: install windows deps
378369
shell: pwsh
@@ -630,13 +621,13 @@ jobs:
630621

631622
- name: Create bindist
632623
run: |
633-
bash .github/scripts/brew.sh git coreutils llvm@11 autoconf automake tree
634-
export PATH="$HOME/.brew/bin:$HOME/.brew/sbin:$HOME/.brew/opt/llvm@11/bin:$PATH"
635-
export CC="$HOME/.brew/opt/llvm@11/bin/clang"
636-
export CXX="$HOME/.brew/opt/llvm@11/bin/clang++"
624+
bash .github/scripts/brew.sh git coreutils llvm@13 autoconf automake tree
625+
export PATH="$HOME/.brew/bin:$HOME/.brew/sbin:$HOME/.brew/opt/llvm@13/bin:$PATH"
626+
export CC="$HOME/.brew/opt/llvm@13/bin/clang"
627+
export CXX="$HOME/.brew/opt/llvm@13/bin/clang++"
637628
export LD=ld
638-
export AR="$HOME/.brew/opt/llvm@11/bin/llvm-ar"
639-
export RANLIB="$HOME/.brew/opt/llvm@11/bin/llvm-ranlib"
629+
export AR="$HOME/.brew/opt/llvm@13/bin/llvm-ar"
630+
export RANLIB="$HOME/.brew/opt/llvm@13/bin/llvm-ranlib"
640631
for bindist in out-*.tar ; do
641632
tar xf "${bindist}"
642633
done
@@ -881,13 +872,13 @@ jobs:
881872

882873
- name: Run test (mac)
883874
run: |
884-
bash .github/scripts/brew.sh git coreutils llvm@11 autoconf automake tree
885-
export PATH="$HOME/.brew/bin:$HOME/.brew/sbin:$HOME/.brew/opt/llvm@11/bin:$PATH"
886-
export CC="$HOME/.brew/opt/llvm@11/bin/clang"
887-
export CXX="$HOME/.brew/opt/llvm@11/bin/clang++"
875+
bash .github/scripts/brew.sh git coreutils llvm@13 autoconf automake tree
876+
export PATH="$HOME/.brew/bin:$HOME/.brew/sbin:$HOME/.brew/opt/llvm@13/bin:$PATH"
877+
export CC="$HOME/.brew/opt/llvm@13/bin/clang"
878+
export CXX="$HOME/.brew/opt/llvm@13/bin/clang++"
888879
export LD=ld
889-
export AR="$HOME/.brew/opt/llvm@11/bin/llvm-ar"
890-
export RANLIB="$HOME/.brew/opt/llvm@11/bin/llvm-ranlib"
880+
export AR="$HOME/.brew/opt/llvm@13/bin/llvm-ar"
881+
export RANLIB="$HOME/.brew/opt/llvm@13/bin/llvm-ranlib"
891882
bash .github/scripts/test.sh
892883
893884
test-win:
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
[ "9.8", "9.6", "9.4" , "9.2" , "9.0" ]
1+
[ "9.8", "9.6", "9.4" , "9.2" ]

.github/workflows/test.yml

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -159,6 +159,10 @@ jobs:
159159
name: Test hls-splice-plugin
160160
run: cabal test hls-splice-plugin --test-options="$TEST_OPTS" || cabal test hls-splice-plugin --test-options="$TEST_OPTS"
161161

162+
- if: matrix.test && matrix.ghc != '9.2'
163+
name: Test hls-stan-plugin
164+
run: cabal test hls-stan-plugin --test-options="$TEST_OPTS" || cabal test hls-stan-plugin --test-options="$TEST_OPTS"
165+
162166
- if: matrix.test && !startsWith(matrix.ghc,'9.8')
163167
name: Test hls-stylish-haskell-plugin
164168
run: cabal test hls-stylish-haskell-plugin --test-options="$TEST_OPTS" || cabal test hls-stylish-haskell-plugin --test-options="$TEST_OPTS"
@@ -232,10 +236,13 @@ jobs:
232236
name: Test hls-retrie-plugin test suite
233237
run: cabal test hls-retrie-plugin --test-options="$TEST_OPTS" || cabal test hls-retrie-plugin --test-options="$TEST_OPTS"
234238

235-
- if: matrix.test && matrix.ghc != '9.0'
239+
- if: matrix.test
236240
name: Test hls-overloaded-record-dot-plugin test suite
237241
run: cabal test hls-overloaded-record-dot-plugin --test-options="$TEST_OPTS" || LSP_TEST_LOG_COLOR=0 LSP_TEST_LOG_MESSAGES=true LSP_TEST_LOG_STDERR=true cabal test hls-overloaded-record-dot-plugin --test-options="$TEST_OPTS"
238242

243+
- if: matrix.test
244+
name: Test hls-semantic-tokens-plugin test suite
245+
run: cabal test hls-semantic-tokens-plugin --test-options="$TEST_OPTS" || cabal test hls-semantic-tokens-plugin --test-options="$TEST_OPTS"
239246

240247

241248
test_post_job:

0 commit comments

Comments
 (0)