Skip to content

Commit 85c2da5

Browse files
authored
Merge pull request #1126 from haskell/ghc-9.12
Support GHC-9.12
2 parents c209388 + 6d18719 commit 85c2da5

File tree

7 files changed

+60
-42
lines changed

7 files changed

+60
-42
lines changed

.github/workflows/haskell-ci.yml

Lines changed: 31 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.19.20240514
11+
# version: 0.19.20250115
1212
#
13-
# REGENDATA ("0.19.20240514",["github","cabal.project"])
13+
# REGENDATA ("0.19.20250115",["github","cabal.project"])
1414
#
1515
name: Haskell-CI
1616
on:
@@ -32,19 +32,24 @@ jobs:
3232
strategy:
3333
matrix:
3434
include:
35+
- compiler: ghc-9.12.1
36+
compilerKind: ghc
37+
compilerVersion: 9.12.1
38+
setup-method: ghcup
39+
allow-failure: false
3540
- compiler: ghc-9.10.1
3641
compilerKind: ghc
3742
compilerVersion: 9.10.1
3843
setup-method: ghcup
3944
allow-failure: false
40-
- compiler: ghc-9.8.2
45+
- compiler: ghc-9.8.4
4146
compilerKind: ghc
42-
compilerVersion: 9.8.2
47+
compilerVersion: 9.8.4
4348
setup-method: ghcup
4449
allow-failure: false
45-
- compiler: ghc-9.6.5
50+
- compiler: ghc-9.6.6
4651
compilerKind: ghc
47-
compilerVersion: 9.6.5
52+
compilerVersion: 9.6.6
4853
setup-method: ghcup
4954
allow-failure: false
5055
- compiler: ghc-9.4.8
@@ -79,15 +84,29 @@ jobs:
7984
allow-failure: false
8085
fail-fast: false
8186
steps:
82-
- name: apt
87+
- name: apt-get install
8388
run: |
8489
apt-get update
8590
apt-get install -y --no-install-recommends gnupg ca-certificates dirmngr curl git software-properties-common libtinfo5
91+
- name: Install GHCup
92+
run: |
8693
mkdir -p "$HOME/.ghcup/bin"
87-
curl -sL https://downloads.haskell.org/ghcup/0.1.20.0/x86_64-linux-ghcup-0.1.20.0 > "$HOME/.ghcup/bin/ghcup"
94+
curl -sL https://downloads.haskell.org/ghcup/0.1.30.0/x86_64-linux-ghcup-0.1.30.0 > "$HOME/.ghcup/bin/ghcup"
8895
chmod a+x "$HOME/.ghcup/bin/ghcup"
96+
- name: Install cabal-install
97+
run: |
98+
"$HOME/.ghcup/bin/ghcup" install cabal 3.12.1.0 || (cat "$HOME"/.ghcup/logs/*.* && false)
99+
echo "CABAL=$HOME/.ghcup/bin/cabal-3.12.1.0 -vnormal+nowrap" >> "$GITHUB_ENV"
100+
- name: Install GHC (GHCup)
101+
if: matrix.setup-method == 'ghcup'
102+
run: |
89103
"$HOME/.ghcup/bin/ghcup" install ghc "$HCVER" || (cat "$HOME"/.ghcup/logs/*.* && false)
90-
"$HOME/.ghcup/bin/ghcup" install cabal 3.10.2.0 || (cat "$HOME"/.ghcup/logs/*.* && false)
104+
HC=$("$HOME/.ghcup/bin/ghcup" whereis ghc "$HCVER")
105+
HCPKG=$(echo "$HC" | sed 's#ghc$#ghc-pkg#')
106+
HADDOCK=$(echo "$HC" | sed 's#ghc$#haddock#')
107+
echo "HC=$HC" >> "$GITHUB_ENV"
108+
echo "HCPKG=$HCPKG" >> "$GITHUB_ENV"
109+
echo "HADDOCK=$HADDOCK" >> "$GITHUB_ENV"
91110
env:
92111
HCKIND: ${{ matrix.compilerKind }}
93112
HCNAME: ${{ matrix.compiler }}
@@ -98,21 +117,12 @@ jobs:
98117
echo "LANG=C.UTF-8" >> "$GITHUB_ENV"
99118
echo "CABAL_DIR=$HOME/.cabal" >> "$GITHUB_ENV"
100119
echo "CABAL_CONFIG=$HOME/.cabal/config" >> "$GITHUB_ENV"
101-
HCDIR=/opt/$HCKIND/$HCVER
102-
HC=$("$HOME/.ghcup/bin/ghcup" whereis ghc "$HCVER")
103-
HCPKG=$(echo "$HC" | sed 's#ghc$#ghc-pkg#')
104-
HADDOCK=$(echo "$HC" | sed 's#ghc$#haddock#')
105-
echo "HC=$HC" >> "$GITHUB_ENV"
106-
echo "HCPKG=$HCPKG" >> "$GITHUB_ENV"
107-
echo "HADDOCK=$HADDOCK" >> "$GITHUB_ENV"
108-
echo "CABAL=$HOME/.ghcup/bin/cabal-3.10.2.0 -vnormal+nowrap" >> "$GITHUB_ENV"
109120
HCNUMVER=$(${HC} --numeric-version|perl -ne '/^(\d+)\.(\d+)\.(\d+)(\.(\d+))?$/; print(10000 * $1 + 100 * $2 + ($3 == 0 ? $5 != 1 : $3))')
110121
echo "HCNUMVER=$HCNUMVER" >> "$GITHUB_ENV"
111122
echo "ARG_TESTS=--enable-tests" >> "$GITHUB_ENV"
112123
echo "ARG_BENCH=--enable-benchmarks" >> "$GITHUB_ENV"
113124
echo "HEADHACKAGE=false" >> "$GITHUB_ENV"
114125
echo "ARG_COMPILER=--$HCKIND --with-compiler=$HC" >> "$GITHUB_ENV"
115-
echo "GHCJSARITH=0" >> "$GITHUB_ENV"
116126
env:
117127
HCKIND: ${{ matrix.compilerKind }}
118128
HCNAME: ${{ matrix.compiler }}
@@ -164,8 +174,8 @@ jobs:
164174
- name: install cabal-docspec
165175
run: |
166176
mkdir -p $HOME/.cabal/bin
167-
curl -sL https://github.com/phadej/cabal-extras/releases/download/cabal-docspec-0.0.0.20240414/cabal-docspec-0.0.0.20240414-x86_64-linux.xz > cabal-docspec.xz
168-
echo '2d18a3f79619e8ec5f11870f926f6dc2616e02a6c889315b7f82044b95a1adb9 cabal-docspec.xz' | sha256sum -c -
177+
curl -sL https://github.com/phadej/cabal-extras/releases/download/cabal-docspec-0.0.0.20240703/cabal-docspec-0.0.0.20240703-x86_64-linux.xz > cabal-docspec.xz
178+
echo '48bf3b7fd2f7f0caa6162afee57a755be8523e7f467b694900eb420f5f9a7b76 cabal-docspec.xz' | sha256sum -c -
169179
xz -d < cabal-docspec.xz > $HOME/.cabal/bin/cabal-docspec
170180
rm -f cabal-docspec.xz
171181
chmod a+x $HOME/.cabal/bin/cabal-docspec
@@ -279,8 +289,8 @@ jobs:
279289
$CABAL v2-build $ARG_COMPILER --enable-tests --disable-benchmarks --constraint='aeson +ordered-keymap' all
280290
$CABAL v2-test $ARG_COMPILER --enable-tests --disable-benchmarks --constraint='aeson +ordered-keymap' all
281291
- name: save cache
282-
uses: actions/cache/save@v4
283292
if: always()
293+
uses: actions/cache/save@v4
284294
with:
285295
key: ${{ runner.os }}-${{ matrix.compiler }}-${{ github.sha }}
286296
path: ~/.cabal/store

aeson.cabal

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
cabal-version: 2.2
22
name: aeson
33
version: 2.2.3.0
4-
x-revision: 1
4+
x-revision: 3
55
license: BSD-3-Clause
66
license-file: LICENSE
77
category: Text, Web, JSON
@@ -19,9 +19,10 @@ tested-with:
1919
|| ==9.0.2
2020
|| ==9.2.8
2121
|| ==9.4.8
22-
|| ==9.6.5
23-
|| ==9.8.2
22+
|| ==9.6.6
23+
|| ==9.8.4
2424
|| ==9.10.1
25+
|| ==9.12.1
2526

2627
synopsis: Fast JSON parsing and encoding
2728
homepage: https://github.com/haskell/aeson
@@ -98,10 +99,10 @@ library
9899
, containers >=0.6.0.1 && <0.8
99100
, deepseq >=1.4.4.0 && <1.6
100101
, exceptions >=0.10.4 && <0.11
101-
, ghc-prim >=0.5.0.0 && <0.12
102-
, template-haskell >=2.14.0.0 && <2.23
102+
, ghc-prim >=0.5.0.0 && <0.14
103+
, template-haskell >=2.14.0.0 && <2.24
103104
, text >=1.2.3.0 && <1.3 || >=2.0 && <2.2
104-
, time >=1.8.0.2 && <1.13
105+
, time >=1.8.0.2 && <1.15
105106

106107
-- Compat
107108
build-depends:
@@ -203,7 +204,7 @@ test-suite aeson-tests
203204
, containers
204205
, data-fix
205206
, deepseq
206-
, Diff >=0.4 && <0.6
207+
, Diff >=0.4 && <0.6 || ^>=1.0.2
207208
, directory
208209
, dlist
209210
, filepath

attoparsec-aeson/attoparsec-aeson.cabal

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,9 +25,10 @@ tested-with:
2525
|| ==9.0.2
2626
|| ==9.2.8
2727
|| ==9.4.8
28-
|| ==9.6.5
29-
|| ==9.8.2
28+
|| ==9.6.6
29+
|| ==9.8.4
3030
|| ==9.10.1
31+
|| ==9.12.1
3132

3233
library
3334
hs-source-dirs: src

attoparsec-iso8601/attoparsec-iso8601.cabal

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
name: attoparsec-iso8601
22
version: 1.1.1.0
3+
x-revision: 1
34
synopsis: Parsing of ISO 8601 dates, originally from aeson
45
description: Parsing of ISO 8601 dates, originally from aeson.
56
license: BSD3
@@ -23,9 +24,10 @@ tested-with:
2324
|| ==9.0.2
2425
|| ==9.2.8
2526
|| ==9.4.8
26-
|| ==9.6.5
27-
|| ==9.8.2
27+
|| ==9.6.6
28+
|| ==9.8.4
2829
|| ==9.10.1
30+
|| ==9.12.1
2931

3032
extra-source-files:
3133
changelog.md
@@ -44,7 +46,7 @@ library
4446
, base >=4.12.0.0 && <5
4547
, integer-conversion >=0.1 && <0.2
4648
, text >=1.2.3.0 && <1.3.0.0 || >=2.0 && <2.2
47-
, time >=1.8.0.2 && <1.13
49+
, time >=1.8.0.2 && <1.15
4850
, time-compat >=1.9.4 && <1.10
4951

5052
source-repository head

benchmarks/aeson-benchmarks.cabal

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,10 @@ tested-with:
99
|| ==9.0.2
1010
|| ==9.2.8
1111
|| ==9.4.8
12-
|| ==9.6.5
13-
|| ==9.8.2
12+
|| ==9.6.6
13+
|| ==9.8.4
1414
|| ==9.10.1
15+
|| ==9.12.1
1516

1617
flag tasty-bench
1718
description: Use tasty-bench, otherwise criterion

examples/aeson-examples.cabal

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,9 +15,10 @@ tested-with:
1515
|| ==9.0.2
1616
|| ==9.2.8
1717
|| ==9.4.8
18-
|| ==9.6.5
19-
|| ==9.8.2
18+
|| ==9.6.6
19+
|| ==9.8.4
2020
|| ==9.10.1
21+
|| ==9.12.1
2122

2223
library twitter-generic
2324
default-language: Haskell2010

text-iso8601/text-iso8601.cabal

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
cabal-version: 1.12
22
name: text-iso8601
33
version: 0.1.1
4+
x-revision: 2
45
synopsis: Converting time to and from ISO 8601 text.
56
description:
67
Converting time to and from IS0 8601 text.
@@ -24,9 +25,10 @@ tested-with:
2425
|| ==9.0.2
2526
|| ==9.2.8
2627
|| ==9.4.8
27-
|| ==9.6.5
28-
|| ==9.8.2
28+
|| ==9.6.6
29+
|| ==9.8.4
2930
|| ==9.10.1
31+
|| ==9.12.1
3032

3133
extra-source-files: changelog.md
3234

@@ -47,7 +49,7 @@ library
4749
base >=4.12.0.0 && <5
4850
, integer-conversion >=0.1 && <0.2
4951
, text >=1.2.3.0 && <1.3.0.0 || >=2.0 && <2.2
50-
, time >=1.8.0.2 && <1.13
52+
, time >=1.8.0.2 && <1.15
5153
, time-compat >=1.9.4 && <1.10
5254

5355
test-suite text-iso8601-tests
@@ -68,7 +70,7 @@ test-suite text-iso8601-tests
6870
, quickcheck-instances >=0.3.29.1 && <0.4
6971
, tasty >=1.4.3 && <1.6
7072
, tasty-hunit >=0.10.0.3 && <0.11
71-
, tasty-quickcheck >=0.10.2 && <0.11
73+
, tasty-quickcheck >=0.10.2 && <0.12
7274

7375
benchmark text-iso8601-bench
7476
default-language: Haskell2010
@@ -86,4 +88,4 @@ benchmark text-iso8601-bench
8688
build-depends:
8789
attoparsec >=0.14.4 && <0.15
8890
, attoparsec-iso8601 >=1.1.0.1 && <1.2
89-
, tasty-bench >=0.3.4 && <0.4
91+
, tasty-bench >=0.3.4 && <0.5

0 commit comments

Comments
 (0)