88#
99# For more information, see https://github.com/haskell-CI/haskell-ci
1010#
11- # version: 0.11.20210101
11+ # version: 0.11.20210222
1212#
13- # REGENDATA ("0.11.20210101 ",["github","cabal.project"])
13+ # REGENDATA ("0.11.20210222 ",["github","cabal.project"])
1414#
1515name : Haskell-CI
1616on :
2222 - master
2323jobs :
2424 linux :
25- name : Haskell-CI Linux - GHC ${{ matrix.ghc }}
25+ name : Haskell-CI - Linux - GHC ${{ matrix.ghc }}
2626 runs-on : ubuntu-18.04
2727 container :
2828 image : buildpack-deps:bionic
2929 continue-on-error : ${{ matrix.allow-failure }}
3030 strategy :
3131 matrix :
3232 include :
33- - ghc : 8.10.3
33+ - ghc : 9.0.1
34+ allow-failure : false
35+ - ghc : 8.10.4
3436 allow-failure : false
3537 - ghc : 8.8.4
3638 allow-failure : false
6264 apt-get install -y --no-install-recommends gnupg ca-certificates dirmngr curl git software-properties-common
6365 apt-add-repository -y 'ppa:hvr/ghc'
6466 apt-get update
65- apt-get install -y ghc-$GHC_VERSION cabal-install-3.2
67+ apt-get install -y ghc-$GHC_VERSION cabal-install-3.4
6668 env :
6769 GHC_VERSION : ${{ matrix.ghc }}
6870 - name : Set PATH and environment variables
@@ -75,12 +77,13 @@ jobs:
7577 echo "HC=$HC" >> $GITHUB_ENV
7678 echo "HCPKG=/opt/ghc/$GHC_VERSION/bin/ghc-pkg" >> $GITHUB_ENV
7779 echo "HADDOCK=/opt/ghc/$GHC_VERSION/bin/haddock" >> $GITHUB_ENV
78- echo "CABAL=/opt/cabal/3.2 /bin/cabal -vnormal+nowrap" >> $GITHUB_ENV
80+ echo "CABAL=/opt/cabal/3.4 /bin/cabal -vnormal+nowrap" >> $GITHUB_ENV
7981 HCNUMVER=$(${HC} --numeric-version|perl -ne '/^(\d+)\.(\d+)\.(\d+)(\.(\d+))?$/; print(10000 * $1 + 100 * $2 + ($3 == 0 ? $5 != 1 : $3))')
8082 echo "HCNUMVER=$HCNUMVER" >> $GITHUB_ENV
8183 if [ $((HCNUMVER >= 70400)) -ne 0 ] ; then echo "ARG_TESTS=--enable-tests" >> $GITHUB_ENV ; else echo "ARG_TESTS=--disable-tests" >> $GITHUB_ENV ; fi
8284 if [ $((HCNUMVER >= 70400)) -ne 0 ] ; then echo "ARG_BENCH=--enable-benchmarks" >> $GITHUB_ENV ; else echo "ARG_BENCH=--disable-benchmarks" >> $GITHUB_ENV ; fi
83- echo "ARG_COMPILER=--ghc --with-compiler=/opt/ghc/$GHC_VERSION/bin/ghc" >> $GITHUB_ENV
85+ echo "HEADHACKAGE=false" >> $GITHUB_ENV
86+ echo "ARG_COMPILER=--ghc --with-compiler=$HC" >> $GITHUB_ENV
8487 echo "GHCJSARITH=0" >> $GITHUB_ENV
8588 env :
8689 GHC_VERSION : ${{ matrix.ghc }}
@@ -115,11 +118,6 @@ jobs:
115118 - name : update cabal index
116119 run : |
117120 $CABAL v2-update -v
118- - name : cache (tools)
119- uses : actions/cache@v2
120- with :
121- key : ${{ runner.os }}-${{ matrix.ghc }}-tools-c0007cad
122- path : ~/.haskell-ci-tools
123121 - name : install cabal-plan
124122 run : |
125123 mkdir -p $HOME/.cabal/bin
@@ -129,18 +127,27 @@ jobs:
129127 rm -f cabal-plan.xz
130128 chmod a+x $HOME/.cabal/bin/cabal-plan
131129 cabal-plan --version
132- - name : install doctest
130+ - name : install cabal-docspec
133131 run : |
134- if [ $((HCNUMVER >= 80400)) -ne 0 ] ; then $CABAL --store-dir=$HOME/.haskell-ci-tools/store v2-install $ARG_COMPILER --ignore-project -j2 doctest --constraint='doctest ^>=0.17' ; fi
135- if [ $((HCNUMVER >= 80400)) -ne 0 ] ; then doctest --version ; fi
132+ mkdir -p $HOME/.cabal/bin
133+ curl -sL https://github.com/phadej/cabal-extras/releases/download/cabal-docspec-0.0.0.20210111/cabal-docspec-0.0.0.20210111.xz > cabal-docspec.xz
134+ echo '0829bd034fba901cbcfe491d98ed8b28fd54f9cb5c91fa8e1ac62dc4413c9562 cabal-docspec.xz' | sha256sum -c -
135+ xz -d < cabal-docspec.xz > $HOME/.cabal/bin/cabal-docspec
136+ rm -f cabal-docspec.xz
137+ chmod a+x $HOME/.cabal/bin/cabal-docspec
138+ cabal-docspec --version
136139 - name : checkout
137140 uses : actions/checkout@v2
138141 with :
139142 path : source
143+ - name : initial cabal.project for sdist
144+ run : |
145+ touch cabal.project
146+ echo "packages: $GITHUB_WORKSPACE/source/." >> cabal.project
147+ cat cabal.project
140148 - name : sdist
141149 run : |
142150 mkdir -p sdist
143- cd source || false
144151 $CABAL sdist all --output-dir $GITHUB_WORKSPACE/sdist
145152 - name : unpack
146153 run : |
@@ -184,10 +191,10 @@ jobs:
184191 - name : tests
185192 run : |
186193 if [ $((HCNUMVER >= 70400)) -ne 0 ] ; then $CABAL v2-test $ARG_COMPILER $ARG_TESTS $ARG_BENCH all --test-show-details=direct ; fi
187- - name : doctest
194+ - name : docspec
188195 run : |
189- if [ $((HCNUMVER >= 80400)) -ne 0 ] ; then cd ${PKGDIR_rere} || false ; fi
190- if [ $((HCNUMVER >= 80400)) -ne 0 ] ; then doctest src ; fi
196+ if [ $((HCNUMVER >= 80400)) -ne 0 ] ; then $CABAL v2-build $ARG_COMPILER $ARG_TESTS $ARG_BENCH all ; fi
197+ if [ $((HCNUMVER >= 80400)) -ne 0 ] ; then cabal-docspec $ARG_COMPILER ; fi
191198 - name : cabal check
192199 run : |
193200 cd ${PKGDIR_rere} || false
0 commit comments