Skip to content

Commit d5153e1

Browse files
authored
Merge pull request #22 from lehins/update-ghc-and-fix-ci
Update GHC versions on CI
2 parents 5be56d1 + af8b6f8 commit d5153e1

9 files changed

Lines changed: 40 additions & 34 deletions

File tree

Lines changed: 19 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -35,8 +35,9 @@ jobs:
3535
- { os: Ubuntu-latest, resolver: lts-19, ghc: "9.0.2" }
3636
- { os: Ubuntu-latest, resolver: lts-20, ghc: "9.2.8" }
3737
- { os: Ubuntu-latest, resolver: lts-21, ghc: "9.4.8" }
38-
- { os: Ubuntu-latest, resolver: lts-22, ghc: "9.6.6" }
38+
- { os: Ubuntu-latest, resolver: lts-22, ghc: "9.6.7" }
3939
- { os: Ubuntu-latest, resolver: lts-23, ghc: "9.8.4" }
40+
- { os: Ubuntu-latest, resolver: lts-24, ghc: "9.10.3" }
4041
- { os: Ubuntu-latest, resolver: nightly }
4142
- { os: Windows-latest, resolver: lts-12, ghc: "8.4.4" }
4243
- { os: Windows-latest, resolver: lts-14, ghc: "8.6.5" }
@@ -45,8 +46,9 @@ jobs:
4546
- { os: Windows-latest, resolver: lts-19, ghc: "9.0.2" }
4647
- { os: Windows-latest, resolver: lts-20, ghc: "9.2.8" }
4748
- { os: Windows-latest, resolver: lts-21, ghc: "9.4.8" }
48-
- { os: Windows-latest, resolver: lts-22, ghc: "9.6.6" }
49+
- { os: Windows-latest, resolver: lts-22, ghc: "9.6.7" }
4950
- { os: Windows-latest, resolver: lts-23, ghc: "9.8.4" }
51+
- { os: Windows-latest, resolver: lts-24, ghc: "9.10.3" }
5052
- { os: Windows-latest, resolver: nightly }
5153
- { os: MacOS-13, resolver: lts-12, ghc: "8.4.4" }
5254
- { os: MacOS-13, resolver: lts-14, ghc: "8.6.5" }
@@ -55,8 +57,9 @@ jobs:
5557
- { os: MacOS-13, resolver: lts-19, ghc: "9.0.2" }
5658
- { os: MacOS-latest, resolver: lts-20, ghc: "9.2.8" }
5759
- { os: MacOS-latest, resolver: lts-21, ghc: "9.4.8" }
58-
- { os: MacOS-latest, resolver: lts-22, ghc: "9.6.6" }
60+
- { os: MacOS-latest, resolver: lts-22, ghc: "9.6.7" }
5961
- { os: MacOS-latest, resolver: lts-23, ghc: "9.8.4" }
62+
- { os: MacOS-latest, resolver: lts-24, ghc: "9.10.3" }
6063
- { os: MacOS-latest, resolver: nightly }
6164

6265
env:
@@ -131,24 +134,24 @@ jobs:
131134
- { cabal: "3.14", os: Ubuntu-latest, ghc: "9.0.2" }
132135
- { cabal: "3.14", os: Ubuntu-latest, ghc: "9.2.8" }
133136
- { cabal: "3.14", os: Ubuntu-latest, ghc: "9.4.8" }
134-
- { cabal: "3.14", os: Ubuntu-latest, ghc: "9.6.6" }
137+
- { cabal: "3.14", os: Ubuntu-latest, ghc: "9.6.7" }
135138
- { cabal: "3.14", os: Ubuntu-latest, ghc: "9.8.2" }
136-
- { cabal: "3.14", os: Ubuntu-latest, ghc: "9.10.1" }
137-
- { cabal: "3.14", os: Ubuntu-latest, ghc: "9.12.1" }
139+
- { cabal: "3.14", os: Ubuntu-latest, ghc: "9.10.3" }
140+
- { cabal: "3.14", os: Ubuntu-latest, ghc: "9.12.2" }
138141
- { cabal: "3.14", os: Windows-latest, ghc: "9.0.2" }
139142
- { cabal: "3.14", os: Windows-latest, ghc: "9.2.8" }
140143
- { cabal: "3.14", os: Windows-latest, ghc: "9.4.8" }
141-
- { cabal: "3.14", os: Windows-latest, ghc: "9.6.6" }
144+
- { cabal: "3.14", os: Windows-latest, ghc: "9.6.7" }
142145
- { cabal: "3.14", os: Windows-latest, ghc: "9.8.2" }
143-
- { cabal: "3.14", os: Windows-latest, ghc: "9.10.1" }
144-
- { cabal: "3.14", os: Windows-latest, ghc: "9.12.1" }
146+
- { cabal: "3.14", os: Windows-latest, ghc: "9.10.3" }
147+
- { cabal: "3.14", os: Windows-latest, ghc: "9.12.2" }
145148
- { cabal: "3.14", os: MacOS-13, ghc: "9.0.2" }
146149
- { cabal: "3.14", os: MacOS-latest, ghc: "9.2.8" }
147150
- { cabal: "3.14", os: MacOS-latest, ghc: "9.4.8" }
148-
- { cabal: "3.14", os: MacOS-latest, ghc: "9.6.6" }
151+
- { cabal: "3.14", os: MacOS-latest, ghc: "9.6.7" }
149152
- { cabal: "3.14", os: MacOS-latest, ghc: "9.8.2" }
150-
- { cabal: "3.14", os: MacOS-latest, ghc: "9.10.1" }
151-
- { cabal: "3.14", os: MacOS-latest, ghc: "9.12.1" }
153+
- { cabal: "3.14", os: MacOS-latest, ghc: "9.10.3" }
154+
- { cabal: "3.14", os: MacOS-latest, ghc: "9.12.2" }
152155

153156
env:
154157
cache-version: v0 # bump up this version to invalidate currently stored cache
@@ -176,12 +179,10 @@ jobs:
176179
- name: Configure
177180
run: |
178181
set -ex
179-
# Remove this conditional when criterion and its deps are compatible with ghc-9.12
180-
if [[ "${{ matrix.ghc }}" == "9.12.1" ]]; then
181-
cabal configure --haddock-all --enable-tests
182-
else
183-
cabal configure --haddock-all --enable-tests --enable-benchmarks
184-
fi
182+
- name: Configure
183+
run: |
184+
set -ex
185+
cabal configure --haddock-all --enable-tests --enable-benchmarks
185186
186187
- name: Build dependencies
187188
id: build-dependencies

Color/Color.cabal

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,10 +22,10 @@ tested-with: GHC == 8.4.4
2222
, GHC == 9.0.2
2323
, GHC == 9.2.8
2424
, GHC == 9.4.8
25-
, GHC == 9.6.6
25+
, GHC == 9.6.7
2626
, GHC == 9.8.4
27-
, GHC == 9.10.1
28-
, GHC == 9.12.1
27+
, GHC == 9.10.3
28+
, GHC == 9.12.2
2929

3030
library
3131
hs-source-dirs: src

Color/tests/Graphics/Color/Model/Common.hs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -205,7 +205,7 @@ epsilonEqColorTol epsilon x y = property $ epsilonColorExpect epsilon x y
205205

206206
-- | Same as `epsilonEqColorTol` but with indexed counterexample.
207207
epsilonEqColorTolIx ::
208-
(ColorModel cs e, RealFloat e) => e -> Int -> Color cs e -> Color cs e -> Property
208+
(ColorModel cs e, RealFloat e, HasCallStack) => e -> Int -> Color cs e -> Color cs e -> Property
209209
epsilonEqColorTolIx tol ix expected actual =
210210
counterexample ("Index: " ++ show ix) $ epsilonEqColorTol tol expected actual
211211

Color/tests/Graphics/Color/Space/Common.hs

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -31,34 +31,34 @@ instance (Elevator e, Random e) => Arbitrary (Color (XYZ i) e) where
3131

3232

3333
prop_toFromColorXYZ ::
34-
forall cs e i. (ColorSpace cs i e, RealFloat e)
34+
forall cs e i. (ColorSpace cs i e, RealFloat e, HasCallStack)
3535
=> Color cs e
3636
-> Property
3737
prop_toFromColorXYZ c = c `epsilonEqColor` fromColorXYZ (toColorXYZ c :: Color (XYZ i) Double)
3838

3939

4040
-- For RGB standards, that have matrices rounded to 4 digits after the decimal point
4141
prop_toFromLenientColorXYZ ::
42-
forall cs e i. (ColorSpace cs i e, RealFloat e)
42+
forall cs e i. (ColorSpace cs i e, RealFloat e, HasCallStack)
4343
=> e
4444
-> Color cs e
4545
-> Property
4646
prop_toFromLenientColorXYZ epsilon c =
4747
epsilonEqColorTol epsilon c (fromColorXYZ (toColorXYZ c :: Color (XYZ i) Double))
4848

49-
prop_LuminanceColorXYZ :: forall cs e i . ColorSpace cs i e => Color cs e -> Property
49+
prop_LuminanceColorXYZ :: forall cs e i . (ColorSpace cs i e, HasCallStack) => Color cs e -> Property
5050
prop_LuminanceColorXYZ c =
5151
(luminance c :: Color (Y i) Float) `epsilonEqColor`
5252
luminance (toColorXYZ c :: Color (XYZ i) Float)
5353

5454
prop_toFromBaseSpace ::
55-
forall cs e i. (ColorSpace cs i e, ColorSpace (BaseSpace cs) i e, RealFloat e)
55+
forall cs e i. (ColorSpace cs i e, ColorSpace (BaseSpace cs) i e, RealFloat e, HasCallStack)
5656
=> Color cs e
5757
-> Property
5858
prop_toFromBaseSpace c = c `epsilonEqColor` fromBaseSpace (toBaseSpace c)
5959

6060
prop_toFromBaseSpaceLenient ::
61-
forall cs e i. (ColorSpace cs i e, ColorSpace (BaseSpace cs) i e, RealFloat e)
61+
forall cs e i. (ColorSpace cs i e, ColorSpace (BaseSpace cs) i e, RealFloat e, HasCallStack)
6262
=> e
6363
-> Color cs e
6464
-> Property
@@ -72,22 +72,22 @@ prop_toFromBaseModel ::
7272
prop_toFromBaseModel c = c === fromBaseModel (toBaseModel c)
7373

7474
prop_toApplyGrayscale ::
75-
forall cs e i. (ColorSpace cs i e, RealFloat e)
75+
forall cs e i. (ColorSpace cs i e, RealFloat e, HasCallStack)
7676
=> e
7777
-> Color cs e
7878
-> Property
7979
prop_toApplyGrayscale epsilon c = epsilonEqColorTol epsilon c $ applyGrayscale c id
8080

8181
prop_toReplaceGrayscale ::
82-
forall cs e i. (ColorSpace cs i e, RealFloat e)
82+
forall cs e i. (ColorSpace cs i e, RealFloat e, HasCallStack)
8383
=> e
8484
-> Color cs e
8585
-> Property
8686
prop_toReplaceGrayscale epsilon c =
8787
epsilonEqColorTol epsilon c (replaceGrayscale c (grayscale c))
8888

8989
prop_toApplyGrayscaleAsReplace ::
90-
forall cs e i. (ColorSpace cs i e, RealFloat e)
90+
forall cs e i. (ColorSpace cs i e, RealFloat e, HasCallStack)
9191
=> e
9292
-> Color cs e
9393
-> Fun (Color X e) (Color X e)
@@ -100,7 +100,7 @@ prop_toApplyGrayscaleAsReplace epsilon c f =
100100

101101

102102
prop_toReplaceGrayscaleAsApply ::
103-
forall cs e i. (ColorSpace cs i e, RealFloat e)
103+
forall cs e i. (ColorSpace cs i e, RealFloat e, HasCallStack)
104104
=> e
105105
-> Color cs e
106106
-> Color X e

Color/tests/Graphics/Color/Space/OKLAB/LAB/LCHSpec.hs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ spec :: Spec
1717
spec =
1818
describe "OKLCH" $ do
1919
colorModelSpec @OKLCH @Word "LCH-OKLAB"
20-
colorSpaceSpec @OKLCH @Double
20+
colorSpaceLenientSpec @OKLCH @Double 1e-9
2121
prop "lab2lch . lch2lab" $ \(lab :: Color OKLAB Double) ->
2222
lab `epsilonEqColor` lch2lab (lab2lch lab)
2323
prop "lch2lab . lab2lch" $ \(lch :: Color OKLCH Double) ->

Color/tests/Graphics/Color/Space/OKLAB/LABSpec.hs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,4 +15,4 @@ instance (Elevator e, Random e) => Arbitrary (Color OKLAB e) where
1515
spec :: Spec
1616
spec = describe "OKLAB" $ do
1717
colorModelSpec @OKLAB @Word "OKLAB"
18-
colorSpaceLenientSpec @OKLAB @Double 1e-10
18+
colorSpaceLenientSpec @OKLAB @Double 1e-9

stack/ghc-9.10.3.yaml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
resolver: lts-24.16
2+
system-ghc: true
3+
packages:
4+
- ../Color
5+
extra-deps: []

stack/ghc-9.8.4.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
resolver: lts-23.00
1+
resolver: lts-23.28
22
system-ghc: true
33
packages:
44
- ../Color

0 commit comments

Comments
 (0)