Skip to content

Commit 453d87e

Browse files
committed
CI: Add ghc 9.12 to the build matrix
1 parent 48238cb commit 453d87e

File tree

3 files changed

+34
-24
lines changed

3 files changed

+34
-24
lines changed

.github/workflows/haskell-ci.yml

+31-21
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,9 @@
88
#
99
# For more information, see https://github.com/haskell-CI/haskell-ci
1010
#
11-
# version: 0.19.20240514
11+
# version: 0.19.20250104
1212
#
13-
# REGENDATA ("0.19.20240514",["github","--config=cabal.haskell-ci","text.cabal"])
13+
# REGENDATA ("0.19.20250104",["github","--config=cabal.haskell-ci","text.cabal"])
1414
#
1515
name: Haskell-CI
1616
on:
@@ -28,19 +28,24 @@ jobs:
2828
strategy:
2929
matrix:
3030
include:
31+
- compiler: ghc-9.12.1
32+
compilerKind: ghc
33+
compilerVersion: 9.12.1
34+
setup-method: ghcup
35+
allow-failure: false
3136
- compiler: ghc-9.10.1
3237
compilerKind: ghc
3338
compilerVersion: 9.10.1
3439
setup-method: ghcup
3540
allow-failure: false
36-
- compiler: ghc-9.8.2
41+
- compiler: ghc-9.8.4
3742
compilerKind: ghc
38-
compilerVersion: 9.8.2
43+
compilerVersion: 9.8.4
3944
setup-method: ghcup
4045
allow-failure: false
41-
- compiler: ghc-9.6.4
46+
- compiler: ghc-9.6.6
4247
compilerKind: ghc
43-
compilerVersion: 9.6.4
48+
compilerVersion: 9.6.6
4449
setup-method: ghcup
4550
allow-failure: false
4651
- compiler: ghc-9.4.8
@@ -80,15 +85,29 @@ jobs:
8085
allow-failure: false
8186
fail-fast: false
8287
steps:
83-
- name: apt
88+
- name: apt-get install
8489
run: |
8590
apt-get update
8691
apt-get install -y --no-install-recommends gnupg ca-certificates dirmngr curl git software-properties-common libtinfo5 libnuma-dev
92+
- name: Install GHCup
93+
run: |
8794
mkdir -p "$HOME/.ghcup/bin"
88-
curl -sL https://downloads.haskell.org/ghcup/0.1.20.0/x86_64-linux-ghcup-0.1.20.0 > "$HOME/.ghcup/bin/ghcup"
95+
curl -sL https://downloads.haskell.org/ghcup/0.1.30.0/x86_64-linux-ghcup-0.1.30.0 > "$HOME/.ghcup/bin/ghcup"
8996
chmod a+x "$HOME/.ghcup/bin/ghcup"
97+
- name: Install cabal-install
98+
run: |
99+
"$HOME/.ghcup/bin/ghcup" install cabal 3.14.1.1 || (cat "$HOME"/.ghcup/logs/*.* && false)
100+
echo "CABAL=$HOME/.ghcup/bin/cabal-3.14.1.1 -vnormal+nowrap" >> "$GITHUB_ENV"
101+
- name: Install GHC (GHCup)
102+
if: matrix.setup-method == 'ghcup'
103+
run: |
90104
"$HOME/.ghcup/bin/ghcup" install ghc "$HCVER" || (cat "$HOME"/.ghcup/logs/*.* && false)
91-
"$HOME/.ghcup/bin/ghcup" install cabal 3.10.2.0 || (cat "$HOME"/.ghcup/logs/*.* && false)
105+
HC=$("$HOME/.ghcup/bin/ghcup" whereis ghc "$HCVER")
106+
HCPKG=$(echo "$HC" | sed 's#ghc$#ghc-pkg#')
107+
HADDOCK=$(echo "$HC" | sed 's#ghc$#haddock#')
108+
echo "HC=$HC" >> "$GITHUB_ENV"
109+
echo "HCPKG=$HCPKG" >> "$GITHUB_ENV"
110+
echo "HADDOCK=$HADDOCK" >> "$GITHUB_ENV"
92111
env:
93112
HCKIND: ${{ matrix.compilerKind }}
94113
HCNAME: ${{ matrix.compiler }}
@@ -99,21 +118,12 @@ jobs:
99118
echo "LANG=C.UTF-8" >> "$GITHUB_ENV"
100119
echo "CABAL_DIR=$HOME/.cabal" >> "$GITHUB_ENV"
101120
echo "CABAL_CONFIG=$HOME/.cabal/config" >> "$GITHUB_ENV"
102-
HCDIR=/opt/$HCKIND/$HCVER
103-
HC=$("$HOME/.ghcup/bin/ghcup" whereis ghc "$HCVER")
104-
HCPKG=$(echo "$HC" | sed 's#ghc$#ghc-pkg#')
105-
HADDOCK=$(echo "$HC" | sed 's#ghc$#haddock#')
106-
echo "HC=$HC" >> "$GITHUB_ENV"
107-
echo "HCPKG=$HCPKG" >> "$GITHUB_ENV"
108-
echo "HADDOCK=$HADDOCK" >> "$GITHUB_ENV"
109-
echo "CABAL=$HOME/.ghcup/bin/cabal-3.10.2.0 -vnormal+nowrap" >> "$GITHUB_ENV"
110121
HCNUMVER=$(${HC} --numeric-version|perl -ne '/^(\d+)\.(\d+)\.(\d+)(\.(\d+))?$/; print(10000 * $1 + 100 * $2 + ($3 == 0 ? $5 != 1 : $3))')
111122
echo "HCNUMVER=$HCNUMVER" >> "$GITHUB_ENV"
112123
echo "ARG_TESTS=--enable-tests" >> "$GITHUB_ENV"
113124
echo "ARG_BENCH=--enable-benchmarks" >> "$GITHUB_ENV"
114125
echo "HEADHACKAGE=false" >> "$GITHUB_ENV"
115126
echo "ARG_COMPILER=--$HCKIND --with-compiler=$HC" >> "$GITHUB_ENV"
116-
echo "GHCJSARITH=0" >> "$GITHUB_ENV"
117127
env:
118128
HCKIND: ${{ matrix.compilerKind }}
119129
HCNAME: ${{ matrix.compiler }}
@@ -165,8 +175,8 @@ jobs:
165175
- name: install cabal-docspec
166176
run: |
167177
mkdir -p $HOME/.cabal/bin
168-
curl -sL https://github.com/phadej/cabal-extras/releases/download/cabal-docspec-0.0.0.20240414/cabal-docspec-0.0.0.20240414-x86_64-linux.xz > cabal-docspec.xz
169-
echo '2d18a3f79619e8ec5f11870f926f6dc2616e02a6c889315b7f82044b95a1adb9 cabal-docspec.xz' | sha256sum -c -
178+
curl -sL https://github.com/phadej/cabal-extras/releases/download/cabal-docspec-0.0.0.20240703/cabal-docspec-0.0.0.20240703-x86_64-linux.xz > cabal-docspec.xz
179+
echo '48bf3b7fd2f7f0caa6162afee57a755be8523e7f467b694900eb420f5f9a7b76 cabal-docspec.xz' | sha256sum -c -
170180
xz -d < cabal-docspec.xz > $HOME/.cabal/bin/cabal-docspec
171181
rm -f cabal-docspec.xz
172182
chmod a+x $HOME/.cabal/bin/cabal-docspec
@@ -242,8 +252,8 @@ jobs:
242252
rm -f cabal.project.local
243253
$CABAL v2-build $ARG_COMPILER --disable-tests --disable-benchmarks all
244254
- name: save cache
245-
uses: actions/cache/save@v4
246255
if: always()
256+
uses: actions/cache/save@v4
247257
with:
248258
key: ${{ runner.os }}-${{ matrix.compiler }}-${{ github.sha }}
249259
path: ~/.cabal/store

cabal.haskell-ci

-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
ghcup-jobs: >=8.2
21
docspec: True
32
docspec-options: --timeout 2
43
haddock: >=8.6

text.cabal

+3-2
Original file line numberDiff line numberDiff line change
@@ -53,9 +53,10 @@ tested-with:
5353
GHC == 9.0.2
5454
GHC == 9.2.8
5555
GHC == 9.4.8
56-
GHC == 9.6.4
57-
GHC == 9.8.2
56+
GHC == 9.6.6
57+
GHC == 9.8.4
5858
GHC == 9.10.1
59+
GHC == 9.12.1
5960

6061
extra-source-files:
6162
-- scripts/CaseFolding.txt

0 commit comments

Comments
 (0)