Skip to content

Commit ee8e70d

Browse files
committed
Test with GHC-9.14-alpha1
1 parent 0c03ab4 commit ee8e70d

File tree

3 files changed

+46
-19
lines changed

3 files changed

+46
-19
lines changed

.github/workflows/haskell-ci.yml

Lines changed: 39 additions & 14 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.20241219
11+
# version: 0.19.20250821
1212
#
13-
# REGENDATA ("0.19.20241219",["github","cabal.project"])
13+
# REGENDATA ("0.19.20250821",["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-20.04
26+
runs-on: ubuntu-24.04
2727
timeout-minutes:
2828
60
2929
container:
@@ -32,14 +32,19 @@ jobs:
3232
strategy:
3333
matrix:
3434
include:
35-
- compiler: ghc-9.12.1
35+
- compiler: ghc-9.14.0.20250819
3636
compilerKind: ghc
37-
compilerVersion: 9.12.1
37+
compilerVersion: 9.14.0.20250819
38+
setup-method: ghcup-prerelease
39+
allow-failure: false
40+
- compiler: ghc-9.12.2
41+
compilerKind: ghc
42+
compilerVersion: 9.12.2
3843
setup-method: ghcup
3944
allow-failure: false
40-
- compiler: ghc-9.10.1
45+
- compiler: ghc-9.10.2
4146
compilerKind: ghc
42-
compilerVersion: 9.10.1
47+
compilerVersion: 9.10.2
4348
setup-method: ghcup
4449
allow-failure: false
4550
- compiler: ghc-9.8.3
@@ -66,13 +71,12 @@ jobs:
6671
- name: Install GHCup
6772
run: |
6873
mkdir -p "$HOME/.ghcup/bin"
69-
curl -sL https://downloads.haskell.org/ghcup/0.1.30.0/x86_64-linux-ghcup-0.1.30.0 > "$HOME/.ghcup/bin/ghcup"
74+
curl -sL https://downloads.haskell.org/ghcup/0.1.50.1/x86_64-linux-ghcup-0.1.50.1 > "$HOME/.ghcup/bin/ghcup"
7075
chmod a+x "$HOME/.ghcup/bin/ghcup"
71-
- name: Install cabal-install (prerelease)
76+
- name: Install cabal-install
7277
run: |
73-
"$HOME/.ghcup/bin/ghcup" config add-release-channel https://raw.githubusercontent.com/haskell/ghcup-metadata/master/ghcup-prereleases-0.0.8.yaml;
74-
"$HOME/.ghcup/bin/ghcup" install cabal 3.15.0.0.2024.10.3 || (cat "$HOME"/.ghcup/logs/*.* && false)
75-
echo "CABAL=$HOME/.ghcup/bin/cabal-3.15.0.0.2024.10.3 -vnormal+nowrap" >> "$GITHUB_ENV"
78+
"$HOME/.ghcup/bin/ghcup" install cabal 3.16.0.0 || (cat "$HOME"/.ghcup/logs/*.* && false)
79+
echo "CABAL=$HOME/.ghcup/bin/cabal-3.16.0.0 -vnormal+nowrap" >> "$GITHUB_ENV"
7680
- name: Install GHC (GHCup)
7781
if: matrix.setup-method == 'ghcup'
7882
run: |
@@ -101,6 +105,21 @@ jobs:
101105
HCKIND: ${{ matrix.compilerKind }}
102106
HCNAME: ${{ matrix.compiler }}
103107
HCVER: ${{ matrix.compilerVersion }}
108+
- name: Install GHC (GHCup prerelease)
109+
if: matrix.setup-method == 'ghcup-prerelease'
110+
run: |
111+
"$HOME/.ghcup/bin/ghcup" config add-release-channel prereleases
112+
"$HOME/.ghcup/bin/ghcup" install ghc "$HCVER" || (cat "$HOME"/.ghcup/logs/*.* && false)
113+
HC=$("$HOME/.ghcup/bin/ghcup" whereis ghc "$HCVER")
114+
HCPKG=$(echo "$HC" | sed 's#ghc$#ghc-pkg#')
115+
HADDOCK=$(echo "$HC" | sed 's#ghc$#haddock#')
116+
echo "HC=$HC" >> "$GITHUB_ENV"
117+
echo "HCPKG=$HCPKG" >> "$GITHUB_ENV"
118+
echo "HADDOCK=$HADDOCK" >> "$GITHUB_ENV"
119+
env:
120+
HCKIND: ${{ matrix.compilerKind }}
121+
HCNAME: ${{ matrix.compiler }}
122+
HCVER: ${{ matrix.compilerVersion }}
104123
- name: Set PATH and environment variables
105124
run: |
106125
echo "$HOME/.cabal/bin" >> $GITHUB_PATH
@@ -187,9 +206,15 @@ jobs:
187206
touch cabal.project.local
188207
echo "packages: ${PKGDIR_hashable}" >> cabal.project
189208
echo "package hashable" >> cabal.project
190-
echo " ghc-options: -Werror=missing-methods" >> cabal.project
209+
echo " ghc-options: -Werror=missing-methods -Werror=missing-fields" >> cabal.project
210+
echo "package hashable" >> cabal.project
211+
echo " ghc-options: -Werror=unused-packages" >> cabal.project
212+
echo "package hashable" >> cabal.project
213+
echo " ghc-options: -Werror=incomplete-patterns -Werror=incomplete-uni-patterns" >> cabal.project
191214
cat >> cabal.project <<EOF
192-
allow-newer: splitmix-0.1.0.5:base
215+
allow-newer: splitmix-0.1.3.1:base
216+
allow-newer: primitive-0.9.1.0:base
217+
allow-newer: tagged-0.8.9:template-haskell
193218
EOF
194219
$HCPKG list --simple-output --names-only | perl -ne 'for (split /\s+/) { print "constraints: any.$_ installed\n" unless /^(hashable)$/; }' >> cabal.project.local
195220
cat cabal.project

cabal.project

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,9 @@
11
packages: .
22
tests: True
33

4-
allow-newer: splitmix-0.1.0.5:base
4+
allow-newer: splitmix-0.1.3.1:base
5+
allow-newer: primitive-0.9.1.0:base
6+
allow-newer: tagged-0.8.9:template-haskell
57

68
--
79
-- allow-newer: base

hashable.cabal

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ stability: Provisional
3232
category: Data
3333
build-type: Simple
3434
tested-with:
35-
GHC ==9.6.5 || ==9.8.2 || ==9.8.3 || ==9.10.1 || ==9.12.1
35+
GHC ==9.6.5 || ==9.8.2 || ==9.8.3 || ==9.10.2 || ==9.12.2 || ==9.14.1
3636

3737
extra-source-files:
3838
CHANGES.md
@@ -83,7 +83,7 @@ library
8383

8484
hs-source-dirs: src
8585
build-depends:
86-
, base >=4.18.0.0 && <4.22
86+
, base >=4.18.0.0 && <4.23
8787
, bytestring >=0.11.5.3 && <0.13
8888
, containers >=0.6.7 && <0.8
8989
, deepseq >=1.4.8.1 && <1.6
@@ -100,7 +100,7 @@ library
100100
build-depends: filepath >=1.4.200.1 && <1.6
101101

102102
-- Integer internals
103-
build-depends: ghc-bignum >=1.3 && <1.4
103+
build-depends: ghc-bignum >=1.3 && <1.5
104104

105105
if (flag(random-initial-seed) && impl(ghc))
106106
cpp-options: -DHASHABLE_RANDOM_SEED=1
@@ -156,7 +156,7 @@ test-suite hashable-tests
156156
, hashable
157157
, HUnit
158158
, QuickCheck >=2.15
159-
, random >=1.0 && <1.3
159+
, random >=1.3 && <1.4
160160
, tasty ^>=1.5
161161
, tasty-hunit ^>=0.10.1
162162
, tasty-quickcheck ^>=0.10.3 || ^>=0.11

0 commit comments

Comments
 (0)