Skip to content

Commit dcf79f9

Browse files
authored
Merge pull request #748 from haskell-CI/ghc-9.12-alpha2
Reapply "Add GHC 9.12.1-alpha1"
2 parents ff70be8 + ad31337 commit dcf79f9

22 files changed

+211
-22
lines changed

.github/workflows/haskell-ci.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -84,6 +84,7 @@ jobs:
8484
mkdir -p "$HOME/.ghcup/bin"
8585
curl -sL https://downloads.haskell.org/ghcup/0.1.30.0/x86_64-linux-ghcup-0.1.30.0 > "$HOME/.ghcup/bin/ghcup"
8686
chmod a+x "$HOME/.ghcup/bin/ghcup"
87+
"$HOME/.ghcup/bin/ghcup" config add-release-channel https://raw.githubusercontent.com/haskell/ghcup-metadata/master/ghcup-prereleases-0.0.8.yaml;
8788
"$HOME/.ghcup/bin/ghcup" install ghc "$HCVER" || (cat "$HOME"/.ghcup/logs/*.* && false)
8889
"$HOME/.ghcup/bin/ghcup" install cabal 3.12.1.0 || (cat "$HOME"/.ghcup/logs/*.* && false)
8990
env:

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: 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.2.6 9.2.7 9.2.8 9.4.1 9.4.2 9.4.3 9.4.4 9.4.5 9.4.6 9.4.7 9.4.8 9.6.1 9.6.2 9.6.3 9.6.4 9.6.5 9.6.6 9.8.1 9.8.2 9.10.1 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.2.6 9.2.7 9.2.8 9.4.1 9.4.2 9.4.3 9.4.4 9.4.5 9.4.6 9.4.7 9.4.8 9.6.1 9.6.2 9.6.3 9.6.4 9.6.5 9.6.6 9.8.1 9.8.2 9.10.1 9.12.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.10.1 9.8.2 9.8.1 9.6.6 9.6.5 9.6.4 9.6.3 9.6.2 9.6.1 9.4.8 9.4.7 9.4.6 9.4.5 9.4.4 9.4.3 9.4.2 9.4.1 9.2.8 9.2.7 9.2.6 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.12.1 9.10.1 9.8.2 9.8.1 9.6.6 9.6.5 9.6.4 9.6.3 9.6.2 9.6.1 9.4.8 9.4.7 9.4.6 9.4.5 9.4.4 9.4.3 9.4.2 9.4.1 9.2.8 9.2.7 9.2.6 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/all-versions.github

Lines changed: 24 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.2.6 9.2.7 9.2.8 9.4.1 9.4.2 9.4.3 9.4.4 9.4.5 9.4.6 9.4.7 9.4.8 9.6.1 9.6.2 9.6.3 9.6.4 9.6.5 9.6.6 9.8.1 9.8.2 9.10.1 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.2.6 9.2.7 9.2.8 9.4.1 9.4.2 9.4.3 9.4.4 9.4.5 9.4.6 9.4.7 9.4.8 9.6.1 9.6.2 9.6.3 9.6.4 9.6.5 9.6.6 9.8.1 9.8.2 9.10.1 9.12.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.12.0.20241031
37+
compilerKind: ghc
38+
compilerVersion: 9.12.0.20241031
39+
setup-method: ghcup
40+
allow-failure: false
3641
- compiler: ghc-9.10.1
3742
compilerKind: ghc
3843
compilerVersion: 9.10.1
@@ -311,6 +316,7 @@ jobs:
311316
mkdir -p "$HOME/.ghcup/bin"
312317
curl -sL https://downloads.haskell.org/ghcup/0.1.30.0/x86_64-linux-ghcup-0.1.30.0 > "$HOME/.ghcup/bin/ghcup"
313318
chmod a+x "$HOME/.ghcup/bin/ghcup"
319+
"$HOME/.ghcup/bin/ghcup" config add-release-channel https://raw.githubusercontent.com/haskell/ghcup-metadata/master/ghcup-prereleases-0.0.8.yaml;
314320
"$HOME/.ghcup/bin/ghcup" install ghc "$HCVER" || (cat "$HOME"/.ghcup/logs/*.* && false)
315321
"$HOME/.ghcup/bin/ghcup" install cabal 3.12.1.0 || (cat "$HOME"/.ghcup/logs/*.* && false)
316322
else
@@ -323,6 +329,7 @@ jobs:
323329
mkdir -p "$HOME/.ghcup/bin"
324330
curl -sL https://downloads.haskell.org/ghcup/0.1.30.0/x86_64-linux-ghcup-0.1.30.0 > "$HOME/.ghcup/bin/ghcup"
325331
chmod a+x "$HOME/.ghcup/bin/ghcup"
332+
"$HOME/.ghcup/bin/ghcup" config add-release-channel https://raw.githubusercontent.com/haskell/ghcup-metadata/master/ghcup-prereleases-0.0.8.yaml;
326333
"$HOME/.ghcup/bin/ghcup" install cabal 3.12.1.0 || (cat "$HOME"/.ghcup/logs/*.* && false)
327334
fi
328335
env:
@@ -357,7 +364,7 @@ jobs:
357364
echo "HCNUMVER=$HCNUMVER" >> "$GITHUB_ENV"
358365
echo "ARG_TESTS=--enable-tests" >> "$GITHUB_ENV"
359366
echo "ARG_BENCH=--enable-benchmarks" >> "$GITHUB_ENV"
360-
echo "HEADHACKAGE=false" >> "$GITHUB_ENV"
367+
if [ $((! GHCJSARITH && HCNUMVER >= 91200)) -ne 0 ] ; then echo "HEADHACKAGE=true" >> "$GITHUB_ENV" ; else echo "HEADHACKAGE=false" >> "$GITHUB_ENV" ; fi
361368
echo "ARG_COMPILER=--$HCKIND --with-compiler=$HC" >> "$GITHUB_ENV"
362369
env:
363370
HCKIND: ${{ matrix.compilerKind }}
@@ -385,6 +392,18 @@ jobs:
385392
repository hackage.haskell.org
386393
url: http://hackage.haskell.org/
387394
EOF
395+
if $HEADHACKAGE; then
396+
cat >> $CABAL_CONFIG <<EOF
397+
repository head.hackage.ghc.haskell.org
398+
url: https://ghc.gitlab.haskell.org/head.hackage/
399+
secure: True
400+
root-keys: 7541f32a4ccca4f97aea3b22f5e593ba2c0267546016b992dfadcd2fe944e55d
401+
26021a13b401500c8eb2761ca95c61f2d625bfef951b939a8124ed12ecf07329
402+
f76d08be13e9a61a377a85e2fb63f4c5435d40f8feb3e12eb05905edb8cdea89
403+
key-threshold: 3
404+
active-repositories: hackage.haskell.org, head.hackage.ghc.haskell.org:override
405+
EOF
406+
fi
388407
cat >> $CABAL_CONFIG <<EOF
389408
program-default-options
390409
ghc-options: $GHCJOBS +RTS -M3G -RTS
@@ -438,6 +457,9 @@ jobs:
438457
if [ $((GHCJSARITH || ! GHCJSARITH && HCNUMVER >= 80200)) -ne 0 ] ; then echo " ghc-options: -Werror=missing-methods" >> cabal.project ; fi
439458
cat >> cabal.project <<EOF
440459
EOF
460+
if $HEADHACKAGE; then
461+
echo "allow-newer: $($HCPKG list --simple-output | sed -E 's/([a-zA-Z-]+)-[0-9.]+/*:\1,/g')" >> cabal.project
462+
fi
441463
$HCPKG list --simple-output --names-only | perl -ne 'for (split /\s+/) { print "constraints: any.$_ installed\n" unless /^(splitmix)$/; }' >> cabal.project.local
442464
cat cabal.project
443465
cat cabal.project.local

fixtures/all-versions.travis

Lines changed: 24 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: 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.2.6 9.2.7 9.2.8 9.4.1 9.4.2 9.4.3 9.4.4 9.4.5 9.4.6 9.4.7 9.4.8 9.6.1 9.6.2 9.6.3 9.6.4 9.6.5 9.6.6 9.8.1 9.8.2 9.10.1 ghcjs-8.4
2+
# *INFO* Generating Travis-CI 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.2.6 9.2.7 9.2.8 9.4.1 9.4.2 9.4.3 9.4.4 9.4.5 9.4.6 9.4.7 9.4.8 9.6.1 9.6.2 9.6.3 9.6.4 9.6.5 9.6.6 9.8.1 9.8.2 9.10.1 9.12.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 jammy main"},{"sourceline":"deb http://ppa.launchpad.net/hvr/ghcjs/ubuntu jammy main"},{"key_url":"https://deb.nodesource.com/gpgkey/nodesource.gpg.key","sourceline":"deb https://deb.nodesource.com/node_10.x jammy main"}]}}
3838
os: linux
39+
- compiler: ghc-9.12.1
40+
addons: {"apt":{"packages":["ghc-9.12.1","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}}
41+
os: linux
3942
- compiler: ghc-9.10.1
4043
addons: {"apt":{"packages":["ghc-9.10.1","cabal-install-3.12.1.0"],"sources":[{"key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286","sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu jammy main"}]}}
4144
os: linux
@@ -215,6 +218,7 @@ before_install:
215218
- TEST=--enable-tests
216219
- BENCH=--enable-benchmarks
217220
- HEADHACKAGE=false
221+
- if [ $((! GHCJSARITH && HCNUMVER >= 91200)) -ne 0 ] ; then HEADHACKAGE=true ; fi
218222
- rm -f $CABALHOME/config
219223
- |
220224
echo "verbose: normal +nowrap +markoutput" >> $CABALHOME/config
@@ -232,6 +236,17 @@ before_install:
232236
echo " prefix: $CABALHOME" >> $CABALHOME/config
233237
echo "repository hackage.haskell.org" >> $CABALHOME/config
234238
echo " url: http://hackage.haskell.org/" >> $CABALHOME/config
239+
- |
240+
if $HEADHACKAGE; then
241+
echo "repository head.hackage.ghc.haskell.org" >> $CABALHOME/config
242+
echo " url: https://ghc.gitlab.haskell.org/head.hackage/" >> $CABALHOME/config
243+
echo " secure: True" >> $CABALHOME/config
244+
echo " root-keys: 7541f32a4ccca4f97aea3b22f5e593ba2c0267546016b992dfadcd2fe944e55d" >> $CABALHOME/config
245+
echo " 26021a13b401500c8eb2761ca95c61f2d625bfef951b939a8124ed12ecf07329" >> $CABALHOME/config
246+
echo " f76d08be13e9a61a377a85e2fb63f4c5435d40f8feb3e12eb05905edb8cdea89" >> $CABALHOME/config
247+
echo " key-threshold: 3" >> $CABALHOME/config
248+
echo "active-repositories: hackage.haskell.org, head.hackage.ghc.haskell.org:override" >> $CABALHOME/config
249+
fi
235250
install:
236251
- ${CABAL} --version
237252
- echo "$(${HC} --version) [$(${HC} --print-project-git-commit-id 2> /dev/null || echo '?')]"
@@ -251,6 +266,10 @@ install:
251266
- if [ $((GHCJSARITH || ! GHCJSARITH && HCNUMVER >= 80200)) -ne 0 ] ; then echo 'package splitmix' >> cabal.project ; fi
252267
- "if [ $((GHCJSARITH || ! GHCJSARITH && HCNUMVER >= 80200)) -ne 0 ] ; then echo ' ghc-options: -Werror=missing-methods' >> cabal.project ; fi"
253268
- ""
269+
- |
270+
if $HEADHACKAGE; then
271+
echo "allow-newer: $($HCPKG list --simple-output | sed -E 's/([a-zA-Z-]+)-[0-9.]+/*:\1,/g')" >> $CABALHOME/config
272+
fi
254273
- "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"
255274
- cat cabal.project || true
256275
- cat cabal.project.local || true
@@ -278,6 +297,10 @@ script:
278297
- if [ $((GHCJSARITH || ! GHCJSARITH && HCNUMVER >= 80200)) -ne 0 ] ; then echo 'package splitmix' >> cabal.project ; fi
279298
- "if [ $((GHCJSARITH || ! GHCJSARITH && HCNUMVER >= 80200)) -ne 0 ] ; then echo ' ghc-options: -Werror=missing-methods' >> cabal.project ; fi"
280299
- ""
300+
- |
301+
if $HEADHACKAGE; then
302+
echo "allow-newer: $($HCPKG list --simple-output | sed -E 's/([a-zA-Z-]+)-[0-9.]+/*:\1,/g')" >> $CABALHOME/config
303+
fi
281304
- "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"
282305
- cat cabal.project || true
283306
- cat cabal.project.local || true

fixtures/copy-fields-all.github

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -157,6 +157,7 @@ jobs:
157157
mkdir -p "$HOME/.ghcup/bin"
158158
curl -sL https://downloads.haskell.org/ghcup/0.1.30.0/x86_64-linux-ghcup-0.1.30.0 > "$HOME/.ghcup/bin/ghcup"
159159
chmod a+x "$HOME/.ghcup/bin/ghcup"
160+
"$HOME/.ghcup/bin/ghcup" config add-release-channel https://raw.githubusercontent.com/haskell/ghcup-metadata/master/ghcup-prereleases-0.0.8.yaml;
160161
"$HOME/.ghcup/bin/ghcup" install ghc "$HCVER" || (cat "$HOME"/.ghcup/logs/*.* && false)
161162
"$HOME/.ghcup/bin/ghcup" install cabal 3.12.1.0 || (cat "$HOME"/.ghcup/logs/*.* && false)
162163
env:

fixtures/copy-fields-none.github

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -157,6 +157,7 @@ jobs:
157157
mkdir -p "$HOME/.ghcup/bin"
158158
curl -sL https://downloads.haskell.org/ghcup/0.1.30.0/x86_64-linux-ghcup-0.1.30.0 > "$HOME/.ghcup/bin/ghcup"
159159
chmod a+x "$HOME/.ghcup/bin/ghcup"
160+
"$HOME/.ghcup/bin/ghcup" config add-release-channel https://raw.githubusercontent.com/haskell/ghcup-metadata/master/ghcup-prereleases-0.0.8.yaml;
160161
"$HOME/.ghcup/bin/ghcup" install ghc "$HCVER" || (cat "$HOME"/.ghcup/logs/*.* && false)
161162
"$HOME/.ghcup/bin/ghcup" install cabal 3.12.1.0 || (cat "$HOME"/.ghcup/logs/*.* && false)
162163
env:

fixtures/copy-fields-some.github

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -157,6 +157,7 @@ jobs:
157157
mkdir -p "$HOME/.ghcup/bin"
158158
curl -sL https://downloads.haskell.org/ghcup/0.1.30.0/x86_64-linux-ghcup-0.1.30.0 > "$HOME/.ghcup/bin/ghcup"
159159
chmod a+x "$HOME/.ghcup/bin/ghcup"
160+
"$HOME/.ghcup/bin/ghcup" config add-release-channel https://raw.githubusercontent.com/haskell/ghcup-metadata/master/ghcup-prereleases-0.0.8.yaml;
160161
"$HOME/.ghcup/bin/ghcup" install ghc "$HCVER" || (cat "$HOME"/.ghcup/logs/*.* && false)
161162
"$HOME/.ghcup/bin/ghcup" install cabal 3.12.1.0 || (cat "$HOME"/.ghcup/logs/*.* && false)
162163
env:

fixtures/doctest-version.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.2.6 9.2.7 9.2.8 9.4.1 9.4.2 9.4.3 9.4.4 9.4.5 9.4.6 9.4.7 9.4.8 9.6.1 9.6.2 9.6.3 9.6.4 9.6.5 9.6.6 9.8.1 9.8.2 9.10.1 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.2.6 9.2.7 9.2.8 9.4.1 9.4.2 9.4.3 9.4.4 9.4.5 9.4.6 9.4.7 9.4.8 9.6.1 9.6.2 9.6.3 9.6.4 9.6.5 9.6.6 9.8.1 9.8.2 9.10.1 9.12.1 ghcjs-8.4
33
#!/bin/bash
44
# shellcheck disable=SC2086,SC2016,SC2046
55
# REGENDATA ["--doctest","--doctest-version=^>=0.20","bash","doctest-version.project"]
@@ -21,7 +21,7 @@ fi
2121

2222
CFG_CABAL_STORE_CACHE=""
2323
CFG_CABAL_REPO_CACHE=""
24-
CFG_JOBS="9.10.1 9.8.2 9.8.1 9.6.6 9.6.5 9.6.4 9.6.3 9.6.2 9.6.1 9.4.8 9.4.7 9.4.6 9.4.5 9.4.4 9.4.3 9.4.2 9.4.1 9.2.8 9.2.7 9.2.6 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.12.1 9.10.1 9.8.2 9.8.1 9.6.6 9.6.5 9.6.4 9.6.3 9.6.2 9.6.1 9.4.8 9.4.7 9.4.6 9.4.5 9.4.4 9.4.3 9.4.2 9.4.1 9.2.8 9.2.7 9.2.6 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/doctest-version.github

Lines changed: 24 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.2.6 9.2.7 9.2.8 9.4.1 9.4.2 9.4.3 9.4.4 9.4.5 9.4.6 9.4.7 9.4.8 9.6.1 9.6.2 9.6.3 9.6.4 9.6.5 9.6.6 9.8.1 9.8.2 9.10.1 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.2.6 9.2.7 9.2.8 9.4.1 9.4.2 9.4.3 9.4.4 9.4.5 9.4.6 9.4.7 9.4.8 9.6.1 9.6.2 9.6.3 9.6.4 9.6.5 9.6.6 9.8.1 9.8.2 9.10.1 9.12.1 ghcjs-8.4
33
# This GitHub workflow config has been generated by a script via
44
#
55
# haskell-ci '--doctest' '--doctest-version=^>=0.20' 'github' 'doctest-version.project'
@@ -33,6 +33,11 @@ jobs:
3333
compilerVersion: "8.4"
3434
setup-method: hvr-ppa
3535
allow-failure: false
36+
- compiler: ghc-9.12.0.20241031
37+
compilerKind: ghc
38+
compilerVersion: 9.12.0.20241031
39+
setup-method: ghcup
40+
allow-failure: false
3641
- compiler: ghc-9.10.1
3742
compilerKind: ghc
3843
compilerVersion: 9.10.1
@@ -311,6 +316,7 @@ jobs:
311316
mkdir -p "$HOME/.ghcup/bin"
312317
curl -sL https://downloads.haskell.org/ghcup/0.1.30.0/x86_64-linux-ghcup-0.1.30.0 > "$HOME/.ghcup/bin/ghcup"
313318
chmod a+x "$HOME/.ghcup/bin/ghcup"
319+
"$HOME/.ghcup/bin/ghcup" config add-release-channel https://raw.githubusercontent.com/haskell/ghcup-metadata/master/ghcup-prereleases-0.0.8.yaml;
314320
"$HOME/.ghcup/bin/ghcup" install ghc "$HCVER" || (cat "$HOME"/.ghcup/logs/*.* && false)
315321
"$HOME/.ghcup/bin/ghcup" install cabal 3.12.1.0 || (cat "$HOME"/.ghcup/logs/*.* && false)
316322
else
@@ -323,6 +329,7 @@ jobs:
323329
mkdir -p "$HOME/.ghcup/bin"
324330
curl -sL https://downloads.haskell.org/ghcup/0.1.30.0/x86_64-linux-ghcup-0.1.30.0 > "$HOME/.ghcup/bin/ghcup"
325331
chmod a+x "$HOME/.ghcup/bin/ghcup"
332+
"$HOME/.ghcup/bin/ghcup" config add-release-channel https://raw.githubusercontent.com/haskell/ghcup-metadata/master/ghcup-prereleases-0.0.8.yaml;
326333
"$HOME/.ghcup/bin/ghcup" install cabal 3.12.1.0 || (cat "$HOME"/.ghcup/logs/*.* && false)
327334
fi
328335
env:
@@ -357,7 +364,7 @@ jobs:
357364
echo "HCNUMVER=$HCNUMVER" >> "$GITHUB_ENV"
358365
echo "ARG_TESTS=--enable-tests" >> "$GITHUB_ENV"
359366
echo "ARG_BENCH=--enable-benchmarks" >> "$GITHUB_ENV"
360-
echo "HEADHACKAGE=false" >> "$GITHUB_ENV"
367+
if [ $((! GHCJSARITH && HCNUMVER >= 91200)) -ne 0 ] ; then echo "HEADHACKAGE=true" >> "$GITHUB_ENV" ; else echo "HEADHACKAGE=false" >> "$GITHUB_ENV" ; fi
361368
echo "ARG_COMPILER=--$HCKIND --with-compiler=$HC" >> "$GITHUB_ENV"
362369
env:
363370
HCKIND: ${{ matrix.compilerKind }}
@@ -385,6 +392,18 @@ jobs:
385392
repository hackage.haskell.org
386393
url: http://hackage.haskell.org/
387394
EOF
395+
if $HEADHACKAGE; then
396+
cat >> $CABAL_CONFIG <<EOF
397+
repository head.hackage.ghc.haskell.org
398+
url: https://ghc.gitlab.haskell.org/head.hackage/
399+
secure: True
400+
root-keys: 7541f32a4ccca4f97aea3b22f5e593ba2c0267546016b992dfadcd2fe944e55d
401+
26021a13b401500c8eb2761ca95c61f2d625bfef951b939a8124ed12ecf07329
402+
f76d08be13e9a61a377a85e2fb63f4c5435d40f8feb3e12eb05905edb8cdea89
403+
key-threshold: 3
404+
active-repositories: hackage.haskell.org, head.hackage.ghc.haskell.org:override
405+
EOF
406+
fi
388407
cat >> $CABAL_CONFIG <<EOF
389408
program-default-options
390409
ghc-options: $GHCJOBS +RTS -M3G -RTS
@@ -453,6 +472,9 @@ jobs:
453472
if [ $((GHCJSARITH || ! GHCJSARITH && HCNUMVER >= 80200)) -ne 0 ] ; then echo " ghc-options: -Werror=missing-methods" >> cabal.project ; fi
454473
cat >> cabal.project <<EOF
455474
EOF
475+
if $HEADHACKAGE; then
476+
echo "allow-newer: $($HCPKG list --simple-output | sed -E 's/([a-zA-Z-]+)-[0-9.]+/*:\1,/g')" >> cabal.project
477+
fi
456478
$HCPKG list --simple-output --names-only | perl -ne 'for (split /\s+/) { print "constraints: any.$_ installed\n" unless /^(splitmix)$/; }' >> cabal.project.local
457479
cat cabal.project
458480
cat cabal.project.local

0 commit comments

Comments
 (0)