13
13
jobs :
14
14
build-linux :
15
15
name : Build linux binaries
16
+ # # We need the environment here, to have access to the `vars` context.
17
+ # # Allows us to specify: `CABAL_CACHE_DISABLE=yes`.
18
+ # # The environments can be seen in https://github.com/haskell/haskell-language-server/settings/environments
19
+ # # assuming you have the proper permissions.
20
+ environment : CI
16
21
runs-on : ubuntu-latest
17
22
env :
18
23
AWS_SECRET_ACCESS_KEY : ${{ secrets.AWS_SECRET_ACCESS_KEY }}
25
30
strategy :
26
31
fail-fast : false
27
32
matrix :
28
- ghc : ["9.6.2", "9.4.5 ", "9.2.8 ", "9.2.7 ", "9.0.2", "8.10.7"]
33
+ ghc : ["9.6.2", "9.4.6 ", "9.4.5 ", "9.2.8 ", "9.0.2", "8.10.7"]
29
34
platform : [ { image: "debian:9"
30
35
, 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"
31
36
, 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"
@@ -105,20 +110,68 @@ jobs:
105
110
}
106
111
]
107
112
# TODO: rm
108
- # we need a different image for 9.4.5, because GHC bindists are busted
113
+ # Instead of manually adding the Unknown Linux Bindist jobs here,
114
+ # it should be part of the matrix above.
115
+ # However, due to GHC 9.4 shenanigans, we need some special logic.
116
+ # https://gitlab.haskell.org/ghc/ghc/-/issues/22268
117
+ #
118
+ # Perhaps we can migrate *all* unknown linux builds to a uniform
119
+ # image.
109
120
include :
110
121
- ghc : 8.10.7
111
- platform : { image: "rockylinux:8", installCmd: "yum -y install epel-release && yum install -y --allowerasing", 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", DISTRO: "Unknown", ARTIFACT: "x86_64-linux-unknown", ADD_CABAL_ARGS: "--enable-split-sections" }
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
+ }
112
130
- ghc : 9.0.2
113
- platform : { image: "rockylinux:8", installCmd: "yum -y install epel-release && yum install -y --allowerasing", 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", DISTRO: "Unknown", ARTIFACT: "x86_64-linux-unknown", ADD_CABAL_ARGS: "--enable-split-sections" }
114
- - ghc : 9.2.7
115
- platform : { image: "rockylinux:8", installCmd: "yum -y install epel-release && yum install -y --allowerasing", 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", DISTRO: "Unknown", ARTIFACT: "x86_64-linux-unknown", ADD_CABAL_ARGS: "--enable-split-sections" }
131
+ platform :
132
+ { image: "rockylinux:8"
133
+ , installCmd: "yum -y install epel-release && yum install -y --allowerasing"
134
+ , 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"
135
+ , DISTRO: "Unknown"
136
+ , ARTIFACT: "x86_64-linux-unknown"
137
+ , ADD_CABAL_ARGS: "--enable-split-sections"
138
+ }
116
139
- ghc : 9.2.8
117
- platform : { image: "rockylinux:8", installCmd: "yum -y install epel-release && yum install -y --allowerasing", 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", DISTRO: "Unknown", ARTIFACT: "x86_64-linux-unknown", ADD_CABAL_ARGS: "--enable-split-sections" }
140
+ platform :
141
+ { image: "rockylinux:8"
142
+ , installCmd: "yum -y install epel-release && yum install -y --allowerasing"
143
+ , 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"
144
+ , DISTRO: "Unknown"
145
+ , ARTIFACT: "x86_64-linux-unknown"
146
+ , ADD_CABAL_ARGS: "--enable-split-sections"
147
+ }
118
148
- ghc : 9.4.5
119
- platform : { image: "fedora:33", installCmd: "dnf install -y", 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 tree", DISTRO: "Unknown", ARTIFACT: "x86_64-linux-unknown", ADD_CABAL_ARGS: "--enable-split-sections" }
149
+ platform :
150
+ { image: "fedora:27"
151
+ , installCmd: "dnf install -y"
152
+ , 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"
153
+ , DISTRO: "Unknown"
154
+ , ARTIFACT: "x86_64-linux-unknown"
155
+ , ADD_CABAL_ARGS: "--enable-split-sections"
156
+ }
157
+ - ghc : 9.4.6
158
+ platform :
159
+ { image: "fedora:27"
160
+ , installCmd: "dnf install -y"
161
+ , 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"
162
+ , DISTRO: "Unknown"
163
+ , ARTIFACT: "x86_64-linux-unknown"
164
+ , ADD_CABAL_ARGS: "--enable-split-sections"
165
+ }
120
166
- ghc : 9.6.2
121
- platform : { image: "rockylinux:8", installCmd: "yum -y install epel-release && yum install -y --allowerasing", 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", DISTRO: "Unknown", ARTIFACT: "x86_64-linux-unknown", ADD_CABAL_ARGS: "--enable-split-sections" }
167
+ platform :
168
+ { image: "rockylinux:8"
169
+ , installCmd: "yum -y install epel-release && yum install -y --allowerasing"
170
+ , 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"
171
+ , DISTRO: "Unknown"
172
+ , ARTIFACT: "x86_64-linux-unknown"
173
+ , ADD_CABAL_ARGS: "--enable-split-sections"
174
+ }
122
175
container :
123
176
image : ${{ matrix.platform.image }}
124
177
steps :
@@ -158,6 +211,11 @@ jobs:
158
211
159
212
build-arm :
160
213
name : Build ARM binary
214
+ # # We need the environment here, to have access to the `vars` context.
215
+ # # Allows us to specify: `CABAL_CACHE_DISABLE=yes`.
216
+ # # The environments can be seen in https://github.com/haskell/haskell-language-server/settings/environments
217
+ # # assuming you have the proper permissions.
218
+ environment : CI
161
219
runs-on : [self-hosted, Linux, ARM64]
162
220
env :
163
221
AWS_SECRET_ACCESS_KEY : ${{ secrets.AWS_SECRET_ACCESS_KEY }}
@@ -173,7 +231,7 @@ jobs:
173
231
strategy :
174
232
fail-fast : true
175
233
matrix :
176
- ghc : ["9.6.2", "9.4.5 ", "9.2.8 ", "9.2.7 ", "9.0.2", "8.10.7"]
234
+ ghc : ["9.6.2", "9.4.6 ", "9.4.5 ", "9.2.8 ", "9.0.2", "8.10.7"]
177
235
steps :
178
236
- uses : docker://arm64v8/ubuntu:focal
179
237
name : Cleanup (aarch64 linux)
@@ -214,6 +272,11 @@ jobs:
214
272
215
273
build-mac-x86_64 :
216
274
name : Build binary (Mac x86_64)
275
+ # # We need the environment here, to have access to the `vars` context.
276
+ # # Allows us to specify: `CABAL_CACHE_DISABLE=yes`.
277
+ # # The environments can be seen in https://github.com/haskell/haskell-language-server/settings/environments
278
+ # # assuming you have the proper permissions.
279
+ environment : CI
217
280
runs-on : macOS-11
218
281
env :
219
282
MACOSX_DEPLOYMENT_TARGET : 10.13
@@ -228,7 +291,7 @@ jobs:
228
291
strategy :
229
292
fail-fast : false
230
293
matrix :
231
- ghc : ["9.6.2", "9.4.5 ", "9.2.8 ", "9.2.7 ", "9.0.2", "8.10.7"]
294
+ ghc : ["9.6.2", "9.4.6 ", "9.4.5 ", "9.2.8 ", "9.0.2", "8.10.7"]
232
295
steps :
233
296
- name : Checkout code
234
297
uses : actions/checkout@v3
@@ -253,6 +316,11 @@ jobs:
253
316
254
317
build-mac-aarch64 :
255
318
name : Build binary (Mac aarch64)
319
+ # # We need the environment here, to have access to the `vars` context.
320
+ # # Allows us to specify: `CABAL_CACHE_DISABLE=yes`.
321
+ # # The environments can be seen in https://github.com/haskell/haskell-language-server/settings/environments
322
+ # # assuming you have the proper permissions.
323
+ environment : CI
256
324
runs-on : [self-hosted, macOS, ARM64]
257
325
env :
258
326
MACOSX_DEPLOYMENT_TARGET : 10.13
@@ -268,7 +336,7 @@ jobs:
268
336
strategy :
269
337
fail-fast : false
270
338
matrix :
271
- ghc : ["9.6.2", "9.4.5 ", "9.2.8 ", "9.2.7 ", "8.10.7"]
339
+ ghc : ["9.6.2", "9.4.6 ", "9.4.5 ", "9.2.8 ", "8.10.7"]
272
340
steps :
273
341
- name : Checkout code
274
342
uses : actions/checkout@v3
@@ -304,6 +372,11 @@ jobs:
304
372
305
373
build-win :
306
374
name : Build binary (Win)
375
+ # # We need the environment here, to have access to the `vars` context.
376
+ # # Allows us to specify: `CABAL_CACHE_DISABLE=yes`.
377
+ # # The environments can be seen in https://github.com/haskell/haskell-language-server/settings/environments
378
+ # # assuming you have the proper permissions.
379
+ environment : CI
307
380
runs-on : windows-latest
308
381
env :
309
382
AWS_SECRET_ACCESS_KEY : ${{ secrets.AWS_SECRET_ACCESS_KEY }}
@@ -317,7 +390,7 @@ jobs:
317
390
strategy :
318
391
fail-fast : false
319
392
matrix :
320
- ghc : ["9.6.2", "9.4.5 ", "9.2.8 ", "9.2.7 ", "9.0.2", "8.10.7"]
393
+ ghc : ["9.6.2", "9.4.6 ", "9.4.5 ", "9.2.8 ", "9.0.2", "8.10.7"]
321
394
steps :
322
395
- name : install windows deps
323
396
shell : pwsh
0 commit comments