Skip to content

Commit 2f6e05a

Browse files
authored
Merge pull request #944 from haskell/ghc-9.4-alpha
Ghc 9.4 alpha
2 parents b296cb9 + 17a45f4 commit 2f6e05a

File tree

7 files changed

+127
-56
lines changed

7 files changed

+127
-56
lines changed

.github/workflows/haskell-ci.yml

Lines changed: 70 additions & 27 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.13.20211226
11+
# version: 0.15.20220609
1212
#
13-
# REGENDATA ("0.13.20211226",["github","cabal.project"])
13+
# REGENDATA ("0.15.20220609",["github","cabal.project"])
1414
#
1515
name: Haskell-CI
1616
on:
@@ -23,7 +23,7 @@ on:
2323
jobs:
2424
linux:
2525
name: Haskell-CI - Linux - ${{ matrix.compiler }}
26-
runs-on: ubuntu-18.04
26+
runs-on: ubuntu-20.04
2727
timeout-minutes:
2828
60
2929
container:
@@ -32,15 +32,25 @@ jobs:
3232
strategy:
3333
matrix:
3434
include:
35-
- compiler: ghc-9.0.1
35+
- compiler: ghc-9.4.0.20220523
3636
compilerKind: ghc
37-
compilerVersion: 9.0.1
38-
setup-method: hvr-ppa
37+
compilerVersion: 9.4.0.20220523
38+
setup-method: ghcup
39+
allow-failure: true
40+
- compiler: ghc-9.2.3
41+
compilerKind: ghc
42+
compilerVersion: 9.2.3
43+
setup-method: ghcup
3944
allow-failure: false
40-
- compiler: ghc-8.10.4
45+
- compiler: ghc-9.0.2
4146
compilerKind: ghc
42-
compilerVersion: 8.10.4
43-
setup-method: hvr-ppa
47+
compilerVersion: 9.0.2
48+
setup-method: ghcup
49+
allow-failure: false
50+
- compiler: ghc-8.10.7
51+
compilerKind: ghc
52+
compilerVersion: 8.10.7
53+
setup-method: ghcup
4454
allow-failure: false
4555
- compiler: ghc-8.8.4
4656
compilerKind: ghc
@@ -73,13 +83,22 @@ jobs:
7383
run: |
7484
apt-get update
7585
apt-get install -y --no-install-recommends gnupg ca-certificates dirmngr curl git software-properties-common libtinfo5
76-
apt-add-repository -y 'ppa:hvr/ghc'
77-
apt-get update
78-
apt-get install -y "$HCNAME"
79-
mkdir -p "$HOME/.ghcup/bin"
80-
curl -sL https://downloads.haskell.org/ghcup/0.1.17.3/x86_64-linux-ghcup-0.1.17.3 > "$HOME/.ghcup/bin/ghcup"
81-
chmod a+x "$HOME/.ghcup/bin/ghcup"
82-
"$HOME/.ghcup/bin/ghcup" install cabal 3.6.2.0
86+
if [ "${{ matrix.setup-method }}" = ghcup ]; then
87+
mkdir -p "$HOME/.ghcup/bin"
88+
curl -sL https://downloads.haskell.org/ghcup/0.1.17.8/x86_64-linux-ghcup-0.1.17.8 > "$HOME/.ghcup/bin/ghcup"
89+
chmod a+x "$HOME/.ghcup/bin/ghcup"
90+
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
91+
"$HOME/.ghcup/bin/ghcup" install ghc "$HCVER" || (cat "$HOME"/.ghcup/logs/*.* && false)
92+
"$HOME/.ghcup/bin/ghcup" install cabal 3.6.2.0 || (cat "$HOME"/.ghcup/logs/*.* && false)
93+
else
94+
apt-add-repository -y 'ppa:hvr/ghc'
95+
apt-get update
96+
apt-get install -y "$HCNAME"
97+
mkdir -p "$HOME/.ghcup/bin"
98+
curl -sL https://downloads.haskell.org/ghcup/0.1.17.8/x86_64-linux-ghcup-0.1.17.8 > "$HOME/.ghcup/bin/ghcup"
99+
chmod a+x "$HOME/.ghcup/bin/ghcup"
100+
"$HOME/.ghcup/bin/ghcup" install cabal 3.6.2.0 || (cat "$HOME"/.ghcup/logs/*.* && false)
101+
fi
83102
env:
84103
HCKIND: ${{ matrix.compilerKind }}
85104
HCNAME: ${{ matrix.compiler }}
@@ -91,16 +110,25 @@ jobs:
91110
echo "CABAL_DIR=$HOME/.cabal" >> "$GITHUB_ENV"
92111
echo "CABAL_CONFIG=$HOME/.cabal/config" >> "$GITHUB_ENV"
93112
HCDIR=/opt/$HCKIND/$HCVER
94-
HC=$HCDIR/bin/$HCKIND
95-
echo "HC=$HC" >> "$GITHUB_ENV"
96-
echo "HCPKG=$HCDIR/bin/$HCKIND-pkg" >> "$GITHUB_ENV"
97-
echo "HADDOCK=$HCDIR/bin/haddock" >> "$GITHUB_ENV"
98-
echo "CABAL=$HOME/.ghcup/bin/cabal-3.6.2.0 -vnormal+nowrap" >> "$GITHUB_ENV"
113+
if [ "${{ matrix.setup-method }}" = ghcup ]; then
114+
HC=$HOME/.ghcup/bin/$HCKIND-$HCVER
115+
echo "HC=$HC" >> "$GITHUB_ENV"
116+
echo "HCPKG=$HOME/.ghcup/bin/$HCKIND-pkg-$HCVER" >> "$GITHUB_ENV"
117+
echo "HADDOCK=$HOME/.ghcup/bin/haddock-$HCVER" >> "$GITHUB_ENV"
118+
echo "CABAL=$HOME/.ghcup/bin/cabal-3.6.2.0 -vnormal+nowrap" >> "$GITHUB_ENV"
119+
else
120+
HC=$HCDIR/bin/$HCKIND
121+
echo "HC=$HC" >> "$GITHUB_ENV"
122+
echo "HCPKG=$HCDIR/bin/$HCKIND-pkg" >> "$GITHUB_ENV"
123+
echo "HADDOCK=$HCDIR/bin/haddock" >> "$GITHUB_ENV"
124+
echo "CABAL=$HOME/.ghcup/bin/cabal-3.6.2.0 -vnormal+nowrap" >> "$GITHUB_ENV"
125+
fi
126+
99127
HCNUMVER=$(${HC} --numeric-version|perl -ne '/^(\d+)\.(\d+)\.(\d+)(\.(\d+))?$/; print(10000 * $1 + 100 * $2 + ($3 == 0 ? $5 != 1 : $3))')
100128
echo "HCNUMVER=$HCNUMVER" >> "$GITHUB_ENV"
101129
echo "ARG_TESTS=--enable-tests" >> "$GITHUB_ENV"
102130
echo "ARG_BENCH=--enable-benchmarks" >> "$GITHUB_ENV"
103-
echo "HEADHACKAGE=false" >> "$GITHUB_ENV"
131+
if [ $((HCNUMVER >= 90400)) -ne 0 ] ; then echo "HEADHACKAGE=true" >> "$GITHUB_ENV" ; else echo "HEADHACKAGE=false" >> "$GITHUB_ENV" ; fi
104132
echo "ARG_COMPILER=--$HCKIND --with-compiler=$HC" >> "$GITHUB_ENV"
105133
echo "GHCJSARITH=0" >> "$GITHUB_ENV"
106134
env:
@@ -129,6 +157,18 @@ jobs:
129157
repository hackage.haskell.org
130158
url: http://hackage.haskell.org/
131159
EOF
160+
if $HEADHACKAGE; then
161+
cat >> $CABAL_CONFIG <<EOF
162+
repository head.hackage.ghc.haskell.org
163+
url: https://ghc.gitlab.haskell.org/head.hackage/
164+
secure: True
165+
root-keys: 7541f32a4ccca4f97aea3b22f5e593ba2c0267546016b992dfadcd2fe944e55d
166+
26021a13b401500c8eb2761ca95c61f2d625bfef951b939a8124ed12ecf07329
167+
f76d08be13e9a61a377a85e2fb63f4c5435d40f8feb3e12eb05905edb8cdea89
168+
key-threshold: 3
169+
active-repositories: hackage.haskell.org, head.hackage.ghc.haskell.org:override
170+
EOF
171+
fi
132172
cat >> $CABAL_CONFIG <<EOF
133173
program-default-options
134174
ghc-options: $GHCJOBS +RTS -M3G -RTS
@@ -145,7 +185,7 @@ jobs:
145185
- name: cache (tools)
146186
uses: actions/cache@v2
147187
with:
148-
key: ${{ runner.os }}-${{ matrix.compiler }}-tools-f55e2677
188+
key: ${{ runner.os }}-${{ matrix.compiler }}-tools-9f99e33a
149189
path: ~/.haskell-ci-tools
150190
- name: install cabal-plan
151191
run: |
@@ -197,6 +237,9 @@ jobs:
197237
if [ $((HCNUMVER >= 80200)) -ne 0 ] ; then echo " ghc-options: -Werror=missing-methods" >> cabal.project ; fi
198238
cat >> cabal.project <<EOF
199239
EOF
240+
if $HEADHACKAGE; then
241+
echo "allow-newer: $($HCPKG list --simple-output | sed -E 's/([a-zA-Z-]+)-[0-9.]+/*:\1,/g')" >> cabal.project
242+
fi
200243
$HCPKG list --simple-output --names-only | perl -ne 'for (split /\s+/) { print "constraints: $_ installed\n" unless /^(aeson|aeson-examples|attoparsec-iso8601)$/; }' >> cabal.project.local
201244
cat cabal.project
202245
cat cabal.project.local
@@ -225,7 +268,7 @@ jobs:
225268
$CABAL v2-test $ARG_COMPILER $ARG_TESTS $ARG_BENCH all --test-show-details=direct
226269
- name: haddock
227270
run: |
228-
if [ $((HCNUMVER >= 80600)) -ne 0 ] ; then $CABAL v2-haddock $ARG_COMPILER --with-haddock $HADDOCK $ARG_TESTS $ARG_BENCH all ; fi
271+
if [ $((HCNUMVER >= 80600)) -ne 0 ] ; then $CABAL v2-haddock --haddock-all $ARG_COMPILER --with-haddock $HADDOCK $ARG_TESTS $ARG_BENCH all ; fi
229272
- name: unconstrained build
230273
run: |
231274
rm -f cabal.project.local
@@ -259,6 +302,6 @@ jobs:
259302
$CABAL v2-test $ARG_COMPILER --enable-tests --disable-benchmarks --constraint='aeson +ordered-keymap' all
260303
- name: constraint set cffi
261304
run: |
262-
$CABAL v2-build $ARG_COMPILER --enable-tests --disable-benchmarks --constraint='aeson +cffi' --dependencies-only -j2 all
263-
$CABAL v2-build $ARG_COMPILER --enable-tests --disable-benchmarks --constraint='aeson +cffi' all
264-
$CABAL v2-test $ARG_COMPILER --enable-tests --disable-benchmarks --constraint='aeson +cffi' all
305+
if [ $((HCNUMVER < 90400)) -ne 0 ] ; then $CABAL v2-build $ARG_COMPILER --enable-tests --disable-benchmarks --constraint='aeson +cffi' --dependencies-only -j2 all ; fi
306+
if [ $((HCNUMVER < 90400)) -ne 0 ] ; then $CABAL v2-build $ARG_COMPILER --enable-tests --disable-benchmarks --constraint='aeson +cffi' all ; fi
307+
if [ $((HCNUMVER < 90400)) -ne 0 ] ; then $CABAL v2-test $ARG_COMPILER --enable-tests --disable-benchmarks --constraint='aeson +cffi' all ; fi

.github/workflows/z-bench.yml

Lines changed: 43 additions & 21 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.13.20211111
11+
# version: 0.15.20220609
1212
#
13-
# REGENDATA ("0.13.20211111",["github","-o",".github/workflows/z-bench.yml","--config=cabal.bench.haskell-ci","--project","cabal.bench.project"])
13+
# REGENDATA ("0.15.20220609",["github","-o",".github/workflows/z-bench.yml","--config=cabal.bench.haskell-ci","--project","cabal.bench.project"])
1414
#
1515
name: Z Bench CI
1616
on:
@@ -23,7 +23,7 @@ on:
2323
jobs:
2424
linux:
2525
name: Z Bench CI - Linux - ${{ matrix.compiler }}
26-
runs-on: ubuntu-18.04
26+
runs-on: ubuntu-20.04
2727
timeout-minutes:
2828
60
2929
container:
@@ -32,15 +32,20 @@ jobs:
3232
strategy:
3333
matrix:
3434
include:
35-
- compiler: ghc-9.0.1
35+
- compiler: ghc-9.2.2
3636
compilerKind: ghc
37-
compilerVersion: 9.0.1
38-
setup-method: hvr-ppa
37+
compilerVersion: 9.2.2
38+
setup-method: ghcup
3939
allow-failure: false
40-
- compiler: ghc-8.10.4
40+
- compiler: ghc-9.0.2
4141
compilerKind: ghc
42-
compilerVersion: 8.10.4
43-
setup-method: hvr-ppa
42+
compilerVersion: 9.0.2
43+
setup-method: ghcup
44+
allow-failure: false
45+
- compiler: ghc-8.10.7
46+
compilerKind: ghc
47+
compilerVersion: 8.10.7
48+
setup-method: ghcup
4449
allow-failure: false
4550
- compiler: ghc-8.8.4
4651
compilerKind: ghc
@@ -73,13 +78,21 @@ jobs:
7378
run: |
7479
apt-get update
7580
apt-get install -y --no-install-recommends gnupg ca-certificates dirmngr curl git software-properties-common libtinfo5
76-
apt-add-repository -y 'ppa:hvr/ghc'
77-
apt-get update
78-
apt-get install -y "$HCNAME"
79-
mkdir -p "$HOME/.ghcup/bin"
80-
curl -sL https://downloads.haskell.org/ghcup/0.1.17.3/x86_64-linux-ghcup-0.1.17.3 > "$HOME/.ghcup/bin/ghcup"
81-
chmod a+x "$HOME/.ghcup/bin/ghcup"
82-
"$HOME/.ghcup/bin/ghcup" install cabal 3.6.2.0
81+
if [ "${{ matrix.setup-method }}" = ghcup ]; then
82+
mkdir -p "$HOME/.ghcup/bin"
83+
curl -sL https://downloads.haskell.org/ghcup/0.1.17.8/x86_64-linux-ghcup-0.1.17.8 > "$HOME/.ghcup/bin/ghcup"
84+
chmod a+x "$HOME/.ghcup/bin/ghcup"
85+
"$HOME/.ghcup/bin/ghcup" install ghc "$HCVER" || (cat "$HOME"/.ghcup/logs/*.* && false)
86+
"$HOME/.ghcup/bin/ghcup" install cabal 3.6.2.0 || (cat "$HOME"/.ghcup/logs/*.* && false)
87+
else
88+
apt-add-repository -y 'ppa:hvr/ghc'
89+
apt-get update
90+
apt-get install -y "$HCNAME"
91+
mkdir -p "$HOME/.ghcup/bin"
92+
curl -sL https://downloads.haskell.org/ghcup/0.1.17.8/x86_64-linux-ghcup-0.1.17.8 > "$HOME/.ghcup/bin/ghcup"
93+
chmod a+x "$HOME/.ghcup/bin/ghcup"
94+
"$HOME/.ghcup/bin/ghcup" install cabal 3.6.2.0 || (cat "$HOME"/.ghcup/logs/*.* && false)
95+
fi
8396
env:
8497
HCKIND: ${{ matrix.compilerKind }}
8598
HCNAME: ${{ matrix.compiler }}
@@ -91,11 +104,20 @@ jobs:
91104
echo "CABAL_DIR=$HOME/.cabal" >> "$GITHUB_ENV"
92105
echo "CABAL_CONFIG=$HOME/.cabal/config" >> "$GITHUB_ENV"
93106
HCDIR=/opt/$HCKIND/$HCVER
94-
HC=$HCDIR/bin/$HCKIND
95-
echo "HC=$HC" >> "$GITHUB_ENV"
96-
echo "HCPKG=$HCDIR/bin/$HCKIND-pkg" >> "$GITHUB_ENV"
97-
echo "HADDOCK=$HCDIR/bin/haddock" >> "$GITHUB_ENV"
98-
echo "CABAL=$HOME/.ghcup/bin/cabal-3.6.2.0 -vnormal+nowrap" >> "$GITHUB_ENV"
107+
if [ "${{ matrix.setup-method }}" = ghcup ]; then
108+
HC=$HOME/.ghcup/bin/$HCKIND-$HCVER
109+
echo "HC=$HC" >> "$GITHUB_ENV"
110+
echo "HCPKG=$HOME/.ghcup/bin/$HCKIND-pkg-$HCVER" >> "$GITHUB_ENV"
111+
echo "HADDOCK=$HOME/.ghcup/bin/haddock-$HCVER" >> "$GITHUB_ENV"
112+
echo "CABAL=$HOME/.ghcup/bin/cabal-3.6.2.0 -vnormal+nowrap" >> "$GITHUB_ENV"
113+
else
114+
HC=$HCDIR/bin/$HCKIND
115+
echo "HC=$HC" >> "$GITHUB_ENV"
116+
echo "HCPKG=$HCDIR/bin/$HCKIND-pkg" >> "$GITHUB_ENV"
117+
echo "HADDOCK=$HCDIR/bin/haddock" >> "$GITHUB_ENV"
118+
echo "CABAL=$HOME/.ghcup/bin/cabal-3.6.2.0 -vnormal+nowrap" >> "$GITHUB_ENV"
119+
fi
120+
99121
HCNUMVER=$(${HC} --numeric-version|perl -ne '/^(\d+)\.(\d+)\.(\d+)(\.(\d+))?$/; print(10000 * $1 + 100 * $2 + ($3 == 0 ? $5 != 1 : $3))')
100122
echo "HCNUMVER=$HCNUMVER" >> "$GITHUB_ENV"
101123
echo "ARG_TESTS=--enable-tests" >> "$GITHUB_ENV"

aeson.cabal

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,10 @@ tested-with:
1616
|| ==8.4.4
1717
|| ==8.6.5
1818
|| ==8.8.4
19-
|| ==8.10.4
20-
|| ==9.0.1
19+
|| ==8.10.7
20+
|| ==9.0.2
21+
|| ==9.2.3
22+
|| ==9.4.1
2123

2224
synopsis: Fast JSON parsing and encoding
2325
cabal-version: >=1.10

attoparsec-iso8601/attoparsec-iso8601.cabal

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
name: attoparsec-iso8601
22
version: 1.0.2.1
3-
synopsis: Parsing of ISO 8601 dates, originally from aeson.
3+
synopsis: Parsing of ISO 8601 dates, originally from aeson
44
description: Parsing of ISO 8601 dates, originally from aeson.
55
license: BSD3
66
license-file: LICENSE
@@ -14,7 +14,7 @@ cabal-version: >=1.10
1414
homepage: https://github.com/haskell/aeson
1515
bug-reports: https://github.com/haskell/aeson/issues
1616
build-type: Simple
17-
tested-with: GHC == 8.0.2, GHC == 8.2.2, GHC == 8.4.4, GHC == 8.6.5, GHC == 8.8.4, GHC == 8.10.4, GHC == 9.0.1
17+
tested-with: GHC == 8.0.2, GHC == 8.2.2, GHC == 8.4.4, GHC == 8.6.5, GHC == 8.8.4, GHC == 8.10.7, GHC == 9.0.2, GHC ==9.2.3, GHC==9.4.1
1818
extra-source-files:
1919
README.md
2020
changelog.md

benchmarks/aeson-benchmarks.cabal

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,9 @@ tested-with:
88
|| ==8.4.4
99
|| ==8.6.5
1010
|| ==8.8.4
11-
|| ==8.10.4
12-
|| ==9.0.1
11+
|| ==8.10.7
12+
|| ==9.0.2
13+
|| ==9.2.2
1314

1415
extra-source-files: cbits/*.c
1516

cabal.haskell-ci

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ hlint-job: 8.8.3
99
hlint-yaml: .hlint.yaml
1010

1111
constraint-set cffi
12+
ghc: <9.4
1213
constraints: aeson +cffi
1314
tests: True
1415
run-tests: True

examples/aeson-examples.cabal

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,10 @@ tested-with:
1414
|| ==8.4.4
1515
|| ==8.6.5
1616
|| ==8.8.4
17-
|| ==8.10.4
18-
|| ==9.0.1
17+
|| ==8.10.7
18+
|| ==9.0.2
19+
|| ==9.2.3
20+
|| ==9.4.1
1921

2022
library twitter-generic
2123
default-language: Haskell2010

0 commit comments

Comments
 (0)