@@ -8,9 +8,9 @@
9# For more information, see https://github.com/haskell-CI/haskell-ci
9# For more information, see https://github.com/haskell-CI/haskell-ci
11−# version: 0.15.20220826
11+# version: 0.15.20230313
13−# REGENDATA ("0.15.20220826",["github","cabal.project"])
13+# REGENDATA ("0.15.20230313",["github","cabal.project"])
15name: Haskell-CI
15name: Haskell-CI
@@ -32,14 +32,19 @@ jobs:
35− - compiler: ghc-9.4.2
35+ - compiler: ghc-9.6.1
36 compilerKind: ghc
36 compilerKind: ghc
37− compilerVersion: 9.4.2
37+ compilerVersion: 9.6.1
38 setup-method: ghcup
38 setup-method: ghcup
39 allow-failure: false
39 allow-failure: false
40− - compiler: ghc-9.2.4
40+ - compiler: ghc-9.4.4
41 compilerKind: ghc
41 compilerKind: ghc
42− compilerVersion: 9.2.4
42+ compilerVersion: 9.4.4
45+ - compiler: ghc-9.2.7
47+ compilerVersion: 9.2.7
43 setup-method: ghcup
48 setup-method: ghcup
44 allow-failure: false
49 allow-failure: false
45 - compiler: ghc-9.0.2
50 - compiler: ghc-9.0.2
@@ -108,7 +113,7 @@ jobs:
108 curl -sL https://downloads.haskell.org/ghcup/0.1.18.0/x86_64-linux-ghcup-0.1.18.0 > "$HOME/.ghcup/bin/ghcup"
113 curl -sL https://downloads.haskell.org/ghcup/0.1.18.0/x86_64-linux-ghcup-0.1.18.0 > "$HOME/.ghcup/bin/ghcup"
109 chmod a+x "$HOME/.ghcup/bin/ghcup"
114 chmod a+x "$HOME/.ghcup/bin/ghcup"
110 "$HOME/.ghcup/bin/ghcup" install ghc "$HCVER" || (cat "$HOME"/.ghcup/logs/*.* && false)
115 "$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)
113 apt-add-repository -y 'ppa:hvr/ghc'
118 apt-add-repository -y 'ppa:hvr/ghc'
114 apt-get update
119 apt-get update
@@ -116,7 +121,7 @@ jobs:
116 mkdir -p "$HOME/.ghcup/bin"
121 mkdir -p "$HOME/.ghcup/bin"
117 curl -sL https://downloads.haskell.org/ghcup/0.1.18.0/x86_64-linux-ghcup-0.1.18.0 > "$HOME/.ghcup/bin/ghcup"
122 curl -sL https://downloads.haskell.org/ghcup/0.1.18.0/x86_64-linux-ghcup-0.1.18.0 > "$HOME/.ghcup/bin/ghcup"
118 chmod a+x "$HOME/.ghcup/bin/ghcup"
123 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)
122 HCKIND: ${{ matrix.compilerKind }}
127 HCKIND: ${{ matrix.compilerKind }}
@@ -134,13 +139,13 @@ jobs:
134 echo "HC=$HC" >> "$GITHUB_ENV"
139 echo "HC=$HC" >> "$GITHUB_ENV"
135 echo "HCPKG=$HOME/.ghcup/bin/$HCKIND-pkg-$HCVER" >> "$GITHUB_ENV"
140 echo "HCPKG=$HOME/.ghcup/bin/$HCKIND-pkg-$HCVER" >> "$GITHUB_ENV"
136 echo "HADDOCK=$HOME/.ghcup/bin/haddock-$HCVER" >> "$GITHUB_ENV"
141 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"
139 HC=$HCDIR/bin/$HCKIND
144 HC=$HCDIR/bin/$HCKIND
140 echo "HC=$HC" >> "$GITHUB_ENV"
145 echo "HC=$HC" >> "$GITHUB_ENV"
141 echo "HCPKG=$HCDIR/bin/$HCKIND-pkg" >> "$GITHUB_ENV"
146 echo "HCPKG=$HCDIR/bin/$HCKIND-pkg" >> "$GITHUB_ENV"
142 echo "HADDOCK=$HCDIR/bin/haddock" >> "$GITHUB_ENV"
147 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"
146 HCNUMVER=$(${HC} --numeric-version|perl -ne '/^(\d+)\.(\d+)\.(\d+)(\.(\d+))?$/; print(10000 * $1 + 100 * $2 + ($3 == 0 ? $5 != 1 : $3))')
151 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:
199 chmod a+x $HOME/.cabal/bin/cabal-plan
204 chmod a+x $HOME/.cabal/bin/cabal-plan
200 cabal-plan --version
205 cabal-plan --version
201 - name: checkout
206 - name: checkout
202− uses: actions/checkout@v2
207+ uses: actions/checkout@v3
204 path: source
209 path: source
205 - name: initial cabal.project for sdist
210 - name: initial cabal.project for sdist
207 touch cabal.project
212 touch cabal.project
208 echo "packages: $GITHUB_WORKSPACE/source/uuid-types" >> cabal.project
213 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
210 cat cabal.project
215 cat cabal.project
211 - name: sdist
216 - name: sdist
@@ -226,11 +231,11 @@ jobs:
226 touch cabal.project
231 touch cabal.project
227 touch cabal.project.local
232 touch cabal.project.local
228 echo "packages: ${PKGDIR_uuid_types}" >> cabal.project
233 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
230 if [ $((HCNUMVER >= 80200)) -ne 0 ] ; then echo "package uuid-types" >> cabal.project ; fi
235 if [ $((HCNUMVER >= 80200)) -ne 0 ] ; then echo "package uuid-types" >> cabal.project ; fi
231 if [ $((HCNUMVER >= 80200)) -ne 0 ] ; then echo " ghc-options: -Werror=missing-methods" >> cabal.project ; fi
236 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
237+ if [ $((HCNUMVER >= 80200 && HCNUMVER < 90600)) -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
238+ if [ $((HCNUMVER >= 80200 && HCNUMVER < 90600)) -ne 0 ] ; then echo " ghc-options: -Werror=missing-methods" >> cabal.project ; fi
234 cat >> cabal.project <<EOF
239 cat >> cabal.project <<EOF
236 $HCPKG list --simple-output --names-only | perl -ne 'for (split /\s+/) { print "constraints: $_ installed\n" unless /^(uuid|uuid-types)$/; }' >> cabal.project.local
241 $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:
241 $CABAL v2-build $ARG_COMPILER $ARG_TESTS $ARG_BENCH --dry-run all
246 $CABAL v2-build $ARG_COMPILER $ARG_TESTS $ARG_BENCH --dry-run all
242 cabal-plan
247 cabal-plan
243− - name: cache
248+ - name: restore cache
244− uses: actions/cache@v2
249+ uses: actions/cache/restore@v3
246 key: ${{ runner.os }}-${{ matrix.compiler }}-${{ github.sha }}
251 key: ${{ runner.os }}-${{ matrix.compiler }}-${{ github.sha }}
247 path: ~/.cabal/store
252 path: ~/.cabal/store
@@ -263,11 +268,11 @@ jobs:
264 cd ${PKGDIR_uuid_types} || false
269 cd ${PKGDIR_uuid_types} || false
265 ${CABAL} -vnormal check
270 ${CABAL} -vnormal check
266− cd ${PKGDIR_uuid} || false
271+ if [ $((HCNUMVER < 90600)) -ne 0 ] ; then cd ${PKGDIR_uuid} || false ; fi
267− ${CABAL} -vnormal check
272+ if [ $((HCNUMVER < 90600)) -ne 0 ] ; then ${CABAL} -vnormal check ; fi
268 - name: haddock
273 - name: haddock
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
271 - name: unconstrained build
276 - name: unconstrained build
273 rm -f cabal.project.local
278 rm -f cabal.project.local
@@ -283,3 +288,9 @@ jobs:
284 $CABAL v2-build $ARG_COMPILER --disable-tests --disable-benchmarks --constraint='random==1.1.*' --dependencies-only -j2 all
289 $CABAL v2-build $ARG_COMPILER --disable-tests --disable-benchmarks --constraint='random==1.1.*' --dependencies-only -j2 all
285 $CABAL v2-build $ARG_COMPILER --disable-tests --disable-benchmarks --constraint='random==1.1.*' all
290 $CABAL v2-build $ARG_COMPILER --disable-tests --disable-benchmarks --constraint='random==1.1.*' all
292+ uses: actions/cache/save@v3
295+ key: ${{ runner.os }}-${{ matrix.compiler }}-${{ github.sha }}
296+ path: ~/.cabal/store