88#
99# For more information, see https://github.com/haskell-CI/haskell-ci
1010#
11- # version: 0.15.20220710
11+ # version: 0.16.1
1212#
13- # REGENDATA ("0.15.20220710 ",["github","cabal.project"])
13+ # REGENDATA ("0.16.1 ",["github","cabal.project"])
1414#
1515name : Haskell-CI
1616on :
@@ -34,14 +34,19 @@ jobs:
3434 strategy :
3535 matrix :
3636 include :
37- - compiler : ghc-9.4.0.20220623
37+ - compiler : ghc-9.6.1
3838 compilerKind : ghc
39- compilerVersion : 9.4.0.20220623
39+ compilerVersion : 9.6.1
4040 setup-method : ghcup
41- allow-failure : true
42- - compiler : ghc-9.2.3
41+ allow-failure : false
42+ - compiler : ghc-9.4.5
43+ compilerKind : ghc
44+ compilerVersion : 9.4.5
45+ setup-method : ghcup
46+ allow-failure : false
47+ - compiler : ghc-9.2.7
4348 compilerKind : ghc
44- compilerVersion : 9.2.3
49+ compilerVersion : 9.2.7
4550 setup-method : ghcup
4651 allow-failure : false
4752 - compiler : ghc-9.0.2
@@ -117,21 +122,20 @@ jobs:
117122 apt-get install -y --no-install-recommends gnupg ca-certificates dirmngr curl git software-properties-common libtinfo5
118123 if [ "${{ matrix.setup-method }}" = ghcup ]; then
119124 mkdir -p "$HOME/.ghcup/bin"
120- curl -sL https://downloads.haskell.org/ghcup/0.1.17.8 /x86_64-linux-ghcup-0.1.17.8 > "$HOME/.ghcup/bin/ghcup"
125+ curl -sL https://downloads.haskell.org/ghcup/0.1.19.2 /x86_64-linux-ghcup-0.1.19.2 > "$HOME/.ghcup/bin/ghcup"
121126 chmod a+x "$HOME/.ghcup/bin/ghcup"
122- "$HOME/.ghcup/bin/ghcup" config add-release-channel https://raw.githubusercontent.com/haskell/ghcup-metadata/master/ghcup-prereleases-0.0.7.yaml;
123127 "$HOME/.ghcup/bin/ghcup" install ghc "$HCVER" || (cat "$HOME"/.ghcup/logs/*.* && false)
124- "$HOME/.ghcup/bin/ghcup" install cabal 3.6.2 .0 || (cat "$HOME"/.ghcup/logs/*.* && false)
128+ "$HOME/.ghcup/bin/ghcup" install cabal 3.10.1 .0 || (cat "$HOME"/.ghcup/logs/*.* && false)
125129 apt-get update
126130 apt-get install -y libxml2-dev
127131 else
128132 apt-add-repository -y 'ppa:hvr/ghc'
129133 apt-get update
130134 apt-get install -y "$HCNAME" libxml2-dev
131135 mkdir -p "$HOME/.ghcup/bin"
132- curl -sL https://downloads.haskell.org/ghcup/0.1.17.8 /x86_64-linux-ghcup-0.1.17.8 > "$HOME/.ghcup/bin/ghcup"
136+ curl -sL https://downloads.haskell.org/ghcup/0.1.19.2 /x86_64-linux-ghcup-0.1.19.2 > "$HOME/.ghcup/bin/ghcup"
133137 chmod a+x "$HOME/.ghcup/bin/ghcup"
134- "$HOME/.ghcup/bin/ghcup" install cabal 3.6.2 .0 || (cat "$HOME"/.ghcup/logs/*.* && false)
138+ "$HOME/.ghcup/bin/ghcup" install cabal 3.10.1 .0 || (cat "$HOME"/.ghcup/logs/*.* && false)
135139 fi
136140 env :
137141 HCKIND : ${{ matrix.compilerKind }}
@@ -149,20 +153,20 @@ jobs:
149153 echo "HC=$HC" >> "$GITHUB_ENV"
150154 echo "HCPKG=$HOME/.ghcup/bin/$HCKIND-pkg-$HCVER" >> "$GITHUB_ENV"
151155 echo "HADDOCK=$HOME/.ghcup/bin/haddock-$HCVER" >> "$GITHUB_ENV"
152- echo "CABAL=$HOME/.ghcup/bin/cabal-3.6.2 .0 -vnormal+nowrap" >> "$GITHUB_ENV"
156+ echo "CABAL=$HOME/.ghcup/bin/cabal-3.10.1 .0 -vnormal+nowrap" >> "$GITHUB_ENV"
153157 else
154158 HC=$HCDIR/bin/$HCKIND
155159 echo "HC=$HC" >> "$GITHUB_ENV"
156160 echo "HCPKG=$HCDIR/bin/$HCKIND-pkg" >> "$GITHUB_ENV"
157161 echo "HADDOCK=$HCDIR/bin/haddock" >> "$GITHUB_ENV"
158- echo "CABAL=$HOME/.ghcup/bin/cabal-3.6.2 .0 -vnormal+nowrap" >> "$GITHUB_ENV"
162+ echo "CABAL=$HOME/.ghcup/bin/cabal-3.10.1 .0 -vnormal+nowrap" >> "$GITHUB_ENV"
159163 fi
160164
161165 HCNUMVER=$(${HC} --numeric-version|perl -ne '/^(\d+)\.(\d+)\.(\d+)(\.(\d+))?$/; print(10000 * $1 + 100 * $2 + ($3 == 0 ? $5 != 1 : $3))')
162166 echo "HCNUMVER=$HCNUMVER" >> "$GITHUB_ENV"
163167 echo "ARG_TESTS=--enable-tests" >> "$GITHUB_ENV"
164168 echo "ARG_BENCH=--enable-benchmarks" >> "$GITHUB_ENV"
165- if [ $((HCNUMVER >= 90400)) -ne 0 ] ; then echo "HEADHACKAGE=true" >> "$GITHUB_ENV" ; else echo "HEADHACKAGE= false" >> "$GITHUB_ENV" ; fi
169+ echo "HEADHACKAGE=false" >> "$GITHUB_ENV"
166170 echo "ARG_COMPILER=--$HCKIND --with-compiler=$HC" >> "$GITHUB_ENV"
167171 echo "GHCJSARITH=0" >> "$GITHUB_ENV"
168172 env :
@@ -191,18 +195,6 @@ jobs:
191195 repository hackage.haskell.org
192196 url: http://hackage.haskell.org/
193197 EOF
194- if $HEADHACKAGE; then
195- cat >> $CABAL_CONFIG <<EOF
196- repository head.hackage.ghc.haskell.org
197- url: https://ghc.gitlab.haskell.org/head.hackage/
198- secure: True
199- root-keys: 7541f32a4ccca4f97aea3b22f5e593ba2c0267546016b992dfadcd2fe944e55d
200- 26021a13b401500c8eb2761ca95c61f2d625bfef951b939a8124ed12ecf07329
201- f76d08be13e9a61a377a85e2fb63f4c5435d40f8feb3e12eb05905edb8cdea89
202- key-threshold: 3
203- active-repositories: hackage.haskell.org, head.hackage.ghc.haskell.org:override
204- EOF
205- fi
206198 cat >> $CABAL_CONFIG <<EOF
207199 program-default-options
208200 ghc-options: $GHCJOBS +RTS -M3G -RTS
@@ -219,14 +211,14 @@ jobs:
219211 - name : install cabal-plan
220212 run : |
221213 mkdir -p $HOME/.cabal/bin
222- curl -sL https://github.com/haskell-hvr/cabal-plan/releases/download/v0.6.2 .0/cabal-plan-0.6.2 .0-x86_64-linux.xz > cabal-plan.xz
223- echo 'de73600b1836d3f55e32d80385acc055fd97f60eaa0ab68a755302685f5d81bc cabal-plan.xz' | sha256sum -c -
214+ curl -sL https://github.com/haskell-hvr/cabal-plan/releases/download/v0.7.3 .0/cabal-plan-0.7.3 .0-x86_64-linux.xz > cabal-plan.xz
215+ echo 'f62ccb2971567a5f638f2005ad3173dba14693a45154c1508645c52289714cb2 cabal-plan.xz' | sha256sum -c -
224216 xz -d < cabal-plan.xz > $HOME/.cabal/bin/cabal-plan
225217 rm -f cabal-plan.xz
226218 chmod a+x $HOME/.cabal/bin/cabal-plan
227219 cabal-plan --version
228220 - name : checkout
229- uses : actions/checkout@v2
221+ uses : actions/checkout@v3
230222 with :
231223 path : source
232224 - name : initial cabal.project for sdist
@@ -274,18 +266,15 @@ jobs:
274266 package libxml
275267 extra-include-dirs: /usr/include/libxml2
276268 EOF
277- if $HEADHACKAGE; then
278- echo "allow-newer: $($HCPKG list --simple-output | sed -E 's/([a-zA-Z-]+)-[0-9.]+/*:\1,/g')" >> cabal.project
279- fi
280269 $HCPKG list --simple-output --names-only | perl -ne 'for (split /\s+/) { print "constraints: $_ installed\n" unless /^(test-framework|test-framework-example|test-framework-hunit|test-framework-quickcheck2)$/; }' >> cabal.project.local
281270 cat cabal.project
282271 cat cabal.project.local
283272 - name : dump install plan
284273 run : |
285274 $CABAL v2-build $ARG_COMPILER $ARG_TESTS $ARG_BENCH --dry-run all
286275 cabal-plan
287- - name : cache
288- uses : actions/cache@v2
276+ - name : restore cache
277+ uses : actions/cache/restore@v3
289278 with :
290279 key : ${{ runner.os }}-${{ matrix.compiler }}-${{ github.sha }}
291280 path : ~/.cabal/store
@@ -315,8 +304,14 @@ jobs:
315304 ${CABAL} -vnormal check
316305 - name : haddock
317306 run : |
318- $CABAL v2-haddock --haddock-all $ARG_COMPILER --with-haddock $HADDOCK $ARG_TESTS $ARG_BENCH all
307+ $CABAL v2-haddock --disable-documentation -- haddock-all $ARG_COMPILER --with-haddock $HADDOCK $ARG_TESTS $ARG_BENCH all
319308 - name : unconstrained build
320309 run : |
321310 rm -f cabal.project.local
322311 $CABAL v2-build $ARG_COMPILER --disable-tests --disable-benchmarks all
312+ - name : save cache
313+ uses : actions/cache/save@v3
314+ if : always()
315+ with :
316+ key : ${{ runner.os }}-${{ matrix.compiler }}-${{ github.sha }}
317+ path : ~/.cabal/store
0 commit comments