From ba35c282d91fc73d85ff4d9952070789bc085084 Mon Sep 17 00:00:00 2001 From: Oleg Grenrus Date: Mon, 13 May 2024 20:56:52 +0300 Subject: [PATCH] Add GHC-9.10.1 to CI, allow containers-0.7 --- .github/workflows/haskell-ci.yml | 21 +++++++++++++------ cabal.project | 7 +++++++ indexed-profunctors/indexed-profunctors.cabal | 4 +++- metametapost/metametapost.cabal | 4 +++- optics-core/optics-core.cabal | 6 ++++-- optics-extra/optics-extra.cabal | 6 ++++-- optics-sop/optics-sop.cabal | 4 +++- optics-th/optics-th.cabal | 8 ++++--- optics-vl/optics-vl.cabal | 4 +++- optics/optics.cabal | 6 ++++-- .../template-haskell-optics.cabal | 4 ++-- 11 files changed, 53 insertions(+), 21 deletions(-) diff --git a/.github/workflows/haskell-ci.yml b/.github/workflows/haskell-ci.yml index 2d68c69c..34e583f8 100644 --- a/.github/workflows/haskell-ci.yml +++ b/.github/workflows/haskell-ci.yml @@ -37,6 +37,11 @@ jobs: compilerVersion: "8.4" setup-method: hvr-ppa allow-failure: false + - compiler: ghc-9.10.1 + compilerKind: ghc + compilerVersion: 9.10.1 + setup-method: ghcup + allow-failure: false - compiler: ghc-9.8.2 compilerKind: ghc compilerVersion: 9.8.2 @@ -237,7 +242,7 @@ jobs: echo "packages: $GITHUB_WORKSPACE/source/optics-th" >> cabal.project echo "packages: $GITHUB_WORKSPACE/source/optics-vl" >> cabal.project echo "packages: $GITHUB_WORKSPACE/source/indexed-profunctors" >> cabal.project - echo "packages: $GITHUB_WORKSPACE/source/template-haskell-optics" >> cabal.project + if [ $((GHCJSARITH || ! GHCJSARITH && HCNUMVER < 91000)) -ne 0 ] ; then echo "packages: $GITHUB_WORKSPACE/source/template-haskell-optics" >> cabal.project ; fi echo "packages: $GITHUB_WORKSPACE/source/metametapost" >> cabal.project cat cabal.project - name: sdist @@ -278,7 +283,7 @@ jobs: echo "packages: ${PKGDIR_optics_th}" >> cabal.project echo "packages: ${PKGDIR_optics_vl}" >> cabal.project echo "packages: ${PKGDIR_indexed_profunctors}" >> cabal.project - echo "packages: ${PKGDIR_template_haskell_optics}" >> cabal.project + if [ $((GHCJSARITH || ! GHCJSARITH && HCNUMVER < 91000)) -ne 0 ] ; then echo "packages: ${PKGDIR_template_haskell_optics}" >> cabal.project ; fi echo "packages: ${PKGDIR_metametapost}" >> cabal.project echo "package optics" >> cabal.project echo " ghc-options: -Werror=missing-methods" >> cabal.project @@ -294,11 +299,15 @@ jobs: echo " ghc-options: -Werror=missing-methods" >> cabal.project echo "package indexed-profunctors" >> cabal.project echo " ghc-options: -Werror=missing-methods" >> cabal.project - echo "package template-haskell-optics" >> cabal.project - echo " ghc-options: -Werror=missing-methods" >> cabal.project + if [ $((GHCJSARITH || ! GHCJSARITH && HCNUMVER < 91000)) -ne 0 ] ; then echo "package template-haskell-optics" >> cabal.project ; fi + if [ $((GHCJSARITH || ! GHCJSARITH && HCNUMVER < 91000)) -ne 0 ] ; then echo " ghc-options: -Werror=missing-methods" >> cabal.project ; fi echo "package metametapost" >> cabal.project echo " ghc-options: -Werror=missing-methods" >> cabal.project cat >> cabal.project <> cabal.project.local cat cabal.project @@ -360,8 +369,8 @@ jobs: ${CABAL} -vnormal check cd ${PKGDIR_indexed_profunctors} || false ${CABAL} -vnormal check - cd ${PKGDIR_template_haskell_optics} || false - ${CABAL} -vnormal check + if [ $((GHCJSARITH || ! GHCJSARITH && HCNUMVER < 91000)) -ne 0 ] ; then cd ${PKGDIR_template_haskell_optics} || false ; fi + if [ $((GHCJSARITH || ! GHCJSARITH && HCNUMVER < 91000)) -ne 0 ] ; then ${CABAL} -vnormal check ; fi cd ${PKGDIR_metametapost} || false ${CABAL} -vnormal check - name: haddock diff --git a/cabal.project b/cabal.project index 9f0c53f6..8faa9d57 100644 --- a/cabal.project +++ b/cabal.project @@ -13,3 +13,10 @@ packages: metametapost/*.cabal tests: true + +-- TODO for GHC-9.10.1 +allow-newer: indexed-traversable:base +allow-newer: indexed-traversable:containers +allow-newer: indexed-traversable-instances:base +-- https://github.com/haskell-unordered-containers/unordered-containers/issues/489 +allow-newer: unordered-containers:template-haskell diff --git a/indexed-profunctors/indexed-profunctors.cabal b/indexed-profunctors/indexed-profunctors.cabal index 91dc392d..1489d214 100644 --- a/indexed-profunctors/indexed-profunctors.cabal +++ b/indexed-profunctors/indexed-profunctors.cabal @@ -7,7 +7,9 @@ build-type: Simple maintainer: optics@well-typed.com author: Adam Gundry, Andres Löh, Andrzej Rybczak, Oleg Grenrus tested-with: GHC ==8.2.2 || ==8.4.4 || ==8.6.5 || ==8.8.4 || ==8.10.7 - || ==9.0.2 || ==9.2.8 || ==9.4.8 || ==9.6.5 || ==9.8.2, GHCJS ==8.4 + || ==9.0.2 || ==9.2.8 || ==9.4.8 || ==9.6.5 || ==9.8.2 + || ==9.10.1, + GHCJS ==8.4 synopsis: Utilities for indexed profunctors category: Data, Optics, Lenses, Profunctors description: diff --git a/metametapost/metametapost.cabal b/metametapost/metametapost.cabal index f5b9ab3a..9b7bee34 100644 --- a/metametapost/metametapost.cabal +++ b/metametapost/metametapost.cabal @@ -5,7 +5,9 @@ license: BSD-3-Clause license-file: LICENSE build-type: Simple tested-with: GHC ==8.2.2 || ==8.4.4 || ==8.6.5 || ==8.8.4 || ==8.10.7 - || ==9.0.2 || ==9.2.8 || ==9.4.8 || ==9.6.5 || ==9.8.2, GHCJS ==8.4 + || ==9.0.2 || ==9.2.8 || ==9.4.8 || ==9.6.5 || ==9.8.2 + || ==9.10.1, + GHCJS ==8.4 maintainer: oleg@well-typed.com synopsis: Generate optics documentation diagrams category: Optics, Examples diff --git a/optics-core/optics-core.cabal b/optics-core/optics-core.cabal index 5f008239..eff0af85 100644 --- a/optics-core/optics-core.cabal +++ b/optics-core/optics-core.cabal @@ -7,7 +7,9 @@ build-type: Simple maintainer: optics@well-typed.com author: Adam Gundry, Andres Löh, Andrzej Rybczak, Oleg Grenrus tested-with: GHC ==8.2.2 || ==8.4.4 || ==8.6.5 || ==8.8.4 || ==8.10.7 - || ==9.0.2 || ==9.2.8 || ==9.4.8 || ==9.6.5 || ==9.8.2, GHCJS ==8.4 + || ==9.0.2 || ==9.2.8 || ==9.4.8 || ==9.6.5 || ==9.8.2 + || ==9.10.1, + GHCJS ==8.4 synopsis: Optics as an abstract interface: core definitions category: Data, Optics, Lenses description: @@ -73,7 +75,7 @@ library build-depends: base >= 4.10 && <5 , array >= 0.5.2.0 && <0.6 - , containers >= 0.5.10.2 && <0.7 + , containers >= 0.5.10.2 && <0.8 , indexed-profunctors >= 0.1 && <0.2 , transformers >= 0.5 && <0.7 , indexed-traversable >= 0.1 && <0.2 diff --git a/optics-extra/optics-extra.cabal b/optics-extra/optics-extra.cabal index e698ed5f..8bc0d932 100644 --- a/optics-extra/optics-extra.cabal +++ b/optics-extra/optics-extra.cabal @@ -7,7 +7,9 @@ build-type: Simple maintainer: optics@well-typed.com author: Andrzej Rybczak tested-with: GHC ==8.2.2 || ==8.4.4 || ==8.6.5 || ==8.8.4 || ==8.10.7 - || ==9.0.2 || ==9.2.8 || ==9.4.8 || ==9.6.5 || ==9.8.2, GHCJS ==8.4 + || ==9.0.2 || ==9.2.8 || ==9.4.8 || ==9.6.5 || ==9.8.2 + || ==9.10.1, + GHCJS ==8.4 synopsis: Extra utilities and instances for optics-core category: Data, Optics, Lenses description: @@ -64,7 +66,7 @@ library build-depends: base >= 4.10 && <5 , array >= 0.5.2.0 && <0.6 , bytestring >= 0.10.8 && <0.13 - , containers >= 0.5.10.2 && <0.7 + , containers >= 0.5.10.2 && <0.8 , hashable >= 1.1.1 && <1.5 , indexed-profunctors >= 0.1 && <0.2 , mtl >= 2.2.2 && <2.4 diff --git a/optics-sop/optics-sop.cabal b/optics-sop/optics-sop.cabal index 281dca4a..de6bdc80 100644 --- a/optics-sop/optics-sop.cabal +++ b/optics-sop/optics-sop.cabal @@ -7,7 +7,9 @@ build-type: Simple maintainer: optics@well-typed.com author: Adam Gundry, Andres Löh, Andrzej Rybczak tested-with: GHC ==8.2.2 || ==8.4.4 || ==8.6.5 || ==8.8.4 || ==8.10.7 - || ==9.0.2 || ==9.2.8 || ==9.4.8 || ==9.6.5 || ==9.8.2, GHCJS ==8.4 + || ==9.0.2 || ==9.2.8 || ==9.4.8 || ==9.6.5 || ==9.8.2 + || ==9.10.1, + GHCJS ==8.4 synopsis: Optics for generics-sop, and using generics-sop category: Data, Optics, Lenses, Generics description: diff --git a/optics-th/optics-th.cabal b/optics-th/optics-th.cabal index 7c4c1d73..6f7793a3 100644 --- a/optics-th/optics-th.cabal +++ b/optics-th/optics-th.cabal @@ -7,7 +7,9 @@ build-type: Simple maintainer: optics@well-typed.com author: Andrzej Rybczak tested-with: GHC ==8.2.2 || ==8.4.4 || ==8.6.5 || ==8.8.4 || ==8.10.7 - || ==9.0.2 || ==9.2.8 || ==9.4.8 || ==9.6.5 || ==9.8.2, GHCJS ==8.4 + || ==9.0.2 || ==9.2.8 || ==9.4.8 || ==9.6.5 || ==9.8.2 + || ==9.10.1, + GHCJS ==8.4 synopsis: Optics construction using TemplateHaskell category: Data, Optics, Lenses description: @@ -61,10 +63,10 @@ library hs-source-dirs: src build-depends: base >= 4.10 && <5 - , containers >= 0.5.10.2 && <0.7 + , containers >= 0.5.10.2 && <0.8 , mtl >= 2.2.2 && <2.4 , optics-core >= 0.4.1 && <0.5 - , template-haskell >= 2.12 && <2.22 + , template-haskell >= 2.12 && <2.23 , th-abstraction >= 0.4 && <0.8 , transformers >= 0.5 && <0.7 diff --git a/optics-vl/optics-vl.cabal b/optics-vl/optics-vl.cabal index ba1568aa..98214c3b 100644 --- a/optics-vl/optics-vl.cabal +++ b/optics-vl/optics-vl.cabal @@ -7,7 +7,9 @@ build-type: Simple maintainer: optics@well-typed.com author: Andrzej Rybczak tested-with: GHC ==8.2.2 || ==8.4.4 || ==8.6.5 || ==8.8.4 || ==8.10.7 - || ==9.0.2 || ==9.2.8 || ==9.4.8 || ==9.6.5 || ==9.8.2, GHCJS ==8.4 + || ==9.0.2 || ==9.2.8 || ==9.4.8 || ==9.6.5 || ==9.8.2 + || ==9.10.1, + GHCJS ==8.4 synopsis: Utilities for compatibility with van Laarhoven optics category: Data, Optics, Lenses description: diff --git a/optics/optics.cabal b/optics/optics.cabal index 9b5f401f..37c77890 100644 --- a/optics/optics.cabal +++ b/optics/optics.cabal @@ -7,7 +7,9 @@ build-type: Simple maintainer: optics@well-typed.com author: Adam Gundry, Andres Löh, Andrzej Rybczak, Oleg Grenrus tested-with: GHC ==8.2.2 || ==8.4.4 || ==8.6.5 || ==8.8.4 || ==8.10.7 - || ==9.0.2 || ==9.2.8 || ==9.4.8 || ==9.6.5 || ==9.8.2, GHCJS ==8.4 + || ==9.0.2 || ==9.2.8 || ==9.4.8 || ==9.6.5 || ==9.8.2 + || ==9.10.1, + GHCJS ==8.4 synopsis: Optics as an abstract interface category: Data, Optics, Lenses description: @@ -67,7 +69,7 @@ library build-depends: base >= 4.10 && <5 , array >= 0.5.2.0 && <0.6 - , containers >= 0.5.10.2 && <0.7 + , containers >= 0.5.10.2 && <0.8 , mtl >= 2.2.2 && <2.4 , optics-core >= 0.4.1 && <0.4.2 , optics-extra >= 0.4.2 && <0.4.3 diff --git a/template-haskell-optics/template-haskell-optics.cabal b/template-haskell-optics/template-haskell-optics.cabal index b4d703b4..6c36b628 100644 --- a/template-haskell-optics/template-haskell-optics.cabal +++ b/template-haskell-optics/template-haskell-optics.cabal @@ -31,8 +31,8 @@ library build-depends: base >= 4.10 && <5 , optics-core >= 0.4 && <0.5 - , containers >= 0.5.10.2 && <0.7 - , template-haskell >= 2.12 && <2.23 + , containers >= 0.5.10.2 && <0.8 + , template-haskell >= 2.12 && <2.22 , th-abstraction >= 0.4 && <0.8 exposed-modules: Language.Haskell.TH.Optics