@@ -8,9 +8,9 @@
88#
99# For more information, see https://github.com/haskell-CI/haskell-ci
1010#
11−# version: 0.15.20220826
11+# version: 0.15.20230313
1212#
13−# REGENDATA ("0.15.20220826",["github","cabal.project"])
13+# REGENDATA ("0.15.20230313",["github","cabal.project"])
1414#
1515name: Haskell-CI
1616on:
@@ -32,14 +32,19 @@ jobs:
3232 strategy:
3333 matrix:
3434 include:
35− - compiler: ghc-9.4.2
35+ - compiler: ghc-9.6.1
3636 compilerKind: ghc
37− compilerVersion: 9.4.2
37+ compilerVersion: 9.6.1
3838 setup-method: ghcup
3939 allow-failure: false
40− - compiler: ghc-9.2.4
40+ - compiler: ghc-9.4.4
4141 compilerKind: ghc
42− compilerVersion: 9.2.4
42+ compilerVersion: 9.4.4
43+ setup-method: ghcup
44+ allow-failure: false
45+ - compiler: ghc-9.2.7
46+ compilerKind: ghc
47+ compilerVersion: 9.2.7
4348 setup-method: ghcup
4449 allow-failure: false
4550 - compiler: ghc-9.0.2
@@ -108,7 +113,7 @@ jobs:
108113 curl -sL https://downloads.haskell.org/ghcup/0.1.18.0/x86_64-linux-ghcup-0.1.18.0 > "$HOME/.ghcup/bin/ghcup"
109114 chmod a+x "$HOME/.ghcup/bin/ghcup"
110115 "$HOME/.ghcup/bin/ghcup" install ghc "$HCVER" || (cat "$HOME"/.ghcup/logs/*.* && false)
111− "$HOME/.ghcup/bin/ghcup" install cabal 3.6.2.0 || (cat "$HOME"/.ghcup/logs/*.* && false)
116+ "$HOME/.ghcup/bin/ghcup" install cabal 3.10.1.0 || (cat "$HOME"/.ghcup/logs/*.* && false)
112117 else
113118 apt-add-repository -y 'ppa:hvr/ghc'
114119 apt-get update
@@ -116,7 +121,7 @@ jobs:
116121 mkdir -p "$HOME/.ghcup/bin"
117122 curl -sL https://downloads.haskell.org/ghcup/0.1.18.0/x86_64-linux-ghcup-0.1.18.0 > "$HOME/.ghcup/bin/ghcup"
118123 chmod a+x "$HOME/.ghcup/bin/ghcup"
119− "$HOME/.ghcup/bin/ghcup" install cabal 3.6.2.0 || (cat "$HOME"/.ghcup/logs/*.* && false)
124+ "$HOME/.ghcup/bin/ghcup" install cabal 3.10.1.0 || (cat "$HOME"/.ghcup/logs/*.* && false)
120125 fi
121126 env:
122127 HCKIND: ${{ matrix.compilerKind }}
@@ -134,13 +139,13 @@ jobs:
134139 echo "HC=$HC" >> "$GITHUB_ENV"
135140 echo "HCPKG=$HOME/.ghcup/bin/$HCKIND-pkg-$HCVER" >> "$GITHUB_ENV"
136141 echo "HADDOCK=$HOME/.ghcup/bin/haddock-$HCVER" >> "$GITHUB_ENV"
137− echo "CABAL=$HOME/.ghcup/bin/cabal-3.6.2.0 -vnormal+nowrap" >> "$GITHUB_ENV"
142+ echo "CABAL=$HOME/.ghcup/bin/cabal-3.10.1.0 -vnormal+nowrap" >> "$GITHUB_ENV"
138143 else
139144 HC=$HCDIR/bin/$HCKIND
140145 echo "HC=$HC" >> "$GITHUB_ENV"
141146 echo "HCPKG=$HCDIR/bin/$HCKIND-pkg" >> "$GITHUB_ENV"
142147 echo "HADDOCK=$HCDIR/bin/haddock" >> "$GITHUB_ENV"
143− echo "CABAL=$HOME/.ghcup/bin/cabal-3.6.2.0 -vnormal+nowrap" >> "$GITHUB_ENV"
148+ echo "CABAL=$HOME/.ghcup/bin/cabal-3.10.1.0 -vnormal+nowrap" >> "$GITHUB_ENV"
144149 fi
145150
146151 HCNUMVER=$(${HC} --numeric-version|perl -ne '/^(\d+)\.(\d+)\.(\d+)(\.(\d+))?$/; print(10000 * $1 + 100 * $2 + ($3 == 0 ? $5 != 1 : $3))')
@@ -199,14 +204,14 @@ jobs:
199204 chmod a+x $HOME/.cabal/bin/cabal-plan
200205 cabal-plan --version
201206 - name: checkout
202− uses: actions/checkout@v2
207+ uses: actions/checkout@v3
203208 with:
204209 path: source
205210 - name: initial cabal.project for sdist
206211 run: |
207212 touch cabal.project
208213 echo "packages: $GITHUB_WORKSPACE/source/uuid-types" >> cabal.project
209− echo "packages: $GITHUB_WORKSPACE/source/uuid" >> cabal.project
214+ if [ $((HCNUMVER < 90600)) -ne 0 ] ; then echo "packages: $GITHUB_WORKSPACE/source/uuid" >> cabal.project ; fi
210215 cat cabal.project
211216 - name: sdist
212217 run: |
@@ -226,11 +231,11 @@ jobs:
226231 touch cabal.project
227232 touch cabal.project.local
228233 echo "packages: ${PKGDIR_uuid_types}" >> cabal.project
229− echo "packages: ${PKGDIR_uuid}" >> cabal.project
234+ if [ $((HCNUMVER < 90600)) -ne 0 ] ; then echo "packages: ${PKGDIR_uuid}" >> cabal.project ; fi
230235 if [ $((HCNUMVER >= 80200)) -ne 0 ] ; then echo "package uuid-types" >> cabal.project ; fi
231236 if [ $((HCNUMVER >= 80200)) -ne 0 ] ; then echo " ghc-options: -Werror=missing-methods" >> cabal.project ; fi
232− if [ $((HCNUMVER >= 80200)) -ne 0 ] ; then echo "package uuid" >> cabal.project ; fi
233− if [ $((HCNUMVER >= 80200)) -ne 0 ] ; then echo " ghc-options: -Werror=missing-methods" >> cabal.project ; fi
237+ if [ $((HCNUMVER >= 80200 && HCNUMVER < 90600)) -ne 0 ] ; then echo "package uuid" >> cabal.project ; fi
238+ if [ $((HCNUMVER >= 80200 && HCNUMVER < 90600)) -ne 0 ] ; then echo " ghc-options: -Werror=missing-methods" >> cabal.project ; fi
234239 cat >> cabal.project <<EOF
235240 EOF
236241 $HCPKG list --simple-output --names-only | perl -ne 'for (split /\s+/) { print "constraints: $_ installed\n" unless /^(uuid|uuid-types)$/; }' >> cabal.project.local
@@ -240,8 +245,8 @@ jobs:
240245 run: |
241246 $CABAL v2-build $ARG_COMPILER $ARG_TESTS $ARG_BENCH --dry-run all
242247 cabal-plan
243− - name: cache
244− uses: actions/cache@v2
248+ - name: restore cache
249+ uses: actions/cache/restore@v3
245250 with:
246251 key: ${{ runner.os }}-${{ matrix.compiler }}-${{ github.sha }}
247252 path: ~/.cabal/store
@@ -263,11 +268,11 @@ jobs:
263268 run: |
264269 cd ${PKGDIR_uuid_types} || false
265270 ${CABAL} -vnormal check
266− cd ${PKGDIR_uuid} || false
267− ${CABAL} -vnormal check
271+ if [ $((HCNUMVER < 90600)) -ne 0 ] ; then cd ${PKGDIR_uuid} || false ; fi
272+ if [ $((HCNUMVER < 90600)) -ne 0 ] ; then ${CABAL} -vnormal check ; fi
268273 - name: haddock
269274 run: |
270− $CABAL v2-haddock --haddock-all $ARG_COMPILER --with-haddock $HADDOCK $ARG_TESTS $ARG_BENCH all
275+ $CABAL v2-haddock --disable-documentation --haddock-all $ARG_COMPILER --with-haddock $HADDOCK $ARG_TESTS $ARG_BENCH all
271276 - name: unconstrained build
272277 run: |
273278 rm -f cabal.project.local
@@ -283,3 +288,9 @@ jobs:
283288 run: |
284289 $CABAL v2-build $ARG_COMPILER --disable-tests --disable-benchmarks --constraint='random==1.1.*' --dependencies-only -j2 all
285290 $CABAL v2-build $ARG_COMPILER --disable-tests --disable-benchmarks --constraint='random==1.1.*' all
291+ - name: save cache
292+ uses: actions/cache/save@v3
293+ if: always()
294+ with:
295+ key: ${{ runner.os }}-${{ matrix.compiler }}-${{ github.sha }}
296+ path: ~/.cabal/store