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#
1515name : Haskell-CI
1616on :
1919jobs :
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 :
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
0 commit comments