Skip to content

Commit d9fce57

Browse files
committed
Haskell-CI: include 9.4 alpha
1 parent 2425a15 commit d9fce57

File tree

1 file changed

+31
-11
lines changed

1 file changed

+31
-11
lines changed

.github/workflows/haskell-ci.yml

Lines changed: 31 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,9 @@
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
#
1515
name: Haskell-CI
1616
on:
@@ -32,6 +32,11 @@ jobs:
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

Comments
 (0)