Skip to content

Commit 62b80ae

Browse files
committed
Support GHC-9.14
1 parent a888fdb commit 62b80ae

14 files changed

Lines changed: 152 additions & 17 deletions

File tree

.github/workflows/haskell-ci.yml

Lines changed: 48 additions & 5 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.20250722
11+
# version: 0.19.20250917
1212
#
13-
# REGENDATA ("0.19.20250722",["github","--config=cabal.haskell-ci","cabal.project"])
13+
# REGENDATA ("0.19.20250917",["github","--config=cabal.haskell-ci","cabal.project"])
1414
#
1515
name: Haskell-CI
1616
on:
@@ -20,6 +20,9 @@ on:
2020
pull_request:
2121
branches:
2222
- master
23+
merge_group:
24+
branches:
25+
- master
2326
jobs:
2427
linux:
2528
name: Haskell-CI - Linux - ${{ matrix.compiler }}
@@ -32,6 +35,11 @@ jobs:
3235
strategy:
3336
matrix:
3437
include:
38+
- compiler: ghc-9.14.0.20250908
39+
compilerKind: ghc
40+
compilerVersion: 9.14.0.20250908
41+
setup-method: ghcup-prerelease
42+
allow-failure: false
3543
- compiler: ghc-9.12.2
3644
compilerKind: ghc
3745
compilerVersion: 9.12.2
@@ -105,8 +113,8 @@ jobs:
105113
chmod a+x "$HOME/.ghcup/bin/ghcup"
106114
- name: Install cabal-install
107115
run: |
108-
"$HOME/.ghcup/bin/ghcup" install cabal 3.14.2.0 || (cat "$HOME"/.ghcup/logs/*.* && false)
109-
echo "CABAL=$HOME/.ghcup/bin/cabal-3.14.2.0 -vnormal+nowrap" >> "$GITHUB_ENV"
116+
"$HOME/.ghcup/bin/ghcup" install cabal 3.16.0.0 || (cat "$HOME"/.ghcup/logs/*.* && false)
117+
echo "CABAL=$HOME/.ghcup/bin/cabal-3.16.0.0 -vnormal+nowrap" >> "$GITHUB_ENV"
110118
- name: Install GHC (GHCup)
111119
if: matrix.setup-method == 'ghcup'
112120
run: |
@@ -121,6 +129,21 @@ jobs:
121129
HCKIND: ${{ matrix.compilerKind }}
122130
HCNAME: ${{ matrix.compiler }}
123131
HCVER: ${{ matrix.compilerVersion }}
132+
- name: Install GHC (GHCup prerelease)
133+
if: matrix.setup-method == 'ghcup-prerelease'
134+
run: |
135+
"$HOME/.ghcup/bin/ghcup" config add-release-channel prereleases
136+
"$HOME/.ghcup/bin/ghcup" install ghc "$HCVER" || (cat "$HOME"/.ghcup/logs/*.* && false)
137+
HC=$("$HOME/.ghcup/bin/ghcup" whereis ghc "$HCVER")
138+
HCPKG=$(echo "$HC" | sed 's#ghc$#ghc-pkg#')
139+
HADDOCK=$(echo "$HC" | sed 's#ghc$#haddock#')
140+
echo "HC=$HC" >> "$GITHUB_ENV"
141+
echo "HCPKG=$HCPKG" >> "$GITHUB_ENV"
142+
echo "HADDOCK=$HADDOCK" >> "$GITHUB_ENV"
143+
env:
144+
HCKIND: ${{ matrix.compilerKind }}
145+
HCNAME: ${{ matrix.compiler }}
146+
HCVER: ${{ matrix.compilerVersion }}
124147
- name: Set PATH and environment variables
125148
run: |
126149
echo "$HOME/.cabal/bin" >> $GITHUB_PATH
@@ -191,7 +214,7 @@ jobs:
191214
chmod a+x $HOME/.cabal/bin/cabal-docspec
192215
cabal-docspec --version
193216
- name: checkout
194-
uses: actions/checkout@v4
217+
uses: actions/checkout@v5
195218
with:
196219
path: source
197220
- name: initial cabal.project for sdist
@@ -302,6 +325,26 @@ jobs:
302325
if [ $((! GHCJSARITH && HCNUMVER >= 90000 && HCNUMVER < 91200)) -ne 0 ] ; then echo "package template-haskell-optics" >> cabal.project ; fi
303326
if [ $((! GHCJSARITH && HCNUMVER >= 90000 && HCNUMVER < 91200)) -ne 0 ] ; then echo " ghc-options: -Werror=incomplete-patterns -Werror=incomplete-uni-patterns" >> cabal.project ; fi
304327
cat >> cabal.project <<EOF
328+
allow-newer: assoc-1.1.1:base
329+
allow-newer: bifunctors-5.6.2:template-haskell
330+
allow-newer: generics-sop-0.5.1.4:base
331+
allow-newer: generics-sop-0.5.1.4:template-haskell
332+
allow-newer: hashable-1.5.0.0:base
333+
allow-newer: hashable-1.5.0.0:containers
334+
allow-newer: hashable-1.5.0.0:ghc-bignum
335+
allow-newer: indexed-traversable-0.1.4:base
336+
allow-newer: indexed-traversable-0.1.4:containers
337+
allow-newer: indexed-traversable-instances-0.1.2:base
338+
allow-newer: inspection-testing-0.6.2:base
339+
allow-newer: inspection-testing-0.6.2:ghc
340+
allow-newer: OneTuple-0.4.2:base
341+
allow-newer: primitive-0.9.1.0:base
342+
allow-newer: sop-core-0.5.0.2:base
343+
allow-newer: splitmix-0.1.3.1:base
344+
allow-newer: tagged-0.8.9:template-haskell
345+
allow-newer: th-abstraction-0.7.1.0:template-haskell
346+
allow-newer: unordered-containers-0.2.20.1:base
347+
allow-newer: unordered-containers-0.2.20.1:template-haskell
305348
EOF
306349
$HCPKG list --simple-output --names-only | perl -ne 'for (split /\s+/) { print "constraints: any.$_ installed\n" unless /^(indexed-profunctors|metametapost|optics|optics-core|optics-extra|optics-sop|optics-th|optics-vl|template-haskell-optics)$/; }' >> cabal.project.local
307350
cat cabal.project

cabal.project

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,3 +15,25 @@ packages:
1515
metametapost/*.cabal
1616

1717
tests: true
18+
19+
-- temporarily for GHC-9.14
20+
allow-newer: assoc-1.1.1:base
21+
allow-newer: bifunctors-5.6.2:template-haskell
22+
allow-newer: generics-sop-0.5.1.4:base
23+
allow-newer: generics-sop-0.5.1.4:template-haskell
24+
allow-newer: hashable-1.5.0.0:base
25+
allow-newer: hashable-1.5.0.0:containers
26+
allow-newer: hashable-1.5.0.0:ghc-bignum
27+
allow-newer: indexed-traversable-0.1.4:base
28+
allow-newer: indexed-traversable-0.1.4:containers
29+
allow-newer: indexed-traversable-instances-0.1.2:base
30+
allow-newer: inspection-testing-0.6.2:base
31+
allow-newer: inspection-testing-0.6.2:ghc
32+
allow-newer: OneTuple-0.4.2:base
33+
allow-newer: primitive-0.9.1.0:base
34+
allow-newer: sop-core-0.5.0.2:base
35+
allow-newer: splitmix-0.1.3.1:base
36+
allow-newer: tagged-0.8.9:template-haskell
37+
allow-newer: th-abstraction-0.7.1.0:template-haskell
38+
allow-newer: unordered-containers-0.2.20.1:base
39+
allow-newer: unordered-containers-0.2.20.1:template-haskell

indexed-profunctors/indexed-profunctors.cabal

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ maintainer: optics@well-typed.com
88
author: Adam Gundry, Andres Löh, Andrzej Rybczak, Oleg Grenrus
99
tested-with: GHC ==8.2.2 || ==8.4.4 || ==8.6.5 || ==8.8.4 || ==8.10.7
1010
|| ==9.0.2 || ==9.2.8 || ==9.4.8 || ==9.6.7 || ==9.8.4
11-
|| ==9.10.2 || ==9.12.2,
11+
|| ==9.10.2 || ==9.12.2 || ==9.14.1,
1212
GHCJS ==8.4
1313
synopsis: Utilities for indexed profunctors
1414
category: Data, Optics, Lenses, Profunctors

metametapost/metametapost.cabal

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ license-file: LICENSE
66
build-type: Simple
77
tested-with: GHC ==8.2.2 || ==8.4.4 || ==8.6.5 || ==8.8.4 || ==8.10.7
88
|| ==9.0.2 || ==9.2.8 || ==9.4.8 || ==9.6.7 || ==9.8.4
9-
|| ==9.10.2 || ==9.12.2,
9+
|| ==9.10.2 || ==9.12.2 || ==9.14.1,
1010
GHCJS ==8.4
1111
maintainer: oleg@well-typed.com
1212
synopsis: Generate optics documentation diagrams

optics-core/optics-core.cabal

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ maintainer: optics@well-typed.com
88
author: Adam Gundry, Andres Löh, Andrzej Rybczak, Oleg Grenrus
99
tested-with: GHC ==8.2.2 || ==8.4.4 || ==8.6.5 || ==8.8.4 || ==8.10.7
1010
|| ==9.0.2 || ==9.2.8 || ==9.4.8 || ==9.6.7 || ==9.8.4
11-
|| ==9.10.2 || ==9.12.2,
11+
|| ==9.10.2 || ==9.12.2 || ==9.14.1,
1212
GHCJS ==8.4
1313
synopsis: Optics as an abstract interface: core definitions
1414
category: Data, Optics, Lenses
@@ -82,7 +82,7 @@ library
8282

8383
build-depends: base >= 4.10 && <5
8484
, array >= 0.5.2.0 && <0.6
85-
, containers >= 0.5.10.2 && <0.8
85+
, containers >= 0.5.10.2 && <0.9
8686
, indexed-profunctors >= 0.1 && <0.2
8787
, transformers >= 0.5 && <0.7
8888
, indexed-traversable >= 0.1 && <0.2

optics-extra/optics-extra.cabal

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ maintainer: optics@well-typed.com
88
author: Andrzej Rybczak
99
tested-with: GHC ==8.2.2 || ==8.4.4 || ==8.6.5 || ==8.8.4 || ==8.10.7
1010
|| ==9.0.2 || ==9.2.8 || ==9.4.8 || ==9.6.7 || ==9.8.4
11-
|| ==9.10.2 || ==9.12.2
11+
|| ==9.10.2 || ==9.12.2 || ==9.14.1
1212
GHCJS ==8.4
1313
synopsis: Extra utilities and instances for optics-core
1414
category: Data, Optics, Lenses
@@ -65,7 +65,7 @@ library
6565

6666
build-depends: base >= 4.10 && <5
6767
, bytestring >= 0.10.8 && <0.13
68-
, containers >= 0.5.10.2 && <0.8
68+
, containers >= 0.5.10.2 && <0.9
6969
, hashable >= 1.1.1 && <1.6
7070
, indexed-profunctors >= 0.1 && <0.2
7171
, mtl >= 2.2.2 && <2.4

optics-sop/optics-sop.cabal

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ maintainer: optics@well-typed.com
88
author: Adam Gundry, Andres Löh, Andrzej Rybczak
99
tested-with: GHC ==8.2.2 || ==8.4.4 || ==8.6.5 || ==8.8.4 || ==8.10.7
1010
|| ==9.0.2 || ==9.2.8 || ==9.4.8 || ==9.6.7 || ==9.8.4
11-
|| ==9.10.2 || ==9.12.2,
11+
|| ==9.10.2 || ==9.12.2 || ==9.14.1,
1212
GHCJS ==8.4
1313
synopsis: Optics for generics-sop, and using generics-sop
1414
category: Data, Optics, Lenses, Generics

optics-th/optics-th.cabal

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ maintainer: optics@well-typed.com
88
author: Andrzej Rybczak
99
tested-with: GHC ==8.2.2 || ==8.4.4 || ==8.6.5 || ==8.8.4 || ==8.10.7
1010
|| ==9.0.2 || ==9.2.8 || ==9.4.8 || ==9.6.7 || ==9.8.4
11-
|| ==9.10.2 || ==9.12.2,
11+
|| ==9.10.2 || ==9.12.2 || ==9.14.1,
1212
GHCJS ==8.4
1313
synopsis: Optics construction using TemplateHaskell
1414
category: Data, Optics, Lenses
@@ -63,10 +63,10 @@ library
6363
hs-source-dirs: src
6464

6565
build-depends: base >= 4.10 && <5
66-
, containers >= 0.5.10.2 && <0.8
66+
, containers >= 0.5.10.2 && <0.9
6767
, mtl >= 2.2.2 && <2.4
6868
, optics-core >= 0.4.1 && <0.5
69-
, template-haskell >= 2.12 && <2.24
69+
, template-haskell >= 2.12 && <2.25
7070
, th-abstraction >= 0.4 && <0.8
7171
, transformers >= 0.5 && <0.7
7272

optics-vl/optics-vl.cabal

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ maintainer: optics@well-typed.com
88
author: Andrzej Rybczak
99
tested-with: GHC ==8.2.2 || ==8.4.4 || ==8.6.5 || ==8.8.4 || ==8.10.7
1010
|| ==9.0.2 || ==9.2.8 || ==9.4.8 || ==9.6.7 || ==9.8.4
11-
|| ==9.10.2 || ==9.12.2
11+
|| ==9.10.2 || ==9.12.2 || ==9.14.1
1212
GHCJS ==8.4
1313
synopsis: Utilities for compatibility with van Laarhoven optics
1414
category: Data, Optics, Lenses

optics/optics.cabal

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ maintainer: optics@well-typed.com
88
author: Adam Gundry, Andres Löh, Andrzej Rybczak, Oleg Grenrus
99
tested-with: GHC ==8.2.2 || ==8.4.4 || ==8.6.5 || ==8.8.4 || ==8.10.7
1010
|| ==9.0.2 || ==9.2.8 || ==9.4.8 || ==9.6.7 || ==9.8.4
11-
|| ==9.10.2 || ==9.12.2,
11+
|| ==9.10.2 || ==9.12.2 || ==9.14.1,
1212
GHCJS ==8.4
1313
synopsis: Optics as an abstract interface
1414
category: Data, Optics, Lenses

0 commit comments

Comments
 (0)