@@ -8,9 +8,9 @@
88#
99# For more information, see https://github.com/haskell-CI/haskell-ci
1010#
11−# version: 0.11.20210101
11+# version: 0.11.20210220
1212#
13−# REGENDATA ("0.11.20210101",["github","cabal.project"])
13+# REGENDATA ("0.11.20210220",["github","cabal.project"])
1414#
1515name: Haskell-CI
1616on:
@@ -22,7 +22,7 @@ on:
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
@@ -30,7 +30,9 @@ jobs:
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
@@ -54,7 +56,7 @@ jobs:
5456 apt-get install -y --no-install-recommends gnupg ca-certificates dirmngr curl git software-properties-common
5557 apt-add-repository -y 'ppa:hvr/ghc'
5658 apt-get update
57− apt-get install -y ghc-$GHC_VERSION cabal-install-3.2
59+ apt-get install -y ghc-$GHC_VERSION cabal-install-3.4
5860 env:
5961 GHC_VERSION: ${{ matrix.ghc }}
6062 - name: Set PATH and environment variables
@@ -67,12 +69,13 @@ jobs:
6769 echo "HC=$HC" >> $GITHUB_ENV
6870 echo "HCPKG=/opt/ghc/$GHC_VERSION/bin/ghc-pkg" >> $GITHUB_ENV
6971 echo "HADDOCK=/opt/ghc/$GHC_VERSION/bin/haddock" >> $GITHUB_ENV
70− echo "CABAL=/opt/cabal/3.2/bin/cabal -vnormal+nowrap" >> $GITHUB_ENV
72+ echo "CABAL=/opt/cabal/3.4/bin/cabal -vnormal+nowrap" >> $GITHUB_ENV
7173 HCNUMVER=$(${HC} --numeric-version|perl -ne '/^(\d+)\.(\d+)\.(\d+)(\.(\d+))?$/; print(10000 * $1 + 100 * $2 + ($3 == 0 ? $5 != 1 : $3))')
7274 echo "HCNUMVER=$HCNUMVER" >> $GITHUB_ENV
7375 echo "ARG_TESTS=--enable-tests" >> $GITHUB_ENV
7476 echo "ARG_BENCH=--enable-benchmarks" >> $GITHUB_ENV
75− echo "ARG_COMPILER=--ghc --with-compiler=/opt/ghc/$GHC_VERSION/bin/ghc" >> $GITHUB_ENV
77+ echo "HEADHACKAGE=false" >> $GITHUB_ENV
78+ echo "ARG_COMPILER=--ghc --with-compiler=$HC" >> $GITHUB_ENV
7679 echo "GHCJSARITH=0" >> $GITHUB_ENV
7780 env:
7881 GHC_VERSION: ${{ matrix.ghc }}
@@ -110,7 +113,7 @@ jobs:
110113 - name: cache (tools)
111114 uses: actions/cache@v2
112115 with:
113− key: ${{ runner.os }}-${{ matrix.ghc }}-tools-b869866c
116+ key: ${{ runner.os }}-${{ matrix.ghc }}-tools-0d2d184d
114117 path: ~/.haskell-ci-tools
115118 - name: install cabal-plan
116119 run: |
@@ -123,16 +126,20 @@ jobs:
123126 cabal-plan --version
124127 - name: install doctest
125128 run: |
126− if [ $((HCNUMVER >= 80000)) -ne 0 ] ; then $CABAL --store-dir=$HOME/.haskell-ci-tools/store v2-install $ARG_COMPILER --ignore-project -j2 doctest --constraint='doctest ^>=0.17' ; fi
127− if [ $((HCNUMVER >= 80000)) -ne 0 ] ; then doctest --version ; fi
129+ if [ $((HCNUMVER >= 80000 && HCNUMVER < 90000)) -ne 0 ] ; then $CABAL --store-dir=$HOME/.haskell-ci-tools/store v2-install $ARG_COMPILER --ignore-project -j2 doctest --constraint='doctest ^>=0.17' ; fi
130+ if [ $((HCNUMVER >= 80000 && HCNUMVER < 90000)) -ne 0 ] ; then doctest --version ; fi
128131 - name: checkout
129132 uses: actions/checkout@v2
130133 with:
131134 path: source
135+ - name: initial cabal.project for sdist
136+ run: |
137+ touch cabal.project
138+ echo "packages: $GITHUB_WORKSPACE/source/." >> cabal.project
139+ cat cabal.project
132140 - name: sdist
133141 run: |
134142 mkdir -p sdist
135− cd source || false
136143 $CABAL sdist all --output-dir $GITHUB_WORKSPACE/sdist
137144 - name: unpack
138145 run: |
@@ -178,8 +185,8 @@ jobs:
178185 - name: doctest
179186 run: |
180187 perl -i -e 'while (<ARGV>) { print unless /package-id\s+(base-compat)-\d+(\.\d+)*/; }' .ghc.environment.*
181− if [ $((HCNUMVER >= 80000)) -ne 0 ] ; then cd ${PKGDIR_http_api_data} || false ; fi
182− if [ $((HCNUMVER >= 80000)) -ne 0 ] ; then doctest src/ ; fi
188+ if [ $((HCNUMVER >= 80000 && HCNUMVER < 90000)) -ne 0 ] ; then cd ${PKGDIR_http_api_data} || false ; fi
189+ if [ $((HCNUMVER >= 80000 && HCNUMVER < 90000)) -ne 0 ] ; then doctest src/ ; fi
183190 - name: cabal check
184191 run: |
185192 cd ${PKGDIR_http_api_data} || false