88#
99# For more information, see https://github.com/haskell-CI/haskell-ci
1010#
11- # version: 0.15.20220812
11+ # version: 0.15.20230211
1212#
13- # REGENDATA ("0.15.20220812 ",["github","cabal.project"])
13+ # REGENDATA ("0.15.20230211 ",["github","cabal.project"])
1414#
1515name : Haskell-CI
1616on :
@@ -28,14 +28,19 @@ jobs:
2828 strategy :
2929 matrix :
3030 include :
31- - compiler : ghc-9.4.1
31+ - compiler : ghc-9.6.0.20230128
3232 compilerKind : ghc
33- compilerVersion : 9.4.1
33+ compilerVersion : 9.6.0.20230128
34+ setup-method : ghcup
35+ allow-failure : true
36+ - compiler : ghc-9.4.4
37+ compilerKind : ghc
38+ compilerVersion : 9.4.4
3439 setup-method : ghcup
3540 allow-failure : false
36- - compiler : ghc-9.2.4
41+ - compiler : ghc-9.2.6
3742 compilerKind : ghc
38- compilerVersion : 9.2.4
43+ compilerVersion : 9.2.6
3944 setup-method : ghcup
4045 allow-failure : false
4146 - compiler : ghc-9.0.2
@@ -105,15 +110,16 @@ jobs:
105110 chmod a+x "$HOME/.ghcup/bin/ghcup"
106111 "$HOME/.ghcup/bin/ghcup" config add-release-channel https://raw.githubusercontent.com/haskell/ghcup-metadata/master/ghcup-prereleases-0.0.7.yaml;
107112 "$HOME/.ghcup/bin/ghcup" install ghc "$HCVER" || (cat "$HOME"/.ghcup/logs/*.* && false)
108- "$HOME/.ghcup/bin/ghcup" install cabal 3.6.2 .0 || (cat "$HOME"/.ghcup/logs/*.* && false)
113+ "$HOME/.ghcup/bin/ghcup" install cabal 3.9.0 .0 || (cat "$HOME"/.ghcup/logs/*.* && false)
109114 else
110115 apt-add-repository -y 'ppa:hvr/ghc'
111116 apt-get update
112117 apt-get install -y "$HCNAME"
113118 mkdir -p "$HOME/.ghcup/bin"
114119 curl -sL https://downloads.haskell.org/ghcup/0.1.18.0/x86_64-linux-ghcup-0.1.18.0 > "$HOME/.ghcup/bin/ghcup"
115120 chmod a+x "$HOME/.ghcup/bin/ghcup"
116- "$HOME/.ghcup/bin/ghcup" install cabal 3.6.2.0 || (cat "$HOME"/.ghcup/logs/*.* && false)
121+ "$HOME/.ghcup/bin/ghcup" config add-release-channel https://raw.githubusercontent.com/haskell/ghcup-metadata/master/ghcup-prereleases-0.0.7.yaml;
122+ "$HOME/.ghcup/bin/ghcup" install cabal 3.9.0.0 || (cat "$HOME"/.ghcup/logs/*.* && false)
117123 fi
118124 env :
119125 HCKIND : ${{ matrix.compilerKind }}
@@ -131,20 +137,20 @@ jobs:
131137 echo "HC=$HC" >> "$GITHUB_ENV"
132138 echo "HCPKG=$HOME/.ghcup/bin/$HCKIND-pkg-$HCVER" >> "$GITHUB_ENV"
133139 echo "HADDOCK=$HOME/.ghcup/bin/haddock-$HCVER" >> "$GITHUB_ENV"
134- echo "CABAL=$HOME/.ghcup/bin/cabal-3.6.2 .0 -vnormal+nowrap" >> "$GITHUB_ENV"
140+ echo "CABAL=$HOME/.ghcup/bin/cabal-3.9.0 .0 -vnormal+nowrap" >> "$GITHUB_ENV"
135141 else
136142 HC=$HCDIR/bin/$HCKIND
137143 echo "HC=$HC" >> "$GITHUB_ENV"
138144 echo "HCPKG=$HCDIR/bin/$HCKIND-pkg" >> "$GITHUB_ENV"
139145 echo "HADDOCK=$HCDIR/bin/haddock" >> "$GITHUB_ENV"
140- echo "CABAL=$HOME/.ghcup/bin/cabal-3.6.2 .0 -vnormal+nowrap" >> "$GITHUB_ENV"
146+ echo "CABAL=$HOME/.ghcup/bin/cabal-3.9.0 .0 -vnormal+nowrap" >> "$GITHUB_ENV"
141147 fi
142148
143149 HCNUMVER=$(${HC} --numeric-version|perl -ne '/^(\d+)\.(\d+)\.(\d+)(\.(\d+))?$/; print(10000 * $1 + 100 * $2 + ($3 == 0 ? $5 != 1 : $3))')
144150 echo "HCNUMVER=$HCNUMVER" >> "$GITHUB_ENV"
145151 echo "ARG_TESTS=--enable-tests" >> "$GITHUB_ENV"
146152 echo "ARG_BENCH=--enable-benchmarks" >> "$GITHUB_ENV"
147- if [ $((HCNUMVER > 90401 )) -ne 0 ] ; then echo "HEADHACKAGE=true" >> "$GITHUB_ENV" ; else echo "HEADHACKAGE=false" >> "$GITHUB_ENV" ; fi
153+ if [ $((HCNUMVER >= 90600 )) -ne 0 ] ; then echo "HEADHACKAGE=true" >> "$GITHUB_ENV" ; else echo "HEADHACKAGE=false" >> "$GITHUB_ENV" ; fi
148154 echo "ARG_COMPILER=--$HCKIND --with-compiler=$HC" >> "$GITHUB_ENV"
149155 echo "GHCJSARITH=0" >> "$GITHUB_ENV"
150156 env :
@@ -208,7 +214,7 @@ jobs:
208214 chmod a+x $HOME/.cabal/bin/cabal-plan
209215 cabal-plan --version
210216 - name : checkout
211- uses : actions/checkout@v2
217+ uses : actions/checkout@v3
212218 with :
213219 path : source
214220 - name : initial cabal.project for sdist
@@ -271,6 +277,41 @@ jobs:
271277 if [ $((HCNUMVER >= 80200)) -ne 0 ] ; then echo "package hackage-security-HTTP" >> cabal.project ; fi
272278 if [ $((HCNUMVER >= 80200)) -ne 0 ] ; then echo " ghc-options: -Werror=missing-methods" >> cabal.project ; fi
273279 cat >> cabal.project <<EOF
280+ constraints: Cabal-syntax >= 3.9
281+ constraints: Cabal >= 3.9
282+ constraints: array installed
283+ constraints: base installed
284+ constraints: binary installed
285+ constraints: bytestring installed
286+ constraints: containers installed
287+ constraints: deepseq installed
288+ constraints: directory installed
289+ constraints: filepath installed
290+ constraints: ghc installed
291+ constraints: ghc-boot installed
292+ constraints: ghc-boot-th installed
293+ constraints: ghc-heap installed
294+ constraints: ghc-prim installed
295+ constraints: ghci installed
296+ constraints: hpc installed
297+ constraints: integer-gmp installed
298+ constraints: mtl installed
299+ constraints: pretty installed
300+ constraints: process installed
301+ constraints: rts installed
302+ constraints: stm installed
303+ constraints: template-haskell installed
304+ constraints: terminfo installed
305+ constraints: time installed
306+ constraints: transformers installed
307+ constraints: unix installed
308+ constraints: xhtml installed
309+ allow-newer: *:base
310+ allow-newer: *:template-haskell
311+ allow-newer: *:ghc-prim
312+ allow-newer: *:unix
313+ allow-newer: *:Cabal-syntax
314+ allow-newer: *:Cabal
274315 EOF
275316 if $HEADHACKAGE; then
276317 echo "allow-newer: $($HCPKG list --simple-output | sed -E 's/([a-zA-Z-]+)-[0-9.]+/*:\1,/g')" >> cabal.project
@@ -282,8 +323,8 @@ jobs:
282323 run : |
283324 $CABAL v2-build $ARG_COMPILER $ARG_TESTS $ARG_BENCH --dry-run all
284325 cabal-plan
285- - name : cache
286- uses : actions/cache@v2
326+ - name : restore cache
327+ uses : actions/cache/restore@v3
287328 with :
288329 key : ${{ runner.os }}-${{ matrix.compiler }}-${{ github.sha }}
289330 path : ~/.cabal/store
@@ -319,7 +360,7 @@ jobs:
319360 ${CABAL} -vnormal check
320361 - name : haddock
321362 run : |
322- $CABAL v2-haddock --haddock-all $ARG_COMPILER --with-haddock $HADDOCK $ARG_TESTS $ARG_BENCH all
363+ $CABAL v2-haddock --disable-documentation -- haddock-all $ARG_COMPILER --with-haddock $HADDOCK $ARG_TESTS $ARG_BENCH all
323364 - name : unconstrained build
324365 run : |
325366 rm -f cabal.project.local
@@ -331,3 +372,9 @@ jobs:
331372 run : |
332373 if [ $((HCNUMVER >= 80200)) -ne 0 ] ; then $CABAL v2-build $ARG_COMPILER --disable-tests --disable-benchmarks --constraint='hackage-security -lukko' --dependencies-only -j2 all ; fi
333374 if [ $((HCNUMVER >= 80200)) -ne 0 ] ; then $CABAL v2-build $ARG_COMPILER --disable-tests --disable-benchmarks --constraint='hackage-security -lukko' all ; fi
375+ - name : save cache
376+ uses : actions/cache/save@v3
377+ if : always()
378+ with :
379+ key : ${{ runner.os }}-${{ matrix.compiler }}-${{ github.sha }}
380+ path : ~/.cabal/store
0 commit comments