1313jobs :
1414 build-linux :
1515 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
1621 runs-on : ubuntu-latest
1722 env :
1823 AWS_SECRET_ACCESS_KEY : ${{ secrets.AWS_SECRET_ACCESS_KEY }}
2530 strategy :
2631 fail-fast : false
2732 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"]
2934 platform : [ { image: "debian:9"
3035 , 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"
3136 , 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:
105110 }
106111 ]
107112 # 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.
109120 include :
110121 - 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+ }
112130 - 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+ }
116139 - 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+ }
118148 - 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+ }
120166 - 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+ }
122175 container :
123176 image : ${{ matrix.platform.image }}
124177 steps :
@@ -158,6 +211,11 @@ jobs:
158211
159212 build-arm :
160213 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
161219 runs-on : [self-hosted, Linux, ARM64]
162220 env :
163221 AWS_SECRET_ACCESS_KEY : ${{ secrets.AWS_SECRET_ACCESS_KEY }}
@@ -173,7 +231,7 @@ jobs:
173231 strategy :
174232 fail-fast : true
175233 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"]
177235 steps :
178236 - uses : docker://arm64v8/ubuntu:focal
179237 name : Cleanup (aarch64 linux)
@@ -214,6 +272,11 @@ jobs:
214272
215273 build-mac-x86_64 :
216274 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
217280 runs-on : macOS-11
218281 env :
219282 MACOSX_DEPLOYMENT_TARGET : 10.13
@@ -228,7 +291,7 @@ jobs:
228291 strategy :
229292 fail-fast : false
230293 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"]
232295 steps :
233296 - name : Checkout code
234297 uses : actions/checkout@v3
@@ -253,6 +316,11 @@ jobs:
253316
254317 build-mac-aarch64 :
255318 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
256324 runs-on : [self-hosted, macOS, ARM64]
257325 env :
258326 MACOSX_DEPLOYMENT_TARGET : 10.13
@@ -268,7 +336,7 @@ jobs:
268336 strategy :
269337 fail-fast : false
270338 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"]
272340 steps :
273341 - name : Checkout code
274342 uses : actions/checkout@v3
@@ -304,6 +372,11 @@ jobs:
304372
305373 build-win :
306374 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
307380 runs-on : windows-latest
308381 env :
309382 AWS_SECRET_ACCESS_KEY : ${{ secrets.AWS_SECRET_ACCESS_KEY }}
@@ -317,7 +390,7 @@ jobs:
317390 strategy :
318391 fail-fast : false
319392 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"]
321394 steps :
322395 - name : install windows deps
323396 shell : pwsh
0 commit comments