Skip to content

Commit df860fc

Browse files
authored
Merge pull request #119 from phadej/ghc-9.12
Add GHC-9.12 support
2 parents ecfb567 + 22e5368 commit df860fc

File tree

11 files changed

+74
-56
lines changed

11 files changed

+74
-56
lines changed

.github/workflows/haskell-ci.yml

Lines changed: 30 additions & 23 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.20240708
11+
# version: 0.19.20250330
1212
#
13-
# REGENDATA ("0.19.20240708",["github","--config=cabal.haskell-ci","cabal.project"])
13+
# REGENDATA ("0.19.20250330",["github","--config=cabal.haskell-ci","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-20.04
26+
runs-on: ubuntu-24.04
2727
timeout-minutes:
2828
60
2929
container:
@@ -32,19 +32,24 @@ jobs:
3232
strategy:
3333
matrix:
3434
include:
35+
- compiler: ghc-9.12.2
36+
compilerKind: ghc
37+
compilerVersion: 9.12.2
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.30.0/x86_64-linux-ghcup-0.1.30.0 > "$HOME/.ghcup/bin/ghcup"
94+
curl -sL https://downloads.haskell.org/ghcup/0.1.50.1/x86_64-linux-ghcup-0.1.50.1 > "$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.14.1.1-p1 || (cat "$HOME"/.ghcup/logs/*.* && false)
99+
echo "CABAL=$HOME/.ghcup/bin/cabal-3.14.1.1-p1 -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.12.1.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.12.1.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 }}
@@ -246,9 +256,6 @@ jobs:
246256
echo "package tests" >> cabal.project
247257
echo " ghc-options: -Werror=missing-methods" >> cabal.project
248258
cat >> cabal.project <<EOF
249-
allow-newer: cassava-0.5.2.0:base
250-
allow-newer: vector-th-unbox-0.2.1.7:base
251-
allow-newer: vector-th-unbox-0.2.1.7:template-haskell
252259
EOF
253260
$HCPKG list --simple-output --names-only | perl -ne 'for (split /\s+/) { print "constraints: any.$_ installed\n" unless /^(bin|fin|ral|ral-lens|ral-optics|tests|vec|vec-lens|vec-optics)$/; }' >> cabal.project.local
254261
cat cabal.project
@@ -353,8 +360,8 @@ jobs:
353360
$CABAL v2-build $ARG_COMPILER --disable-tests --disable-benchmarks --constraint='vec -distributive' --dependencies-only -j2 all
354361
$CABAL v2-build $ARG_COMPILER --disable-tests --disable-benchmarks --constraint='vec -distributive' all
355362
- name: save cache
356-
uses: actions/cache/save@v4
357363
if: always()
364+
uses: actions/cache/save@v4
358365
with:
359366
key: ${{ runner.os }}-${{ matrix.compiler }}-${{ github.sha }}
360367
path: ~/.cabal/store

bin/bin.cabal

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
cabal-version: 2.2
22
name: bin
33
version: 0.1.4
4-
x-revision: 1
4+
x-revision: 2
55
synopsis: Bin: binary natural numbers.
66
category: Data, Dependent Types, Singletons, Math
77
description:
@@ -41,9 +41,10 @@ tested-with:
4141
|| ==9.0.2
4242
|| ==9.2.8
4343
|| ==9.4.8
44-
|| ==9.6.5
45-
|| ==9.8.2
44+
|| ==9.6.6
45+
|| ==9.8.4
4646
|| ==9.10.1
47+
|| ==9.12.2
4748

4849
source-repository head
4950
type: git
@@ -67,7 +68,7 @@ library
6768

6869
-- GHC boot libs
6970
build-depends:
70-
, base >=4.12.0.0 && <4.21
71+
, base >=4.12.0.0 && <4.22
7172
, deepseq >=1.4.4.0 && <1.6
7273

7374
-- siblings

cabal.project

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,3 @@ package vec
3232
-- constraints: ral -adjunctions
3333

3434
-- allow-newer: parallel-3.2.2.0:base
35-
allow-newer: cassava-0.5.2.0:base
36-
allow-newer: vector-th-unbox-0.2.1.7:base
37-
allow-newer: vector-th-unbox-0.2.1.7:template-haskell

fin/fin.cabal

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
cabal-version: 2.2
22
name: fin
33
version: 0.3.2
4+
x-revision: 1
45
synopsis: Nat and Fin: peano naturals and finite numbers
56
category: Data, Dependent Types, Singletons, Math
67
description:
@@ -62,9 +63,10 @@ tested-with:
6263
|| ==9.0.2
6364
|| ==9.2.8
6465
|| ==9.4.8
65-
|| ==9.6.5
66-
|| ==9.8.2
66+
|| ==9.6.6
67+
|| ==9.8.4
6768
|| ==9.10.1
69+
|| ==9.12.2
6870

6971
source-repository head
7072
type: git
@@ -87,7 +89,7 @@ library
8789

8890
-- GHC boot libs
8991
build-depends:
90-
, base >=4.12.0.0 && <4.21
92+
, base >=4.12.0.0 && <4.22
9193
, deepseq >=1.4.4.0 && <1.6
9294

9395
-- other dependencies

ral-lens/ral-lens.cabal

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
cabal-version: 2.2
22
name: ral-lens
33
version: 0.2.1
4+
x-revision: 1
45
synopsis: Length-indexed random access lists: lens utilities.
56
category: Data, Dependent Types, Singletons, Lens
67
description:
@@ -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.2
2931

3032
source-repository head
3133
type: git
@@ -45,7 +47,7 @@ library
4547
Data.RAVec.Tree.Lens
4648

4749
build-depends:
48-
, base >=4.12.0.0 && <4.21
50+
, base >=4.12.0.0 && <4.22
4951
, bin ^>=0.1.4
5052
, fin ^>=0.3.1
5153
, lens ^>=5.2.2 || ^>=5.3.2

ral-optics/ral-optics.cabal

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
cabal-version: 2.2
22
name: ral-optics
33
version: 0.2.1
4+
x-revision: 1
45
synopsis: Length-indexed random access lists: optics utilities.
56
category: Data, Dependent Types, Singletons, Optics
67
description:
@@ -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.2
2931

3032
source-repository head
3133
type: git
@@ -49,7 +51,7 @@ library
4951
Data.RAVec.NonEmpty.Optics.Internal
5052

5153
build-depends:
52-
, base >=4.12.0.0 && <4.21
54+
, base >=4.12.0.0 && <4.22
5355
, bin ^>=0.1.4
5456
, fin ^>=0.3.1
5557
, optics-core ^>=0.4.1.1

ral/ral.cabal

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
cabal-version: 2.2
22
name: ral
33
version: 0.2.2
4-
x-revision: 1
4+
x-revision: 2
55
synopsis: Random access lists
66
category: Data, Dependent Types, Singletons
77
description:
@@ -36,9 +36,10 @@ tested-with:
3636
|| ==9.0.2
3737
|| ==9.2.8
3838
|| ==9.4.8
39-
|| ==9.6.5
40-
|| ==9.8.2
39+
|| ==9.6.6
40+
|| ==9.8.4
4141
|| ==9.10.1
42+
|| ==9.12.2
4243

4344
source-repository head
4445
type: git
@@ -85,7 +86,7 @@ library
8586

8687
-- GHC boot libs
8788
build-depends:
88-
, base >=4.12.0.0 && <4.21
89+
, base >=4.12.0.0 && <4.22
8990
, deepseq >=1.4.4.0 && <1.6
9091

9192
-- siblings

tests/tests.cabal

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -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.2
2526

2627
source-repository head
2728
type: git

vec-lens/vec-lens.cabal

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
cabal-version: 2.2
22
name: vec-lens
33
version: 0.4.1
4+
x-revision: 1
45
synopsis: Vec: length-indexed (sized) list: lens support
56
category: Data, Dependent Types, Lens
67
description:
@@ -26,9 +27,10 @@ tested-with:
2627
|| ==9.0.2
2728
|| ==9.2.8
2829
|| ==9.4.8
29-
|| ==9.6.5
30-
|| ==9.8.2
30+
|| ==9.6.6
31+
|| ==9.8.4
3132
|| ==9.10.1
33+
|| ==9.12.2
3234

3335
source-repository head
3436
type: git
@@ -47,7 +49,7 @@ library
4749
Data.Vec.Pull.Lens
4850

4951
-- GHC boot libs
50-
build-depends: base >=4.12.0.0 && <4.21
52+
build-depends: base >=4.12.0.0 && <4.22
5153

5254
-- siblings
5355
build-depends:

vec-optics/vec-optics.cabal

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
cabal-version: 2.2
22
name: vec-optics
33
version: 0.4.1
4+
x-revision: 1
45
synopsis: Vec: length-indexed (sized) list: optics support
56
category: Data, Dependent Types, Optics
67
description:
@@ -26,9 +27,10 @@ tested-with:
2627
|| ==9.0.2
2728
|| ==9.2.8
2829
|| ==9.4.8
29-
|| ==9.6.5
30-
|| ==9.8.2
30+
|| ==9.6.6
31+
|| ==9.8.4
3132
|| ==9.10.1
33+
|| ==9.12.2
3234

3335
source-repository head
3436
type: git
@@ -47,7 +49,7 @@ library
4749
Data.Vec.Pull.Optics
4850

4951
-- GHC boot libs
50-
build-depends: base >=4.12.0.0 && <4.21
52+
build-depends: base >=4.12.0.0 && <4.22
5153

5254
-- siblings
5355
build-depends:

0 commit comments

Comments
 (0)