88#
99# For more information, see https://github.com/haskell-CI/haskell-ci
1010#
11- # version: 0.15.20220504
11+ # version: 0.15.20220525
1212#
13- # REGENDATA ("0.15.20220504 ",["--config=cabal.haskell-ci","github","cabal.project"])
13+ # REGENDATA ("0.15.20220525 ",["--config=cabal.haskell-ci","github","cabal.project"])
1414#
1515name : Haskell-CI
1616on :
3232 strategy :
3333 matrix :
3434 include :
35+ - compiler : ghc-9.4.0.20220501
36+ compilerKind : ghc
37+ compilerVersion : 9.4.0.20220501
38+ setup-method : ghcup
39+ allow-failure : true
3540 - compiler : ghc-9.2.2
3641 compilerKind : ghc
3742 compilerVersion : 9.2.2
@@ -90,16 +95,17 @@ jobs:
9095 apt-get install -y --no-install-recommends gnupg ca-certificates dirmngr curl git software-properties-common libtinfo5
9196 if [ "${{ matrix.setup-method }}" = ghcup ]; then
9297 mkdir -p "$HOME/.ghcup/bin"
93- curl -sL https://downloads.haskell.org/ghcup/0.1.17.5 /x86_64-linux-ghcup-0.1.17.5 > "$HOME/.ghcup/bin/ghcup"
98+ curl -sL https://downloads.haskell.org/ghcup/0.1.17.8 /x86_64-linux-ghcup-0.1.17.8 > "$HOME/.ghcup/bin/ghcup"
9499 chmod a+x "$HOME/.ghcup/bin/ghcup"
100+ if $HEADHACKAGE; then "$HOME/.ghcup/bin/ghcup" config add-release-channel https://raw.githubusercontent.com/haskell/ghcup-metadata/master/ghcup-prereleases-0.0.7.yaml; fi
95101 "$HOME/.ghcup/bin/ghcup" install ghc "$HCVER"
96102 "$HOME/.ghcup/bin/ghcup" install cabal 3.6.2.0
97103 else
98104 apt-add-repository -y 'ppa:hvr/ghc'
99105 apt-get update
100106 apt-get install -y "$HCNAME"
101107 mkdir -p "$HOME/.ghcup/bin"
102- curl -sL https://downloads.haskell.org/ghcup/0.1.17.5 /x86_64-linux-ghcup-0.1.17.5 > "$HOME/.ghcup/bin/ghcup"
108+ curl -sL https://downloads.haskell.org/ghcup/0.1.17.8 /x86_64-linux-ghcup-0.1.17.8 > "$HOME/.ghcup/bin/ghcup"
103109 chmod a+x "$HOME/.ghcup/bin/ghcup"
104110 "$HOME/.ghcup/bin/ghcup" install cabal 3.6.2.0
105111 fi
@@ -132,7 +138,7 @@ jobs:
132138 echo "HCNUMVER=$HCNUMVER" >> "$GITHUB_ENV"
133139 echo "ARG_TESTS=--enable-tests" >> "$GITHUB_ENV"
134140 echo "ARG_BENCH=--enable-benchmarks" >> "$GITHUB_ENV"
135- echo "HEADHACKAGE=false" >> "$GITHUB_ENV"
141+ if [ $((HCNUMVER >= 90400)) -ne 0 ] ; then echo "HEADHACKAGE=true" >> "$GITHUB_ENV" ; else echo "HEADHACKAGE= false" >> "$GITHUB_ENV" ; fi
136142 echo "ARG_COMPILER=--$HCKIND --with-compiler=$HC" >> "$GITHUB_ENV"
137143 echo "GHCJSARITH=0" >> "$GITHUB_ENV"
138144 env :
@@ -161,6 +167,17 @@ jobs:
161167 repository hackage.haskell.org
162168 url: http://hackage.haskell.org/
163169 EOF
170+ if $HEADHACKAGE; then
171+ cat >> $CABAL_CONFIG <<EOF
172+ repository head.hackage.ghc.haskell.org
173+ url: https://ghc.gitlab.haskell.org/head.hackage/
174+ secure: True
175+ root-keys: 7541f32a4ccca4f97aea3b22f5e593ba2c0267546016b992dfadcd2fe944e55d
176+ 26021a13b401500c8eb2761ca95c61f2d625bfef951b939a8124ed12ecf07329
177+ f76d08be13e9a61a377a85e2fb63f4c5435d40f8feb3e12eb05905edb8cdea89
178+ key-threshold: 3
179+ EOF
180+ fi
164181 cat >> $CABAL_CONFIG <<EOF
165182 program-default-options
166183 ghc-options: $GHCJOBS +RTS -M3G -RTS
@@ -191,7 +208,7 @@ jobs:
191208 run : |
192209 touch cabal.project
193210 echo "packages: $GITHUB_WORKSPACE/source/." >> cabal.project
194- if [ $((HCNUMVER >= 71000)) -ne 0 ] ; then echo "packages: $GITHUB_WORKSPACE/source/samples" >> cabal.project ; fi
211+ if [ $((HCNUMVER >= 71000 && HCNUMVER < 90400 )) -ne 0 ] ; then echo "packages: $GITHUB_WORKSPACE/source/samples" >> cabal.project ; fi
195212 cat cabal.project
196213 - name : sdist
197214 run : |
@@ -211,16 +228,19 @@ jobs:
211228 touch cabal.project
212229 touch cabal.project.local
213230 echo "packages: ${PKGDIR_github}" >> cabal.project
214- if [ $((HCNUMVER >= 71000)) -ne 0 ] ; then echo "packages: ${PKGDIR_github_samples}" >> cabal.project ; fi
231+ if [ $((HCNUMVER >= 71000 && HCNUMVER < 90400 )) -ne 0 ] ; then echo "packages: ${PKGDIR_github_samples}" >> cabal.project ; fi
215232 if [ $((HCNUMVER >= 80200)) -ne 0 ] ; then echo "package github" >> cabal.project ; fi
216233 if [ $((HCNUMVER >= 80200)) -ne 0 ] ; then echo " ghc-options: -Werror=missing-methods" >> cabal.project ; fi
217- if [ $((HCNUMVER >= 80200)) -ne 0 ] ; then echo "package github-samples" >> cabal.project ; fi
218- if [ $((HCNUMVER >= 80200)) -ne 0 ] ; then echo " ghc-options: -Werror=missing-methods" >> cabal.project ; fi
234+ if [ $((HCNUMVER >= 80200 && HCNUMVER < 90400 )) -ne 0 ] ; then echo "package github-samples" >> cabal.project ; fi
235+ if [ $((HCNUMVER >= 80200 && HCNUMVER < 90400 )) -ne 0 ] ; then echo " ghc-options: -Werror=missing-methods" >> cabal.project ; fi
219236 cat >> cabal.project <<EOF
220237 constraints: github +openssl
221238 constraints: github-samples +openssl
222239 optimization: False
223240 EOF
241+ if $HEADHACKAGE; then
242+ echo "allow-newer: $($HCPKG list --simple-output | sed -E 's/([a-zA-Z-]+)-[0-9.]+/*:\1,/g')" >> cabal.project
243+ fi
224244 $HCPKG list --simple-output --names-only | perl -ne 'for (split /\s+/) { print "constraints: $_ installed\n" unless /^(github|github-samples)$/; }' >> cabal.project.local
225245 cat cabal.project
226246 cat cabal.project.local
@@ -251,8 +271,8 @@ jobs:
251271 run : |
252272 cd ${PKGDIR_github} || false
253273 ${CABAL} -vnormal check
254- if [ $((HCNUMVER >= 71000)) -ne 0 ] ; then cd ${PKGDIR_github_samples} || false ; fi
255- if [ $((HCNUMVER >= 71000)) -ne 0 ] ; then ${CABAL} -vnormal check ; fi
274+ if [ $((HCNUMVER >= 71000 && HCNUMVER < 90400 )) -ne 0 ] ; then cd ${PKGDIR_github_samples} || false ; fi
275+ if [ $((HCNUMVER >= 71000 && HCNUMVER < 90400 )) -ne 0 ] ; then ${CABAL} -vnormal check ; fi
256276 - name : haddock
257277 run : |
258278 if [ $((HCNUMVER >= 80600)) -ne 0 ] ; then $CABAL v2-haddock --haddock-all $ARG_COMPILER --with-haddock $HADDOCK $ARG_TESTS $ARG_BENCH all ; fi
0 commit comments