Skip to content

Commit fc1a2bd

Browse files
authored
Merge pull request #632 from haskell-CI/ghc-9.6.1-alpha1
GHC-9.6.1-alpha1 i.e. 9.6.0.20230111
2 parents c610835 + f12e4b9 commit fc1a2bd

File tree

8 files changed

+105
-12
lines changed

8 files changed

+105
-12
lines changed

fixtures/all-versions.bash

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
# SUCCESS
2-
# *INFO* Generating Bash script for testing for GHC versions: 7.0.1 7.0.2 7.0.3 7.0.4 7.2.1 7.2.2 7.4.1 7.4.2 7.6.1 7.6.2 7.6.3 7.8.1 7.8.2 7.8.3 7.8.4 7.10.1 7.10.2 7.10.3 8.0.1 8.0.2 8.2.1 8.2.2 8.4.1 8.4.2 8.4.3 8.4.4 8.6.1 8.6.2 8.6.3 8.6.4 8.6.5 8.8.1 8.8.2 8.8.3 8.8.4 8.10.1 8.10.2 8.10.3 8.10.4 8.10.5 8.10.6 8.10.7 9.0.1 9.0.2 9.2.1 9.2.2 9.2.3 9.2.4 9.2.5 9.4.1 9.4.2 9.4.3 9.4.4 ghcjs-8.4
2+
# *INFO* Generating Bash script for testing for GHC versions: 7.0.1 7.0.2 7.0.3 7.0.4 7.2.1 7.2.2 7.4.1 7.4.2 7.6.1 7.6.2 7.6.3 7.8.1 7.8.2 7.8.3 7.8.4 7.10.1 7.10.2 7.10.3 8.0.1 8.0.2 8.2.1 8.2.2 8.4.1 8.4.2 8.4.3 8.4.4 8.6.1 8.6.2 8.6.3 8.6.4 8.6.5 8.8.1 8.8.2 8.8.3 8.8.4 8.10.1 8.10.2 8.10.3 8.10.4 8.10.5 8.10.6 8.10.7 9.0.1 9.0.2 9.2.1 9.2.2 9.2.3 9.2.4 9.2.5 9.4.1 9.4.2 9.4.3 9.4.4 9.6.1 ghcjs-8.4
33
#!/bin/bash
44
# shellcheck disable=SC2086,SC2016,SC2046
55
# REGENDATA ["bash","all-versions.project"]
@@ -21,7 +21,7 @@ fi
2121

2222
CFG_CABAL_STORE_CACHE=""
2323
CFG_CABAL_REPO_CACHE=""
24-
CFG_JOBS="9.4.4 9.4.3 9.4.2 9.4.1 9.2.5 9.2.4 9.2.3 9.2.2 9.2.1 9.0.2 9.0.1 8.10.7 8.10.6 8.10.5 8.10.4 8.10.3 8.10.2 8.10.1 8.8.4 8.8.3 8.8.2 8.8.1 8.6.5 8.6.4 8.6.3 8.6.2 8.6.1 8.4.4 8.4.3 8.4.2 8.4.1 8.2.2 8.2.1 8.0.2 8.0.1 7.10.3 7.10.2 7.10.1 7.8.4 7.8.3 7.8.2 7.8.1 7.6.3 7.6.2 7.6.1 7.4.2 7.4.1 7.2.2 7.2.1 7.0.4 7.0.3 7.0.2 7.0.1"
24+
CFG_JOBS="9.6.1 9.4.4 9.4.3 9.4.2 9.4.1 9.2.5 9.2.4 9.2.3 9.2.2 9.2.1 9.0.2 9.0.1 8.10.7 8.10.6 8.10.5 8.10.4 8.10.3 8.10.2 8.10.1 8.8.4 8.8.3 8.8.2 8.8.1 8.6.5 8.6.4 8.6.3 8.6.2 8.6.1 8.4.4 8.4.3 8.4.2 8.4.1 8.2.2 8.2.1 8.0.2 8.0.1 7.10.3 7.10.2 7.10.1 7.8.4 7.8.3 7.8.2 7.8.1 7.6.3 7.6.2 7.6.1 7.4.2 7.4.1 7.2.2 7.2.1 7.0.4 7.0.3 7.0.2 7.0.1"
2525
CFG_CABAL_UPDATE=false
2626

2727
SCRIPT_NAME=$(basename "$0")

fixtures/all-versions.github

Lines changed: 23 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
# SUCCESS
2-
# *INFO* Generating GitHub config for testing for GHC versions: 7.0.1 7.0.2 7.0.3 7.0.4 7.2.1 7.2.2 7.4.1 7.4.2 7.6.1 7.6.2 7.6.3 7.8.1 7.8.2 7.8.3 7.8.4 7.10.1 7.10.2 7.10.3 8.0.1 8.0.2 8.2.1 8.2.2 8.4.1 8.4.2 8.4.3 8.4.4 8.6.1 8.6.2 8.6.3 8.6.4 8.6.5 8.8.1 8.8.2 8.8.3 8.8.4 8.10.1 8.10.2 8.10.3 8.10.4 8.10.5 8.10.6 8.10.7 9.0.1 9.0.2 9.2.1 9.2.2 9.2.3 9.2.4 9.2.5 9.4.1 9.4.2 9.4.3 9.4.4 ghcjs-8.4
2+
# *INFO* Generating GitHub config for testing for GHC versions: 7.0.1 7.0.2 7.0.3 7.0.4 7.2.1 7.2.2 7.4.1 7.4.2 7.6.1 7.6.2 7.6.3 7.8.1 7.8.2 7.8.3 7.8.4 7.10.1 7.10.2 7.10.3 8.0.1 8.0.2 8.2.1 8.2.2 8.4.1 8.4.2 8.4.3 8.4.4 8.6.1 8.6.2 8.6.3 8.6.4 8.6.5 8.8.1 8.8.2 8.8.3 8.8.4 8.10.1 8.10.2 8.10.3 8.10.4 8.10.5 8.10.6 8.10.7 9.0.1 9.0.2 9.2.1 9.2.2 9.2.3 9.2.4 9.2.5 9.4.1 9.4.2 9.4.3 9.4.4 9.6.1 ghcjs-8.4
33
# This GitHub workflow config has been generated by a script via
44
#
55
# haskell-ci 'github' 'all-versions.project'
@@ -33,6 +33,11 @@ jobs:
3333
compilerVersion: "8.4"
3434
setup-method: hvr-ppa
3535
allow-failure: false
36+
- compiler: ghc-9.6.0.20230111
37+
compilerKind: ghc
38+
compilerVersion: 9.6.0.20230111
39+
setup-method: ghcup
40+
allow-failure: true
3641
- compiler: ghc-9.4.4
3742
compilerKind: ghc
3843
compilerVersion: 9.4.4
@@ -321,6 +326,7 @@ jobs:
321326
mkdir -p "$HOME/.ghcup/bin"
322327
curl -sL https://downloads.haskell.org/ghcup/0.1.18.0/x86_64-linux-ghcup-0.1.18.0 > "$HOME/.ghcup/bin/ghcup"
323328
chmod a+x "$HOME/.ghcup/bin/ghcup"
329+
"$HOME/.ghcup/bin/ghcup" config add-release-channel https://raw.githubusercontent.com/haskell/ghcup-metadata/master/ghcup-prereleases-0.0.7.yaml;
324330
"$HOME/.ghcup/bin/ghcup" install ghc "$HCVER" || (cat "$HOME"/.ghcup/logs/*.* && false)
325331
"$HOME/.ghcup/bin/ghcup" install cabal 3.6.2.0 || (cat "$HOME"/.ghcup/logs/*.* && false)
326332
else
@@ -365,7 +371,7 @@ jobs:
365371
echo "HCNUMVER=$HCNUMVER" >> "$GITHUB_ENV"
366372
echo "ARG_TESTS=--enable-tests" >> "$GITHUB_ENV"
367373
echo "ARG_BENCH=--enable-benchmarks" >> "$GITHUB_ENV"
368-
echo "HEADHACKAGE=false" >> "$GITHUB_ENV"
374+
if [ $((! GHCJSARITH && HCNUMVER >= 90600)) -ne 0 ] ; then echo "HEADHACKAGE=true" >> "$GITHUB_ENV" ; else echo "HEADHACKAGE=false" >> "$GITHUB_ENV" ; fi
369375
echo "ARG_COMPILER=--$HCKIND --with-compiler=$HC" >> "$GITHUB_ENV"
370376
env:
371377
HCKIND: ${{ matrix.compilerKind }}
@@ -393,6 +399,18 @@ jobs:
393399
repository hackage.haskell.org
394400
url: http://hackage.haskell.org/
395401
EOF
402+
if $HEADHACKAGE; then
403+
cat >> $CABAL_CONFIG <<EOF
404+
repository head.hackage.ghc.haskell.org
405+
url: https://ghc.gitlab.haskell.org/head.hackage/
406+
secure: True
407+
root-keys: 7541f32a4ccca4f97aea3b22f5e593ba2c0267546016b992dfadcd2fe944e55d
408+
26021a13b401500c8eb2761ca95c61f2d625bfef951b939a8124ed12ecf07329
409+
f76d08be13e9a61a377a85e2fb63f4c5435d40f8feb3e12eb05905edb8cdea89
410+
key-threshold: 3
411+
active-repositories: hackage.haskell.org, head.hackage.ghc.haskell.org:override
412+
EOF
413+
fi
396414
cat >> $CABAL_CONFIG <<EOF
397415
program-default-options
398416
ghc-options: $GHCJOBS +RTS -M3G -RTS
@@ -446,6 +464,9 @@ jobs:
446464
if [ $((GHCJSARITH || ! GHCJSARITH && HCNUMVER >= 80200)) -ne 0 ] ; then echo " ghc-options: -Werror=missing-methods" >> cabal.project ; fi
447465
cat >> cabal.project <<EOF
448466
EOF
467+
if $HEADHACKAGE; then
468+
echo "allow-newer: $($HCPKG list --simple-output | sed -E 's/([a-zA-Z-]+)-[0-9.]+/*:\1,/g')" >> cabal.project
469+
fi
449470
$HCPKG list --simple-output --names-only | perl -ne 'for (split /\s+/) { print "constraints: $_ installed\n" unless /^(splitmix)$/; }' >> cabal.project.local
450471
cat cabal.project
451472
cat cabal.project.local

fixtures/all-versions.travis

Lines changed: 26 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
# SUCCESS
2-
# *INFO* Generating Travis-CI config for testing for GHC versions: 7.0.1 7.0.2 7.0.3 7.0.4 7.2.1 7.2.2 7.4.1 7.4.2 7.6.1 7.6.2 7.6.3 7.8.1 7.8.2 7.8.3 7.8.4 7.10.1 7.10.2 7.10.3 8.0.1 8.0.2 8.2.1 8.2.2 8.4.1 8.4.2 8.4.3 8.4.4 8.6.1 8.6.2 8.6.3 8.6.4 8.6.5 8.8.1 8.8.2 8.8.3 8.8.4 8.10.1 8.10.2 8.10.3 8.10.4 8.10.5 8.10.6 8.10.7 9.0.1 9.0.2 9.2.1 9.2.2 9.2.3 9.2.4 9.2.5 9.4.1 9.4.2 9.4.3 9.4.4 ghcjs-8.4
2+
# *INFO* Generating Travis-CI config for testing for GHC versions: 7.0.1 7.0.2 7.0.3 7.0.4 7.2.1 7.2.2 7.4.1 7.4.2 7.6.1 7.6.2 7.6.3 7.8.1 7.8.2 7.8.3 7.8.4 7.10.1 7.10.2 7.10.3 8.0.1 8.0.2 8.2.1 8.2.2 8.4.1 8.4.2 8.4.3 8.4.4 8.6.1 8.6.2 8.6.3 8.6.4 8.6.5 8.8.1 8.8.2 8.8.3 8.8.4 8.10.1 8.10.2 8.10.3 8.10.4 8.10.5 8.10.6 8.10.7 9.0.1 9.0.2 9.2.1 9.2.2 9.2.3 9.2.4 9.2.5 9.4.1 9.4.2 9.4.3 9.4.4 9.6.1 ghcjs-8.4
33
# This Travis job script has been generated by a script via
44
#
55
# haskell-ci 'travis' 'all-versions.project'
@@ -36,6 +36,9 @@ jobs:
3636
- compiler: ghcjs-8.4
3737
addons: {"apt":{"packages":["ghcjs-8.4","cabal-install-3.4","ghc-8.4.4","nodejs"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu bionic main"},{"sourceline":"deb http://ppa.launchpad.net/hvr/ghcjs/ubuntu bionic main"},{"key_url":"https://deb.nodesource.com/gpgkey/nodesource.gpg.key","sourceline":"deb https://deb.nodesource.com/node_10.x bionic main"}]}}
3838
os: linux
39+
- compiler: ghc-9.6.1
40+
addons: {"apt":{"packages":["ghc-9.6.1","cabal-install-3.6"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu bionic main"}]}}
41+
os: linux
3942
- compiler: ghc-9.4.4
4043
addons: {"apt":{"packages":["ghc-9.4.4","cabal-install-3.6"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu bionic main"}]}}
4144
os: linux
@@ -195,6 +198,8 @@ jobs:
195198
- compiler: ghc-7.0.1
196199
addons: {"apt":{"packages":["ghc-7.0.1","cabal-install-3.6"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu bionic main"}]}}
197200
os: linux
201+
allow_failures:
202+
- compiler: ghc-9.6.1
198203
before_install:
199204
- |
200205
if echo $CC | grep -q ghcjs; then
@@ -221,6 +226,7 @@ before_install:
221226
- TEST=--enable-tests
222227
- BENCH=--enable-benchmarks
223228
- HEADHACKAGE=false
229+
- if [ $((! GHCJSARITH && HCNUMVER >= 90600)) -ne 0 ] ; then HEADHACKAGE=true ; fi
224230
- rm -f $CABALHOME/config
225231
- |
226232
echo "verbose: normal +nowrap +markoutput" >> $CABALHOME/config
@@ -238,6 +244,17 @@ before_install:
238244
echo " prefix: $CABALHOME" >> $CABALHOME/config
239245
echo "repository hackage.haskell.org" >> $CABALHOME/config
240246
echo " url: http://hackage.haskell.org/" >> $CABALHOME/config
247+
- |
248+
if $HEADHACKAGE; then
249+
echo "repository head.hackage.ghc.haskell.org" >> $CABALHOME/config
250+
echo " url: https://ghc.gitlab.haskell.org/head.hackage/" >> $CABALHOME/config
251+
echo " secure: True" >> $CABALHOME/config
252+
echo " root-keys: 7541f32a4ccca4f97aea3b22f5e593ba2c0267546016b992dfadcd2fe944e55d" >> $CABALHOME/config
253+
echo " 26021a13b401500c8eb2761ca95c61f2d625bfef951b939a8124ed12ecf07329" >> $CABALHOME/config
254+
echo " f76d08be13e9a61a377a85e2fb63f4c5435d40f8feb3e12eb05905edb8cdea89" >> $CABALHOME/config
255+
echo " key-threshold: 3" >> $CABALHOME/config
256+
echo "active-repositories: hackage.haskell.org, head.hackage.ghc.haskell.org:override" >> $CABALHOME/config
257+
fi
241258
install:
242259
- ${CABAL} --version
243260
- echo "$(${HC} --version) [$(${HC} --print-project-git-commit-id 2> /dev/null || echo '?')]"
@@ -257,6 +274,10 @@ install:
257274
- if [ $((GHCJSARITH || ! GHCJSARITH && HCNUMVER >= 80200)) -ne 0 ] ; then echo 'package splitmix' >> cabal.project ; fi
258275
- "if [ $((GHCJSARITH || ! GHCJSARITH && HCNUMVER >= 80200)) -ne 0 ] ; then echo ' ghc-options: -Werror=missing-methods' >> cabal.project ; fi"
259276
- ""
277+
- |
278+
if $HEADHACKAGE; then
279+
echo "allow-newer: $($HCPKG list --simple-output | sed -E 's/([a-zA-Z-]+)-[0-9.]+/*:\1,/g')" >> $CABALHOME/config
280+
fi
260281
- "for pkg in $($HCPKG list --simple-output); do echo $pkg | sed 's/-[^-]*$//' | (grep -vE -- '^(splitmix)$' || true) | sed 's/^/constraints: /' | sed 's/$/ installed/' >> cabal.project.local; done"
261282
- cat cabal.project || true
262283
- cat cabal.project.local || true
@@ -284,6 +305,10 @@ script:
284305
- if [ $((GHCJSARITH || ! GHCJSARITH && HCNUMVER >= 80200)) -ne 0 ] ; then echo 'package splitmix' >> cabal.project ; fi
285306
- "if [ $((GHCJSARITH || ! GHCJSARITH && HCNUMVER >= 80200)) -ne 0 ] ; then echo ' ghc-options: -Werror=missing-methods' >> cabal.project ; fi"
286307
- ""
308+
- |
309+
if $HEADHACKAGE; then
310+
echo "allow-newer: $($HCPKG list --simple-output | sed -E 's/([a-zA-Z-]+)-[0-9.]+/*:\1,/g')" >> $CABALHOME/config
311+
fi
287312
- "for pkg in $($HCPKG list --simple-output); do echo $pkg | sed 's/-[^-]*$//' | (grep -vE -- '^(splitmix)$' || true) | sed 's/^/constraints: /' | sed 's/$/ installed/' >> cabal.project.local; done"
288313
- cat cabal.project || true
289314
- cat cabal.project.local || true

fixtures/enabled-jobs.bash

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
# SUCCESS
2-
# *INFO* Generating Bash script for testing for GHC versions: 8.0.1 8.0.2 8.2.1 8.2.2 8.4.1 8.4.2 8.4.3 8.4.4 8.6.1 8.6.2 8.6.3 8.6.4 8.6.5 8.8.1 8.8.2 8.8.3 8.8.4 8.10.1 8.10.2 8.10.3 8.10.4 8.10.5 8.10.6 8.10.7 9.0.1 9.0.2 9.2.1 9.2.2 9.2.3 9.2.4 9.2.5 9.4.1 9.4.2 9.4.3 9.4.4 ghcjs-8.4
2+
# *INFO* Generating Bash script for testing for GHC versions: 8.0.1 8.0.2 8.2.1 8.2.2 8.4.1 8.4.2 8.4.3 8.4.4 8.6.1 8.6.2 8.6.3 8.6.4 8.6.5 8.8.1 8.8.2 8.8.3 8.8.4 8.10.1 8.10.2 8.10.3 8.10.4 8.10.5 8.10.6 8.10.7 9.0.1 9.0.2 9.2.1 9.2.2 9.2.3 9.2.4 9.2.5 9.4.1 9.4.2 9.4.3 9.4.4 9.6.1 ghcjs-8.4
33
#!/bin/bash
44
# shellcheck disable=SC2086,SC2016,SC2046
55
# REGENDATA ["--enabled-jobs=>=8","bash","enabled-jobs.project"]
@@ -21,7 +21,7 @@ fi
2121

2222
CFG_CABAL_STORE_CACHE=""
2323
CFG_CABAL_REPO_CACHE=""
24-
CFG_JOBS="9.4.4 9.4.3 9.4.2 9.4.1 9.2.5 9.2.4 9.2.3 9.2.2 9.2.1 9.0.2 9.0.1 8.10.7 8.10.6 8.10.5 8.10.4 8.10.3 8.10.2 8.10.1 8.8.4 8.8.3 8.8.2 8.8.1 8.6.5 8.6.4 8.6.3 8.6.2 8.6.1 8.4.4 8.4.3 8.4.2 8.4.1 8.2.2 8.2.1 8.0.2 8.0.1"
24+
CFG_JOBS="9.6.1 9.4.4 9.4.3 9.4.2 9.4.1 9.2.5 9.2.4 9.2.3 9.2.2 9.2.1 9.0.2 9.0.1 8.10.7 8.10.6 8.10.5 8.10.4 8.10.3 8.10.2 8.10.1 8.8.4 8.8.3 8.8.2 8.8.1 8.6.5 8.6.4 8.6.3 8.6.2 8.6.1 8.4.4 8.4.3 8.4.2 8.4.1 8.2.2 8.2.1 8.0.2 8.0.1"
2525
CFG_CABAL_UPDATE=false
2626

2727
SCRIPT_NAME=$(basename "$0")

fixtures/enabled-jobs.github

Lines changed: 23 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
# SUCCESS
2-
# *INFO* Generating GitHub config for testing for GHC versions: 8.0.1 8.0.2 8.2.1 8.2.2 8.4.1 8.4.2 8.4.3 8.4.4 8.6.1 8.6.2 8.6.3 8.6.4 8.6.5 8.8.1 8.8.2 8.8.3 8.8.4 8.10.1 8.10.2 8.10.3 8.10.4 8.10.5 8.10.6 8.10.7 9.0.1 9.0.2 9.2.1 9.2.2 9.2.3 9.2.4 9.2.5 9.4.1 9.4.2 9.4.3 9.4.4 ghcjs-8.4
2+
# *INFO* Generating GitHub config for testing for GHC versions: 8.0.1 8.0.2 8.2.1 8.2.2 8.4.1 8.4.2 8.4.3 8.4.4 8.6.1 8.6.2 8.6.3 8.6.4 8.6.5 8.8.1 8.8.2 8.8.3 8.8.4 8.10.1 8.10.2 8.10.3 8.10.4 8.10.5 8.10.6 8.10.7 9.0.1 9.0.2 9.2.1 9.2.2 9.2.3 9.2.4 9.2.5 9.4.1 9.4.2 9.4.3 9.4.4 9.6.1 ghcjs-8.4
33
# This GitHub workflow config has been generated by a script via
44
#
55
# haskell-ci '--enabled-jobs=>=8' 'github' 'enabled-jobs.project'
@@ -33,6 +33,11 @@ jobs:
3333
compilerVersion: "8.4"
3434
setup-method: hvr-ppa
3535
allow-failure: false
36+
- compiler: ghc-9.6.0.20230111
37+
compilerKind: ghc
38+
compilerVersion: 9.6.0.20230111
39+
setup-method: ghcup
40+
allow-failure: true
3641
- compiler: ghc-9.4.4
3742
compilerKind: ghc
3843
compilerVersion: 9.4.4
@@ -231,6 +236,7 @@ jobs:
231236
mkdir -p "$HOME/.ghcup/bin"
232237
curl -sL https://downloads.haskell.org/ghcup/0.1.18.0/x86_64-linux-ghcup-0.1.18.0 > "$HOME/.ghcup/bin/ghcup"
233238
chmod a+x "$HOME/.ghcup/bin/ghcup"
239+
"$HOME/.ghcup/bin/ghcup" config add-release-channel https://raw.githubusercontent.com/haskell/ghcup-metadata/master/ghcup-prereleases-0.0.7.yaml;
234240
"$HOME/.ghcup/bin/ghcup" install ghc "$HCVER" || (cat "$HOME"/.ghcup/logs/*.* && false)
235241
"$HOME/.ghcup/bin/ghcup" install cabal 3.6.2.0 || (cat "$HOME"/.ghcup/logs/*.* && false)
236242
else
@@ -275,7 +281,7 @@ jobs:
275281
echo "HCNUMVER=$HCNUMVER" >> "$GITHUB_ENV"
276282
echo "ARG_TESTS=--enable-tests" >> "$GITHUB_ENV"
277283
echo "ARG_BENCH=--enable-benchmarks" >> "$GITHUB_ENV"
278-
echo "HEADHACKAGE=false" >> "$GITHUB_ENV"
284+
if [ $((! GHCJSARITH && HCNUMVER >= 90600)) -ne 0 ] ; then echo "HEADHACKAGE=true" >> "$GITHUB_ENV" ; else echo "HEADHACKAGE=false" >> "$GITHUB_ENV" ; fi
279285
echo "ARG_COMPILER=--$HCKIND --with-compiler=$HC" >> "$GITHUB_ENV"
280286
env:
281287
HCKIND: ${{ matrix.compilerKind }}
@@ -303,6 +309,18 @@ jobs:
303309
repository hackage.haskell.org
304310
url: http://hackage.haskell.org/
305311
EOF
312+
if $HEADHACKAGE; then
313+
cat >> $CABAL_CONFIG <<EOF
314+
repository head.hackage.ghc.haskell.org
315+
url: https://ghc.gitlab.haskell.org/head.hackage/
316+
secure: True
317+
root-keys: 7541f32a4ccca4f97aea3b22f5e593ba2c0267546016b992dfadcd2fe944e55d
318+
26021a13b401500c8eb2761ca95c61f2d625bfef951b939a8124ed12ecf07329
319+
f76d08be13e9a61a377a85e2fb63f4c5435d40f8feb3e12eb05905edb8cdea89
320+
key-threshold: 3
321+
active-repositories: hackage.haskell.org, head.hackage.ghc.haskell.org:override
322+
EOF
323+
fi
306324
cat >> $CABAL_CONFIG <<EOF
307325
program-default-options
308326
ghc-options: $GHCJOBS +RTS -M3G -RTS
@@ -356,6 +374,9 @@ jobs:
356374
if [ $((GHCJSARITH || ! GHCJSARITH && HCNUMVER >= 80200)) -ne 0 ] ; then echo " ghc-options: -Werror=missing-methods" >> cabal.project ; fi
357375
cat >> cabal.project <<EOF
358376
EOF
377+
if $HEADHACKAGE; then
378+
echo "allow-newer: $($HCPKG list --simple-output | sed -E 's/([a-zA-Z-]+)-[0-9.]+/*:\1,/g')" >> cabal.project
379+
fi
359380
$HCPKG list --simple-output --names-only | perl -ne 'for (split /\s+/) { print "constraints: $_ installed\n" unless /^(splitmix)$/; }' >> cabal.project.local
360381
cat cabal.project
361382
cat cabal.project.local

0 commit comments

Comments
 (0)