Skip to content

Commit 850c908

Browse files
committed
Update Haskell CI workflow to GHC 9.8.4 and ubuntu-24.04
1 parent 02c893c commit 850c908

File tree

6 files changed

+30
-33
lines changed

6 files changed

+30
-33
lines changed

.github/workflows/haskell-ci.yml

Lines changed: 24 additions & 26 deletions
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.20240708
11+
# version: 0.19.20250216
1212
#
13-
# REGENDATA ("0.19.20240708",["github","cabal.project","--apt","libwebkit2gtk-4.0-dev","--apt","libgirepository1.0-dev","--apt","nodejs","--jobs-selection","any","--error-missing-methods","none","--no-install-dependencies","--installed","-Cabal"])
13+
# REGENDATA ("0.19.20250216",["github","cabal.project","--apt","libwebkit2gtk-4.0-dev","--apt","libgirepository1.0-dev","--apt","nodejs","--jobs-selection","any","--error-missing-methods","none","--no-install-dependencies","--installed","-Cabal"])
1414
#
1515
name: Haskell-CI
1616
on:
@@ -19,7 +19,7 @@ on:
1919
jobs:
2020
linux:
2121
name: Haskell-CI - Linux - ${{ matrix.compiler }}
22-
runs-on: ubuntu-20.04
22+
runs-on: ubuntu-24.04
2323
timeout-minutes:
2424
60
2525
container:
@@ -33,9 +33,9 @@ jobs:
3333
compilerVersion: 9.10.1
3434
setup-method: ghcup
3535
allow-failure: false
36-
- compiler: ghc-9.8.2
36+
- compiler: ghc-9.8.4
3737
compilerKind: ghc
38-
compilerVersion: 9.8.2
38+
compilerVersion: 9.8.4
3939
setup-method: ghcup
4040
allow-failure: false
4141
- compiler: ghc-9.6.6
@@ -80,17 +80,30 @@ jobs:
8080
allow-failure: false
8181
fail-fast: false
8282
steps:
83-
- name: apt
83+
- name: apt-get install
8484
run: |
8585
apt-get update
8686
apt-get install -y --no-install-recommends gnupg ca-certificates dirmngr curl git software-properties-common libtinfo5 libnuma-dev
87+
apt-get install -y libgirepository1.0-dev libwebkit2gtk-4.0-dev nodejs
88+
- name: Install GHCup
89+
run: |
8790
mkdir -p "$HOME/.ghcup/bin"
8891
curl -sL https://downloads.haskell.org/ghcup/0.1.30.0/x86_64-linux-ghcup-0.1.30.0 > "$HOME/.ghcup/bin/ghcup"
8992
chmod a+x "$HOME/.ghcup/bin/ghcup"
90-
"$HOME/.ghcup/bin/ghcup" install ghc "$HCVER" || (cat "$HOME"/.ghcup/logs/*.* && false)
93+
- name: Install cabal-install
94+
run: |
9195
"$HOME/.ghcup/bin/ghcup" install cabal 3.12.1.0 || (cat "$HOME"/.ghcup/logs/*.* && false)
92-
apt-get update
93-
apt-get install -y libgirepository1.0-dev libwebkit2gtk-4.0-dev nodejs
96+
echo "CABAL=$HOME/.ghcup/bin/cabal-3.12.1.0 -vnormal+nowrap" >> "$GITHUB_ENV"
97+
- name: Install GHC (GHCup)
98+
if: matrix.setup-method == 'ghcup'
99+
run: |
100+
"$HOME/.ghcup/bin/ghcup" install ghc "$HCVER" || (cat "$HOME"/.ghcup/logs/*.* && false)
101+
HC=$("$HOME/.ghcup/bin/ghcup" whereis ghc "$HCVER")
102+
HCPKG=$(echo "$HC" | sed 's#ghc$#ghc-pkg#')
103+
HADDOCK=$(echo "$HC" | sed 's#ghc$#haddock#')
104+
echo "HC=$HC" >> "$GITHUB_ENV"
105+
echo "HCPKG=$HCPKG" >> "$GITHUB_ENV"
106+
echo "HADDOCK=$HADDOCK" >> "$GITHUB_ENV"
94107
env:
95108
HCKIND: ${{ matrix.compilerKind }}
96109
HCNAME: ${{ matrix.compiler }}
@@ -101,21 +114,12 @@ jobs:
101114
echo "LANG=C.UTF-8" >> "$GITHUB_ENV"
102115
echo "CABAL_DIR=$HOME/.cabal" >> "$GITHUB_ENV"
103116
echo "CABAL_CONFIG=$HOME/.cabal/config" >> "$GITHUB_ENV"
104-
HCDIR=/opt/$HCKIND/$HCVER
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"
111-
echo "CABAL=$HOME/.ghcup/bin/cabal-3.12.1.0 -vnormal+nowrap" >> "$GITHUB_ENV"
112117
HCNUMVER=$(${HC} --numeric-version|perl -ne '/^(\d+)\.(\d+)\.(\d+)(\.(\d+))?$/; print(10000 * $1 + 100 * $2 + ($3 == 0 ? $5 != 1 : $3))')
113118
echo "HCNUMVER=$HCNUMVER" >> "$GITHUB_ENV"
114119
echo "ARG_TESTS=--enable-tests" >> "$GITHUB_ENV"
115120
echo "ARG_BENCH=--enable-benchmarks" >> "$GITHUB_ENV"
116121
echo "HEADHACKAGE=false" >> "$GITHUB_ENV"
117122
echo "ARG_COMPILER=--$HCKIND --with-compiler=$HC" >> "$GITHUB_ENV"
118-
echo "GHCJSARITH=0" >> "$GITHUB_ENV"
119123
env:
120124
HCKIND: ${{ matrix.compilerKind }}
121125
HCNAME: ${{ matrix.compiler }}
@@ -174,7 +178,6 @@ jobs:
174178
echo "packages: $GITHUB_WORKSPACE/source/jsaddle" >> cabal.project
175179
echo "packages: $GITHUB_WORKSPACE/source/jsaddle-warp" >> cabal.project
176180
echo "packages: $GITHUB_WORKSPACE/source/jsaddle-clib" >> cabal.project
177-
echo "packages: $GITHUB_WORKSPACE/source/jsaddle-webkit2gtk" >> cabal.project
178181
cat cabal.project
179182
- name: sdist
180183
run: |
@@ -192,20 +195,17 @@ jobs:
192195
echo "PKGDIR_jsaddle_warp=${PKGDIR_jsaddle_warp}" >> "$GITHUB_ENV"
193196
PKGDIR_jsaddle_clib="$(find "$GITHUB_WORKSPACE/unpacked" -maxdepth 1 -type d -regex '.*/jsaddle-clib-[0-9.]*')"
194197
echo "PKGDIR_jsaddle_clib=${PKGDIR_jsaddle_clib}" >> "$GITHUB_ENV"
195-
PKGDIR_jsaddle_webkit2gtk="$(find "$GITHUB_WORKSPACE/unpacked" -maxdepth 1 -type d -regex '.*/jsaddle-webkit2gtk-[0-9.]*')"
196-
echo "PKGDIR_jsaddle_webkit2gtk=${PKGDIR_jsaddle_webkit2gtk}" >> "$GITHUB_ENV"
197198
rm -f cabal.project cabal.project.local
198199
touch cabal.project
199200
touch cabal.project.local
200201
echo "packages: ${PKGDIR_jsaddle}" >> cabal.project
201202
echo "packages: ${PKGDIR_jsaddle_warp}" >> cabal.project
202203
echo "packages: ${PKGDIR_jsaddle_clib}" >> cabal.project
203-
echo "packages: ${PKGDIR_jsaddle_webkit2gtk}" >> cabal.project
204204
cat >> cabal.project <<EOF
205205
constraints: haskell-gi-overloading == 0.0
206206
allow-newer: websockets:containers
207207
EOF
208-
$HCPKG list --simple-output --names-only | perl -ne 'for (split /\s+/) { print "constraints: any.$_ installed\n" unless /^(Cabal|jsaddle|jsaddle-clib|jsaddle-warp|jsaddle-webkit2gtk)$/; }' >> cabal.project.local
208+
$HCPKG list --simple-output --names-only | perl -ne 'for (split /\s+/) { print "constraints: any.$_ installed\n" unless /^(Cabal|jsaddle|jsaddle-clib|jsaddle-warp)$/; }' >> cabal.project.local
209209
cat cabal.project
210210
cat cabal.project.local
211211
- name: dump install plan
@@ -235,8 +235,6 @@ jobs:
235235
${CABAL} -vnormal check
236236
cd ${PKGDIR_jsaddle_clib} || false
237237
${CABAL} -vnormal check
238-
cd ${PKGDIR_jsaddle_webkit2gtk} || false
239-
${CABAL} -vnormal check
240238
- name: haddock
241239
run: |
242240
$CABAL v2-haddock --disable-documentation --haddock-all $ARG_COMPILER --with-haddock $HADDOCK $ARG_TESTS $ARG_BENCH all
@@ -245,8 +243,8 @@ jobs:
245243
rm -f cabal.project.local
246244
$CABAL v2-build $ARG_COMPILER --disable-tests --disable-benchmarks all
247245
- name: save cache
248-
uses: actions/cache/save@v4
249246
if: always()
247+
uses: actions/cache/save@v4
250248
with:
251249
key: ${{ runner.os }}-${{ matrix.compiler }}-${{ github.sha }}
252250
path: ~/.cabal/store

jsaddle-clib/jsaddle-clib.cabal

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ description:
1111
can be used both from GHCJS and GHC.
1212
category: Web, Javascript
1313
author: Hamish Mackenzie
14-
tested-with: GHC==9.10.1, GHC==9.8.2, GHC==9.6.6, GHC==9.4.8, GHC==9.2.8, GHC==9.0.2, GHC==8.10.7, GHC==8.8.4, GHC==8.6.5, GHC==8.4.4
14+
tested-with: GHC==9.10.1, GHC==9.8.4, GHC==9.6.6, GHC==9.4.8, GHC==9.2.8, GHC==9.0.2, GHC==8.10.7, GHC==8.8.4, GHC==8.6.5, GHC==8.4.4
1515

1616
source-repository head
1717
type: git

jsaddle-warp/jsaddle-warp.cabal

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ description:
1313
drive a small JavaScript helper.
1414
category: Web, Javascript
1515
author: Hamish Mackenzie
16-
tested-with: GHC==9.10.1, GHC==9.8.2, GHC==9.6.6, GHC==9.4.8, GHC==9.2.8, GHC==9.0.2, GHC==8.10.7, GHC==8.8.4, GHC==8.6.5, GHC==8.4.4
16+
tested-with: GHC==9.10.1, GHC==9.8.4, GHC==9.6.6, GHC==9.4.8, GHC==9.2.8, GHC==9.0.2, GHC==8.10.7, GHC==8.8.4, GHC==8.6.5, GHC==8.4.4
1717
data-files:
1818
node-client/index.js
1919
node-client/node_modules

jsaddle-webkit2gtk/jsaddle-webkit2gtk.cabal

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ description:
1313
drive a small JavaScipt helper.
1414
category: Web, Javascript
1515
author: Hamish Mackenzie
16-
tested-with: GHC==9.10.1, GHC==9.8.2, GHC==9.6.6, GHC==9.4.8, GHC==9.2.8, GHC==9.0.2, GHC==8.10.7, GHC==8.8.4, GHC==8.6.5, GHC==8.4.4
16+
tested-with: GHC==9.10.1, GHC==9.8.4, GHC==9.6.6, GHC==9.4.8, GHC==9.2.8, GHC==9.0.2, GHC==8.10.7, GHC==8.8.4, GHC==8.6.5, GHC==8.4.4
1717

1818
source-repository head
1919
type: git
@@ -47,4 +47,3 @@ library
4747
default-language: Haskell2010
4848
hs-source-dirs: src
4949
ghc-options: -ferror-spans -Wall
50-

jsaddle-wkwebview/jsaddle-wkwebview.cabal

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ description:
1313
drive a small JavaScipt helper.
1414
category: Web, Javascript
1515
author: Hamish Mackenzie
16-
tested-with: GHC==9.10.1, GHC==9.8.2, GHC==9.6.6, GHC==9.4.8, GHC==9.2.8, GHC==9.0.2, GHC==8.10.7, GHC==8.8.4, GHC==8.6.5, GHC==8.4.4
16+
tested-with: GHC==9.10.1, GHC==9.8.4, GHC==9.6.6, GHC==9.4.8, GHC==9.2.8, GHC==9.0.2, GHC==8.10.7, GHC==8.8.4, GHC==8.6.5, GHC==8.4.4
1717

1818
flag include-app-delegate
1919
description: Include default AppDelegate C sources.

jsaddle/jsaddle.cabal

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ description:
1313
drive a small JavaScript helper.
1414
category: Web, Javascript
1515
author: Hamish Mackenzie
16-
tested-with: GHC==9.10.1, GHC==9.8.2, GHC==9.6.6, GHC==9.4.8, GHC==9.2.8, GHC==9.0.2, GHC==8.10.7, GHC==8.8.4, GHC==8.6.5, GHC==8.4.4
16+
tested-with: GHC==9.10.1, GHC==9.8.4, GHC==9.6.6, GHC==9.4.8, GHC==9.2.8, GHC==9.0.2, GHC==8.10.7, GHC==8.8.4, GHC==8.6.5, GHC==8.4.4
1717

1818
source-repository head
1919
type: git
@@ -46,7 +46,7 @@ library
4646
ghc-prim,
4747
http-types >=0.8.6 && <0.13,
4848
process >=1.2.3.0 && <1.7,
49-
random >= 1.1 && < 1.3,
49+
random >= 1.1 && < 1.4,
5050
ref-tf >=0.4.0.1 && <0.6,
5151
scientific >=0.3 && <0.4,
5252
stm >=2.4.4 && <2.6,

0 commit comments

Comments
 (0)