Skip to content

Commit 9c56c3c

Browse files
fendormergify[bot]
andauthored
Prepare release 2.1.0.0 (#3748)
* Prepare release 2.1.0.0 * Update release ghc versions * Fix release CI for unknown linux * Generate ChangeLog from 2.0.0.0 * Update notable changes in ChangeLog * Update index-state * Add environment for vars context * Free up disk space after running test * Expand release notes * Update supported ghc version page --------- Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
1 parent 099efbf commit 9c56c3c

File tree

9 files changed

+272
-365
lines changed

9 files changed

+272
-365
lines changed

.github/scripts/test.sh

+4
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,10 @@ test_all_hls() {
3939
if ! [[ "${bin_noexe}" =~ "haskell-language-server-wrapper" ]] && ! [[ "${bin_noexe}" =~ "~" ]] ; then
4040
if ghcup install ghc --set "${bin_noexe/haskell-language-server-/}" ; then
4141
"${hls}" typecheck "${test_module}" || fail "failed to typecheck with HLS for GHC ${bin_noexe/haskell-language-server-/}"
42+
43+
# After running the test, free up disk space by deleting the unneeded GHC version.
44+
# Helps us staying beneath the 14GB SSD disk limit.
45+
ghcup rm ghc "${bin_noexe/haskell-language-server-/}"
4246
else
4347
fail "GHCup failed to install GHC ${bin_noexe/haskell-language-server-/}"
4448
fi

.github/workflows/hackage.yml

-163
This file was deleted.

.github/workflows/release.yaml

+86-13
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,11 @@ env:
1313
jobs:
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 }}
@@ -25,7 +30,7 @@ jobs:
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

Comments
 (0)