18
18
strategy :
19
19
fail-fast : false
20
20
matrix :
21
- ghc : ['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.0.1"
23
+ , '8.10.7'
24
+ , "8.10.6"
25
+ , "8.8.4"
26
+ , "8.6.5"
27
+ ]
28
+ os : [ "ubuntu-18.04"
29
+ , "macOS-latest"
30
+ , "windows-latest"
31
+ ]
23
32
cabal : ['3.6']
24
33
25
34
steps :
44
53
echo -e 'package blaze-textual\n flags: +integer-simple' >> cabal.project.local
45
54
fi
46
55
47
- - name : Use modified cabal.project for ghc9
56
+ - name : (GHC 9.0) Use modified cabal.project for GHC 9.0
48
57
if : ${{ matrix.ghc == '9.0.1' }}
49
58
run : cp cabal-ghc901.project cabal.project
50
59
@@ -56,36 +65,36 @@ jobs:
56
65
sed -i.bak -e 's/Paths_haskell_language_server/Paths_hls/g' \
57
66
src/**/*.hs exe/*.hs
58
67
59
- - name : Set some window specific things
68
+ - name : (Windows) Platform specifics
60
69
if : matrix.os == 'windows-latest'
61
70
env :
62
71
GHC_VER : ${{ matrix.ghc }}
63
72
run : |
64
73
echo "EXE_EXT=.exe" >> $GITHUB_ENV
65
74
echo "GHC_VERSION=$GHC_VER" >> $GITHUB_ENV
66
75
67
- - name : Set some linux specific things
76
+ - name : (Linux) Platform specifics
68
77
if : matrix.os == 'ubuntu-18.04'
69
78
env :
70
79
GHC_VER : ${{ matrix.ghc }}
71
80
run : |
72
81
echo "LINUX_CABAL_ARGS=--enable-executable-static --ghc-options=-split-sections" >> $GITHUB_ENV
73
82
echo "GHC_VERSION=$GHC_VER" >> $GITHUB_ENV
74
83
75
- - name : Set some macOs specific things
84
+ - name : (macOS) Platform specifics
76
85
if : matrix.os == 'macOS-latest'
77
86
env :
78
87
GHC_VER : ${{ matrix.ghc }}
79
88
run : |
80
89
echo "GHC_VERSION=$GHC_VER" >> $GITHUB_ENV
81
90
82
- - name : Modify cabal.project to workaround segfaults for ghc- 8.8.4 and windows
91
+ - name : (Windows, GHC 8.8.4) Workaround segfaults
83
92
if : matrix.ghc == '8.8.4' && matrix.os == 'windows-latest'
84
93
run : |
85
94
echo "package floskell" >> cabal.project
86
95
echo " ghc-options: -O0" >> cabal.project
87
96
88
- - name : Build server
97
+ - name : Build the server
89
98
# Try building it twice in case of flakey builds on Windows
90
99
run : |
91
100
cabal build --disable-tests exe:hls -O2 $LINUX_CABAL_ARGS || \
@@ -109,7 +118,7 @@ jobs:
109
118
echo ::set-output name=extension::gz
110
119
fi
111
120
112
- - name : Upload server to release
121
+ - name : (not check) Upload server to release
113
122
if : ${{ !contains(github.ref_name, 'check') }}
114
123
115
124
env :
@@ -126,11 +135,11 @@ jobs:
126
135
name : haskell-language-server-${{ runner.OS }}-${{ matrix.ghc }}${{env.EXE_EXT}}.${{ steps.compress_server_binary.outputs.extension }}
127
136
path : ${{ steps.compress_server_binary.outputs.path }}
128
137
129
- - name : Build wrapper
138
+ - name : (GHC 8.10) Build the wrapper
130
139
if : matrix.ghc == '8.10.7'
131
140
run : cabal build --disable-tests exe:hls-wrapper -O2 $LINUX_CABAL_ARGS
132
141
133
- - name : Compress wrapper binary
142
+ - name : (GHC 8.10) Compress wrapper binary
134
143
if : matrix.ghc == '8.10.7'
135
144
id : compress_wrapper_binary
136
145
run : |
@@ -149,7 +158,7 @@ jobs:
149
158
echo ::set-output name=extension::gz
150
159
fi
151
160
152
- - name : Upload wrapper to the release
161
+ - name : (GHC 8.10, not check) Upload wrapper to the release
153
162
if : ${{ matrix.ghc == '8.10.7' && !contains(github.ref_name, 'check') }}
154
163
155
164
env :
@@ -160,7 +169,7 @@ jobs:
160
169
asset_name : haskell-language-server-wrapper-${{ runner.OS }}${{env.EXE_EXT}}.${{ steps.compress_wrapper_binary.outputs.extension }}
161
170
asset_content_type : ${{ steps.compress_wrapper_binary.outputs.content_type}}
162
171
163
- - name : Upload wrapper to workflow artifacts
172
+ - name : (GHC 8.10) Upload wrapper to workflow artifacts
164
173
uses : actions/upload-artifact@v2
165
174
if : matrix.ghc == '8.10.7'
166
175
with :
@@ -183,7 +192,7 @@ jobs:
183
192
-o src-dist/haskell-language-server.tar.gz \
184
193
HEAD
185
194
186
- - name : Upload source tarball to the release
195
+ - name : (not check) Upload source tarball to the release
187
196
if : ${{ !contains(github.ref_name, 'check') }}
188
197
189
198
env :
@@ -207,7 +216,10 @@ jobs:
207
216
runs-on : ubuntu-18.04
208
217
strategy :
209
218
matrix :
210
- os : [Linux, macOS, Windows]
219
+ os : [ "Linux"
220
+ , "macOS"
221
+ , "Windows"
222
+ ]
211
223
steps :
212
224
- uses : actions/download-artifact@v2
213
225
@@ -227,7 +239,7 @@ jobs:
227
239
fi
228
240
tar -czpf haskell-language-server.tar.gz *
229
241
230
- - name : Upload binaries tarball to the release
242
+ - name : (not check) Upload binaries tarball to the release
231
243
if : ${{ !contains(github.ref_name, 'check') }}
232
244
233
245
env :
@@ -256,7 +268,7 @@ jobs:
256
268
# we clean up tags to match the release file names
257
269
sed -i 's/\/.*)/)/g' SHA256SUMS
258
270
259
- - name : Upload sha256sums to the release
271
+ - name : (not check) Upload sha256sums to the release
260
272
if : ${{ !contains(github.ref_name, 'check') }}
261
273
262
274
env :
0 commit comments