Skip to content

Commit 50b75e4

Browse files
authored
Merge branch 'master' into ghc-9.2
2 parents d49bae9 + b354202 commit 50b75e4

File tree

6 files changed

+127
-33
lines changed

6 files changed

+127
-33
lines changed

.github/workflows/bench.yml

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,18 @@ jobs:
2424
uses: fkirc/skip-duplicate-actions@v3.4.1
2525
with:
2626
cancel_others: false
27-
paths_ignore: '["**/docs/**", "**.md", "**/LICENSE", ".circleci/**", "install/**", "**.nix", "**/test/**", "flake.lock", "**/README.md", "FUNDING.yml", "**/stack*.yaml"]'
27+
paths_ignore: '[ "**/docs/**"
28+
, "**.md"
29+
, "**/LICENSE"
30+
, ".circleci/**"
31+
, "install/**"
32+
, "**.nix"
33+
, "**/test/**"
34+
, "flake.lock"
35+
, "**/README.md"
36+
, "FUNDING.yml"
37+
, "**/stack*.yaml"
38+
]'
2839

2940
bench_init:
3041
if: needs.pre_job.outputs.should_skip != 'true'

.github/workflows/build.yml

Lines changed: 30 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,18 @@ jobs:
1818
strategy:
1919
fail-fast: false
2020
matrix:
21-
ghc: ['9.2.1', '9.0.1', '8.10.7', '8.10.6', '8.8.4', '8.6.5']
22-
os: [ubuntu-18.04, macOS-latest, windows-latest]
21+
ghc:
22+
[ "9.2.1"
23+
, "9.0.1"
24+
, "8.10.7"
25+
, "8.10.6"
26+
, "8.8.4"
27+
, "8.6.5"
28+
]
29+
os: [ "ubuntu-18.04"
30+
, "macOS-latest"
31+
, "windows-latest"
32+
]
2333
cabal: ['3.6']
2434

2535
steps:
@@ -44,7 +54,7 @@ jobs:
4454
echo -e 'package blaze-textual\n flags: +integer-simple' >> cabal.project.local
4555
fi
4656
47-
- name: Use modified cabal.project for ghc9.0
57+
- name: (GHC 9.0) Use modified cabal.project for GHC 9.0
4858
if: ${{ matrix.ghc == '9.0.1' }}
4959
run: cp cabal-ghc901.project cabal.project
5060
- name: Use modified cabal.project for ghc9.2
@@ -59,36 +69,36 @@ jobs:
5969
sed -i.bak -e 's/Paths_haskell_language_server/Paths_hls/g' \
6070
src/**/*.hs exe/*.hs
6171
62-
- name: Set some window specific things
72+
- name: (Windows) Platform specifics
6373
if: matrix.os == 'windows-latest'
6474
env:
6575
GHC_VER: ${{ matrix.ghc }}
6676
run: |
6777
echo "EXE_EXT=.exe" >> $GITHUB_ENV
6878
echo "GHC_VERSION=$GHC_VER" >> $GITHUB_ENV
6979
70-
- name: Set some linux specific things
80+
- name: (Linux) Platform specifics
7181
if: matrix.os == 'ubuntu-18.04'
7282
env:
7383
GHC_VER: ${{ matrix.ghc }}
7484
run: |
7585
echo "LINUX_CABAL_ARGS=--enable-executable-static --ghc-options=-split-sections" >> $GITHUB_ENV
7686
echo "GHC_VERSION=$GHC_VER" >> $GITHUB_ENV
7787
78-
- name: Set some macOs specific things
88+
- name: (macOS) Platform specifics
7989
if: matrix.os == 'macOS-latest'
8090
env:
8191
GHC_VER: ${{ matrix.ghc }}
8292
run: |
8393
echo "GHC_VERSION=$GHC_VER" >> $GITHUB_ENV
8494
85-
- name: Modify cabal.project to workaround segfaults for ghc-8.8.4 and windows
95+
- name: (Windows, GHC 8.8.4) Workaround segfaults
8696
if: matrix.ghc == '8.8.4' && matrix.os == 'windows-latest'
8797
run: |
8898
echo "package floskell" >> cabal.project
8999
echo " ghc-options: -O0" >> cabal.project
90100
91-
- name: Build server
101+
- name: Build the server
92102
# Try building it twice in case of flakey builds on Windows
93103
run: |
94104
cabal build --disable-tests exe:hls -O2 $LINUX_CABAL_ARGS || \
@@ -112,7 +122,7 @@ jobs:
112122
echo ::set-output name=extension::gz
113123
fi
114124
115-
- name: Upload server to release
125+
- name: (not check) Upload server to release
116126
if: ${{ !contains(github.ref_name, 'check') }}
117127
uses: actions/upload-release-asset@v1.0.2
118128
env:
@@ -129,11 +139,11 @@ jobs:
129139
name: haskell-language-server-${{ runner.OS }}-${{ matrix.ghc }}${{env.EXE_EXT}}.${{ steps.compress_server_binary.outputs.extension }}
130140
path: ${{ steps.compress_server_binary.outputs.path }}
131141

132-
- name: Build wrapper
142+
- name: (GHC 8.10) Build the wrapper
133143
if: matrix.ghc == '8.10.7'
134144
run: cabal build --disable-tests exe:hls-wrapper -O2 $LINUX_CABAL_ARGS
135145

136-
- name: Compress wrapper binary
146+
- name: (GHC 8.10) Compress wrapper binary
137147
if: matrix.ghc == '8.10.7'
138148
id: compress_wrapper_binary
139149
run: |
@@ -152,7 +162,7 @@ jobs:
152162
echo ::set-output name=extension::gz
153163
fi
154164
155-
- name: Upload wrapper to the release
165+
- name: (GHC 8.10, not check) Upload wrapper to the release
156166
if: ${{ matrix.ghc == '8.10.7' && !contains(github.ref_name, 'check') }}
157167
uses: actions/upload-release-asset@v1.0.2
158168
env:
@@ -163,7 +173,7 @@ jobs:
163173
asset_name: haskell-language-server-wrapper-${{ runner.OS }}${{env.EXE_EXT}}.${{ steps.compress_wrapper_binary.outputs.extension }}
164174
asset_content_type: ${{ steps.compress_wrapper_binary.outputs.content_type}}
165175

166-
- name: Upload wrapper to workflow artifacts
176+
- name: (GHC 8.10) Upload wrapper to workflow artifacts
167177
uses: actions/upload-artifact@v2
168178
if: matrix.ghc == '8.10.7'
169179
with:
@@ -186,7 +196,7 @@ jobs:
186196
-o src-dist/haskell-language-server.tar.gz \
187197
HEAD
188198
189-
- name: Upload source tarball to the release
199+
- name: (not check) Upload source tarball to the release
190200
if: ${{ !contains(github.ref_name, 'check') }}
191201
uses: actions/upload-release-asset@v1.0.2
192202
env:
@@ -210,7 +220,10 @@ jobs:
210220
runs-on: ubuntu-18.04
211221
strategy:
212222
matrix:
213-
os: [Linux, macOS, Windows]
223+
os: [ "Linux"
224+
, "macOS"
225+
, "Windows"
226+
]
214227
steps:
215228
- uses: actions/download-artifact@v2
216229

@@ -230,7 +243,7 @@ jobs:
230243
fi
231244
tar -czpf haskell-language-server.tar.gz *
232245
233-
- name: Upload binaries tarball to the release
246+
- name: (not check) Upload binaries tarball to the release
234247
if: ${{ !contains(github.ref_name, 'check') }}
235248
uses: actions/upload-release-asset@v1.0.2
236249
env:
@@ -259,7 +272,7 @@ jobs:
259272
# we clean up tags to match the release file names
260273
sed -i 's/\/.*)/)/g' SHA256SUMS
261274
262-
- name: Upload sha256sums to the release
275+
- name: (not check) Upload sha256sums to the release
263276
if: ${{ !contains(github.ref_name, 'check') }}
264277
uses: actions/upload-release-asset@v1.0.2
265278
env:

.github/workflows/caching.yml

Lines changed: 21 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,16 @@ jobs:
5858
uses: fkirc/skip-duplicate-actions@v3.4.1
5959
with:
6060
cancel_others: false
61-
paths_ignore: '["**/docs/**", "**.md", "**/LICENSE", "install/**", "**.nix", "flake.lock", "**/README.md", "FUNDING.yml", ".circleci/**"]'
61+
paths_ignore: '["**/docs/**"
62+
, "**.md"
63+
, "**/LICENSE"
64+
, "install/**"
65+
, "**.nix"
66+
, "flake.lock"
67+
, "**/README.md"
68+
, "FUNDING.yml"
69+
, ".circleci/**"
70+
]'
6271

6372
caching:
6473
if: needs.pre_job.outputs.should_skip != 'true'
@@ -67,8 +76,17 @@ jobs:
6776
strategy:
6877
fail-fast: false
6978
matrix:
70-
ghc: ["9.2.1", "9.0.1", '8.10.7', '8.10.6', "8.8.4", "8.6.5"]
71-
os: [ubuntu-latest, macOS-latest, windows-latest]
79+
ghc: [ "9.2.1"
80+
, "9.0.1"
81+
, "8.10.7"
82+
, "8.10.6"
83+
, "8.8.4"
84+
, "8.6.5"
85+
]
86+
os: [ "ubuntu-latest"
87+
, "macOS-latest"
88+
, "windows-latest"
89+
]
7290
cabal: ['3.6']
7391

7492
steps:

.github/workflows/hlint.yml

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
name: "HLint check"
2+
3+
on:
4+
pull_request:
5+
branches:
6+
- '**'
7+
8+
jobs:
9+
build10:
10+
name: "Run"
11+
runs-on: ubuntu-latest
12+
steps:
13+
- uses: actions/checkout@v2
14+
15+
- name: 'Installing'
16+
uses: rwe/actions-hlint-setup@v1
17+
with:
18+
version: '3.3.4'
19+
20+
- name: 'Checking code'
21+
uses: rwe/actions-hlint-run@v1
22+
with:
23+
hlint-bin: "hlint --with-group=extra --hint=ghcide/.hlint.yaml"
24+
path: '[ "ghcide/src", "ghcide/exe", "ghcide/bench/lib", "ghcide/bench/exe", "ghcide/bench/hist", "shake-bench/src", "ghcide/test/exe" ]'

.github/workflows/nix.yml

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,12 +24,20 @@ jobs:
2424
uses: fkirc/skip-duplicate-actions@v3.4.1
2525
with:
2626
cancel_others: false
27-
paths_ignore: '["**/docs/**", "**.md", "**/LICENSE", ".circleci/**", "install/**", "**/README.md", "FUNDING.yml", "**/stack*.yaml"]'
27+
paths_ignore: '[ "**/docs/**"
28+
, "**.md"
29+
, "**/LICENSE"
30+
, ".circleci/**"
31+
, "install/**"
32+
, "**/README.md"
33+
, "FUNDING.yml"
34+
, "**/stack*.yaml"
35+
]'
2836
- id: skip_check_no_nix
2937
uses: fkirc/skip-duplicate-actions@v3.4.1
3038
with:
3139
cancel_others: false
32-
paths: '["**.nix"]'
40+
paths: '[ "**.nix" ]'
3341

3442
# Enter the development shell and run `cabal build`
3543
develop:

.github/workflows/test.yml

Lines changed: 30 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -25,13 +25,29 @@ jobs:
2525
uses: fkirc/skip-duplicate-actions@v3.4.1
2626
with:
2727
cancel_others: false
28-
paths_ignore: '["**/docs/**", "**.md", "**/LICENSE", "install/**", "**.nix", "flake.lock", "**/README.md", "FUNDING.yml", ".circleci/**", "**/stack*.yaml"]'
28+
paths_ignore: '[ "**/docs/**"
29+
, "**.md"
30+
, "**/LICENSE"
31+
, "install/**"
32+
, "**.nix"
33+
, "flake.lock"
34+
, "**/README.md"
35+
, "FUNDING.yml"
36+
, ".circleci/**"
37+
, "**/stack*.yaml"
38+
]'
2939
# If we only change ghcide downstream packages we have not test ghcide itself
3040
- id: skip_ghcide_check
3141
uses: fkirc/skip-duplicate-actions@v3.4.1
3242
with:
3343
cancel_others: false
34-
paths_ignore: '["hls-test-utils/**", "plugins/**", "src/**", "exe/**", "test/**", "shake-bench/**"]'
44+
paths_ignore: '[ "hls-test-utils/**"
45+
, "plugins/**"
46+
, "src/**"
47+
, "exe/**"
48+
, "test/**"
49+
, "shake-bench/**"
50+
]'
3551

3652
test:
3753
if: needs.pre_job.outputs.should_skip != 'true'
@@ -40,8 +56,16 @@ jobs:
4056
strategy:
4157
fail-fast: true
4258
matrix:
43-
ghc: ["9.2.1", "9.0.1", '8.10.7', '8.10.6', "8.8.4", "8.6.5"]
44-
os: [ubuntu-latest, macOS-latest]
59+
ghc: [ "9.2.1"
60+
, "9.0.1"
61+
, "8.10.7"
62+
, "8.10.6"
63+
, "8.8.4"
64+
, "8.6.5"
65+
]
66+
os: [ "ubuntu-latest"
67+
, "macOS-latest"
68+
]
4569
cabal: ['3.6']
4670
include:
4771
# only test supported ghc major versions
@@ -96,7 +120,7 @@ jobs:
96120
97121
# Needs to be before Cache Cabal so the cache can detect changes to the modified cabal.project file
98122
- if: matrix.ghc == '9.0.1'
99-
name: (GHC 9.0.1) Use modified `cabal.project`
123+
name: (GHC 9.0) Use modified `cabal.project`
100124
run: |
101125
# File has some protections preventing regular `rm`.
102126
# (most probably sticky bit is set on $HOME)
@@ -153,11 +177,7 @@ jobs:
153177
${{ env.cache-name }}-${{ runner.os }}-${{ matrix.ghc }}-
154178
${{ env.cache-name }}-${{ runner.os }}-
155179
156-
- run: cabal update
157-
158-
- name: "HLint via ./fmt.sh"
159-
run: |
160-
./fmt.sh
180+
- run: cabal v2-update
161181

162182
# repeating builds to workaround segfaults in windows and ghc-8.8.4
163183
- name: Build

0 commit comments

Comments
 (0)