Skip to content

Commit 7bee22e

Browse files
authored
Support GHC up to 9.6 and add CI for them all (#457)
* Minor changes for 9.6: imports and TypeOperators Bump up some bounds on base which should make this a safe change on older ghc versions. * Use Language.Haskell.Syntax.Module.Name on 9.6 * Backward compatibility break: quote `forall` GHC started warning about using `forall` as an identifier. We might as well quote it now and document in the release notes. * Relax version bounds for 9.6 * Rework the CI Reduce the matrix to versions to 9.{0,2,4,6} * Temporarily use ghc-source-gen from hackage until it's in stackage
1 parent ba85e9d commit 7bee22e

File tree

32 files changed

+143
-85
lines changed

32 files changed

+143
-85
lines changed

.github/workflows/cabal-ci.yml

+2-2
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,8 @@ jobs:
1212
submodules: true
1313
- uses: haskell/actions/setup@v2
1414
with:
15-
ghc-version: '9.6.1'
16-
cabal-version: '3.8.1.0'
15+
ghc-version: '9.6.3'
16+
cabal-version: '3.10.2.0'
1717
- run: cabal build --dependencies-only --project-file ghc96.cabal.project all
1818
- run: cabal build --project-file ghc96.cabal.project all
1919
- run: cabal test --project-file ghc96.cabal.project all

discrimination-ieee754/discrimination-ieee754.cabal

+4-4
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
cabal-version: 1.12
22

3-
-- This file has been generated from package.yaml by hpack version 0.34.4.
3+
-- This file has been generated from package.yaml by hpack version 0.36.0.
44
--
55
-- see: https://github.com/sol/hpack
66

77
name: discrimination-ieee754
8-
version: 0.1.0.1
8+
version: 0.1.0.2
99
synopsis: Discrimination of floating-point numbers via their IEEE754 representation.
1010
description: Support for sorting/grouping by floating-point numbers. Uses the technique described by http://stereopsis.com/radix.html.
1111
category: Data
@@ -31,7 +31,7 @@ library
3131
hs-source-dirs:
3232
src
3333
build-depends:
34-
base >=4.10 && <4.17
34+
base >=4.10 && <4.19
3535
, contravariant >=1.3 && <1.6
3636
, data-binary-ieee754 ==0.4.*
3737
, discrimination >=0.3 && <0.6
@@ -46,7 +46,7 @@ test-suite test
4646
test
4747
build-depends:
4848
QuickCheck
49-
, base >=4.10 && <4.17
49+
, base >=4.10 && <4.19
5050
, contravariant >=1.3 && <1.6
5151
, data-binary-ieee754 ==0.4.*
5252
, discrimination >=0.3 && <0.6

discrimination-ieee754/package.yaml

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
name: discrimination-ieee754
2-
version: '0.1.0.1'
2+
version: '0.1.0.2'
33
synopsis: Discrimination of floating-point numbers via their IEEE754 representation.
44
description: >
55
Support for sorting/grouping by floating-point numbers.
@@ -12,7 +12,7 @@ license: BSD3
1212
github: google/proto-lens/discrimination-ieee754
1313

1414
dependencies:
15-
- base >= 4.10 && < 4.17
15+
- base >= 4.10 && < 4.19
1616
- data-binary-ieee754 >= 0.4 && < 0.5
1717
- contravariant >= 1.3 && < 1.6
1818
- discrimination >= 0.3 && < 0.6

matrix.yaml

+12-3
Original file line numberDiff line numberDiff line change
@@ -17,10 +17,19 @@ build:
1717
compiler: ghc-8.10.7
1818
stackyaml: stack-8.10.yaml
1919

20-
- resolver: lts-19.20
20+
- resolver: lts-19.33
2121
compiler: ghc-9.0.2
2222
stackyaml: stack.yaml
2323

24-
- resolver: lts-20.15
25-
compiler: ghc-9.2.7
24+
- resolver: lts-20.26
25+
compiler: ghc-9.2.8
2626
stackyaml: stack.yaml
27+
28+
- resolver: lts-21.25
29+
compiler: ghc-9.4.8
30+
stackyaml: stack.yaml
31+
32+
- resolver: lts-22.1
33+
compiler: ghc-9.6.3
34+
stackyaml: stack.yaml
35+

proto-lens-arbitrary/package.yaml

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
name: proto-lens-arbitrary
2-
version: "0.1.2.11"
2+
version: "0.1.2.12"
33
synopsis: Arbitrary instances for proto-lens.
44
description: >
55
The proto-lens-arbitrary allows generating arbitrary messages for
@@ -15,10 +15,10 @@ extra-source-files:
1515

1616
dependencies:
1717
- proto-lens >= 0.4 && < 0.8
18-
- base >= 4.10 && < 4.17
18+
- base >= 4.10 && < 4.19
1919
- bytestring >= 0.10 && < 0.12
2020
- containers >= 0.5 && < 0.7
21-
- text >= 1.2 && < 2.1
21+
- text >= 1.2 && < 2.2
2222
- lens-family >= 1.2 && < 2.2
2323
- QuickCheck >= 2.8 && < 2.15
2424

proto-lens-arbitrary/proto-lens-arbitrary.cabal

+4-4
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
cabal-version: 1.12
22

3-
-- This file has been generated from package.yaml by hpack version 0.34.4.
3+
-- This file has been generated from package.yaml by hpack version 0.36.0.
44
--
55
-- see: https://github.com/sol/hpack
66

77
name: proto-lens-arbitrary
8-
version: 0.1.2.11
8+
version: 0.1.2.12
99
synopsis: Arbitrary instances for proto-lens.
1010
description: The proto-lens-arbitrary allows generating arbitrary messages for use with QuickCheck.
1111
category: Data
@@ -34,10 +34,10 @@ library
3434
src
3535
build-depends:
3636
QuickCheck >=2.8 && <2.15
37-
, base >=4.10 && <4.17
37+
, base >=4.10 && <4.19
3838
, bytestring >=0.10 && <0.12
3939
, containers >=0.5 && <0.7
4040
, lens-family >=1.2 && <2.2
4141
, proto-lens >=0.4 && <0.8
42-
, text >=1.2 && <2.1
42+
, text >=1.2 && <2.2
4343
default-language: Haskell2010

proto-lens-benchmarks/proto-lens-benchmarks.cabal

+3-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
cabal-version: 2.0
22

3-
-- This file has been generated from package.yaml by hpack version 0.34.4.
3+
-- This file has been generated from package.yaml by hpack version 0.36.0.
44
--
55
-- see: https://github.com/sol/hpack
66

@@ -32,6 +32,8 @@ library
3232
Data.ProtoLens.BenchmarkUtil
3333
other-modules:
3434
Paths_proto_lens_benchmarks
35+
autogen-modules:
36+
Paths_proto_lens_benchmarks
3537
hs-source-dirs:
3638
src
3739
ghc-options: -O2 -rtsopts

proto-lens-discrimination/package.yaml

+4-4
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
name: proto-lens-discrimination
2-
version: '0.1.1.2'
2+
version: '0.1.1.3'
33
synopsis: Support for using proto-lens types with http://hackage.haskell.org/package/discrimination.
44
description: >
55
Reflection-based implementations of Sort for proto-lens'
@@ -15,22 +15,22 @@ extra-source-files:
1515

1616
custom-setup:
1717
dependencies:
18-
- base >= 4.10 && < 4.17
18+
- base >= 4.10 && < 4.19
1919
- Cabal
2020
- proto-lens-setup >= 0.4 && < 0.5
2121

2222
build-tools: proto-lens-protoc:proto-lens-protoc
2323

2424
dependencies:
25-
- base >= 4.11 && < 4.17
25+
- base >= 4.11 && < 4.19
2626
- bytestring >= 0.10 && < 0.12
2727
- contravariant >= 1.3 && < 1.6
2828
- containers >= 0.5 && < 0.7
2929
- discrimination >= 0.3 && < 0.6
3030
- discrimination-ieee754 == 0.1.*
3131
- lens-family >= 1.2 && < 2.2
3232
- proto-lens >= 0.6 && < 0.8
33-
- text >= 1.2 && < 2.1
33+
- text >= 1.2 && < 2.2
3434

3535
library:
3636
source-dirs: src

proto-lens-discrimination/proto-lens-discrimination.cabal

+10-7
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
cabal-version: 2.0
22

3-
-- This file has been generated from package.yaml by hpack version 0.34.4.
3+
-- This file has been generated from package.yaml by hpack version 0.36.0.
44
--
55
-- see: https://github.com/sol/hpack
66

77
name: proto-lens-discrimination
8-
version: 0.1.1.2
8+
version: 0.1.1.3
99
synopsis: Support for using proto-lens types with http://hackage.haskell.org/package/discrimination.
1010
description: Reflection-based implementations of Sort for proto-lens' generated types.
1111
category: Data
@@ -29,7 +29,7 @@ source-repository head
2929
custom-setup
3030
setup-depends:
3131
Cabal
32-
, base >=4.10 && <4.17
32+
, base >=4.10 && <4.19
3333
, proto-lens-setup ==0.4.*
3434

3535
library
@@ -39,20 +39,22 @@ library
3939
Data.ProtoLens.Discrimination
4040
other-modules:
4141
Paths_proto_lens_discrimination
42+
autogen-modules:
43+
Paths_proto_lens_discrimination
4244
hs-source-dirs:
4345
src
4446
build-tool-depends:
4547
proto-lens-protoc:proto-lens-protoc
4648
build-depends:
47-
base >=4.11 && <4.17
49+
base >=4.11 && <4.19
4850
, bytestring >=0.10 && <0.12
4951
, containers >=0.5 && <0.7
5052
, contravariant >=1.3 && <1.6
5153
, discrimination >=0.3 && <0.6
5254
, discrimination-ieee754 ==0.1.*
5355
, lens-family >=1.2 && <2.2
5456
, proto-lens >=0.6 && <0.8
55-
, text >=1.2 && <2.1
57+
, text >=1.2 && <2.2
5658
default-language: Haskell2010
5759

5860
test-suite discrimination_test
@@ -65,6 +67,7 @@ test-suite discrimination_test
6567
Proto.Map
6668
Proto.Map_Fields
6769
autogen-modules:
70+
Paths_proto_lens_discrimination
6871
Proto.Enum
6972
Proto.Enum_Fields
7073
Proto.Map
@@ -76,7 +79,7 @@ test-suite discrimination_test
7679
build-depends:
7780
HUnit >=1.3 && <1.7
7881
, QuickCheck >=2.8 && <2.15
79-
, base >=4.11 && <4.17
82+
, base >=4.11 && <4.19
8083
, bytestring >=0.10 && <0.12
8184
, containers >=0.5 && <0.7
8285
, contravariant >=1.3 && <1.6
@@ -90,5 +93,5 @@ test-suite discrimination_test
9093
, test-framework ==0.8.*
9194
, test-framework-hunit ==0.3.*
9295
, test-framework-quickcheck2 ==0.3.*
93-
, text >=1.2 && <2.1
96+
, text >=1.2 && <2.2
9497
default-language: Haskell2010

proto-lens-optparse/package.yaml

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
name: proto-lens-optparse
2-
version: '0.1.1.10'
2+
version: '0.1.1.11'
33
synopsis: Adapting proto-lens to optparse-applicative ReadMs.
44
description: >
55
A package adapting proto-lens to optparse-applicative ReadMs.
@@ -17,8 +17,8 @@ extra-source-files:
1717
dependencies:
1818
- proto-lens >= 0.1 && < 0.8
1919
- base >= 4.10 && < 4.19
20-
- optparse-applicative >= 0.13 && < 0.18
21-
- text >= 1.2 && < 2.1
20+
- optparse-applicative >= 0.13 && < 0.19
21+
- text >= 1.2 && < 2.2
2222

2323
library:
2424
source-dirs: src

proto-lens-optparse/proto-lens-optparse.cabal

+4-4
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
cabal-version: 1.12
22

3-
-- This file has been generated from package.yaml by hpack version 0.35.2.
3+
-- This file has been generated from package.yaml by hpack version 0.36.0.
44
--
55
-- see: https://github.com/sol/hpack
66

77
name: proto-lens-optparse
8-
version: 0.1.1.10
8+
version: 0.1.1.11
99
synopsis: Adapting proto-lens to optparse-applicative ReadMs.
1010
description: A package adapting proto-lens to optparse-applicative ReadMs. This gives an easy way to define options and arguments for text-format protobuf types.
1111
category: Data
@@ -34,7 +34,7 @@ library
3434
src
3535
build-depends:
3636
base >=4.10 && <4.19
37-
, optparse-applicative >=0.13 && <0.18
37+
, optparse-applicative >=0.13 && <0.19
3838
, proto-lens >=0.1 && <0.8
39-
, text >=1.2 && <2.1
39+
, text >=1.2 && <2.2
4040
default-language: Haskell2010

proto-lens-protobuf-types/package.yaml

+4-4
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
name: proto-lens-protobuf-types
2-
version: '0.7.1.2'
2+
version: '0.7.1.3'
33
synopsis: Basic protocol buffer message types.
44
description: >
55
This package provides bindings standard protocol message types,
@@ -23,18 +23,18 @@ extra-source-files:
2323

2424
custom-setup:
2525
dependencies:
26-
- base >= 4.10 && < 4.17
26+
- base >= 4.10 && < 4.19
2727
- Cabal
2828
- proto-lens-setup == 0.4.*
2929

3030
build-tools: proto-lens-protoc:proto-lens-protoc
3131

3232
dependencies:
33-
- base >= 4.10 && < 4.17
33+
- base >= 4.10 && < 4.19
3434
- lens-family >= 1.2 && < 2.2
3535
- proto-lens == 0.7.*
3636
- proto-lens-runtime == 0.7.*
37-
- text >= 1.2 && < 2.1
37+
- text >= 1.2 && < 2.2
3838

3939
library:
4040
source-dirs: src

proto-lens-protobuf-types/proto-lens-protobuf-types.cabal

+5-5
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
cabal-version: 2.0
22

3-
-- This file has been generated from package.yaml by hpack version 0.35.0.
3+
-- This file has been generated from package.yaml by hpack version 0.36.0.
44
--
55
-- see: https://github.com/sol/hpack
66

77
name: proto-lens-protobuf-types
8-
version: 0.7.1.2
8+
version: 0.7.1.3
99
synopsis: Basic protocol buffer message types.
1010
description: This package provides bindings standard protocol message types, for use with the proto-lens library.
1111
category: Data
@@ -36,7 +36,7 @@ source-repository head
3636
custom-setup
3737
setup-depends:
3838
Cabal
39-
, base >=4.10 && <4.17
39+
, base >=4.10 && <4.19
4040
, proto-lens-setup ==0.4.*
4141

4242
library
@@ -81,9 +81,9 @@ library
8181
build-tool-depends:
8282
proto-lens-protoc:proto-lens-protoc
8383
build-depends:
84-
base >=4.10 && <4.17
84+
base >=4.10 && <4.19
8585
, lens-family >=1.2 && <2.2
8686
, proto-lens ==0.7.*
8787
, proto-lens-runtime ==0.7.*
88-
, text >=1.2 && <2.1
88+
, text >=1.2 && <2.2
8989
default-language: Haskell2010

proto-lens-protoc/Changelog.md

+6
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,11 @@
11
# Changelog for `proto-lens-protoc`
22

3+
4+
## v0.8.0.0
5+
- Relax upper bounds for ghc-9.6
6+
- Incompatible change: change `forall` to `forall'` in generated code
7+
due to GHC warning of the upcoming change.
8+
39
## v0.7.1.1
410
- Relax upper bounds for ghc-9.2
511

0 commit comments

Comments
 (0)