diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index d4e42fb846..74d5184f0c 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -78,7 +78,7 @@ jobs: matrix: os: [ubuntu-22.04, macos-12, windows-2019] cabal: ["3.10.1.0"] - ghc: ["8.10.7", "9.2.7", "9.4.4"] + ghc: ["9.2.7", "9.4.4", "9.6.3"] run-tests: [true] hpc: [false] include: @@ -96,18 +96,6 @@ jobs: cabal: "3.10.1.0" run-tests: true hpc: true - exclude: - # We exclude the GHC 8.10.7 job on Windows, as it is known to suffer - # from a hard-to-diagnose memory-related issue that does not affect - # later versions of GHC on Windows. (See - # https://github.com/GaloisInc/saw-script/issues/1961.) When we drop - # support for 8.10 entirely from SAW's support Window, we can remove - # this part of the matrix entirely. - - os: windows-2019 - ghc: "8.10.7" - cabal: "3.10.1.0" - run-tests: true - hpc: false outputs: cabal-test-suites-json: ${{ steps.cabal-test-suites.outputs.targets-json }} steps: diff --git a/README.md b/README.md index 0d846bf35c..fb1c06b9e6 100644 --- a/README.md +++ b/README.md @@ -43,7 +43,7 @@ To build SAWScript and related utilities from source: * Ensure that you have the `cabal` and `ghc` executables in your `PATH`. If you don't already have them, we recommend using `ghcup` to install them: . We recommend - Cabal 3.4 or newer, and GHC 8.10, 9.2, or 9.4. + Cabal 3.10 or newer, and GHC 9.2, 9.4, or 9.6. (If you are using the GHC 9.2 series, make sure to use 9.2.6 or later to avoid [this bug](https://gitlab.haskell.org/ghc/ghc/-/issues/22491).) diff --git a/cabal.GHC-8.10.7.config b/cabal.GHC-9.6.3.config similarity index 83% rename from cabal.GHC-8.10.7.config rename to cabal.GHC-9.6.3.config index 1095efbdb8..127aecfe77 100644 --- a/cabal.GHC-8.10.7.config +++ b/cabal.GHC-9.6.3.config @@ -1,6 +1,7 @@ active-repositories: hackage.haskell.org:merge constraints: any.BoundedChan ==1.0.3.0, - any.Cabal ==3.2.1.0, + any.Cabal ==3.10.1.0, + any.Cabal-syntax ==3.10.1.0, any.Glob ==0.10.2, any.GraphSCC ==1.0.4, GraphSCC -use-maps, @@ -20,15 +21,15 @@ constraints: any.BoundedChan ==1.0.3.0, aeson -cffi +ordered-keymap, any.aeson-pretty ==0.8.10, aeson-pretty -lib-only, - any.alex ==3.4.0.0, + any.alex ==3.4.0.1, any.ansi-terminal ==0.11.5, ansi-terminal -example, any.ansi-terminal-types ==0.11.5, any.ansi-wl-pprint ==0.6.9, ansi-wl-pprint -example, any.appar ==0.1.8, - any.arithmoi ==0.12.1.0, - any.array ==0.5.4.0, + any.arithmoi ==0.13.0.0, + any.array ==0.5.5.0, any.asn1-encoding ==0.9.6, any.asn1-parse ==0.9.5, any.asn1-types ==0.3.4, @@ -40,30 +41,30 @@ constraints: any.BoundedChan ==1.0.3.0, attoparsec -developer, any.attoparsec-aeson ==2.1.0.0, any.auto-update ==0.1.6, - any.barbies ==2.0.4.0, - any.base ==4.14.3.0, + any.barbies ==2.0.5.0, + any.base ==4.18.1.0, any.base-compat ==0.12.3, any.base-compat-batteries ==0.12.3, - any.base-orphans ==0.9.0, + any.base-orphans ==0.9.1, any.base16-bytestring ==1.0.2.0, any.base64-bytestring ==1.2.1.0, any.basement ==0.0.16, any.bifunctors ==5.6.1, bifunctors +tagged, any.bimap ==0.5.0, - any.binary ==0.8.8.0, + any.binary ==0.8.9.1, any.binary-orphans ==1.0.4.1, - any.bitvec ==1.1.4.0, - bitvec -libgmp, + any.bitvec ==1.1.5.0, + bitvec +simd, any.bitwise ==1.0.0.1, - any.blaze-builder ==0.4.2.2, + any.blaze-builder ==0.4.2.3, any.blaze-html ==0.9.1.2, - any.blaze-markup ==0.8.2.8, + any.blaze-markup ==0.8.3.0, any.boomerang ==1.4.9, any.bsb-http-chunked ==0.0.0.4, any.bv-sized ==1.0.5, any.byteorder ==1.0.4, - any.bytestring ==0.10.12.0, + any.bytestring ==0.11.5.2, any.cabal-doctest ==1.0.9, any.call-stack ==0.4.0, any.case-insensitive ==1.2.1.0, @@ -74,7 +75,7 @@ constraints: any.BoundedChan ==1.0.3.0, any.cborg-json ==0.2.5.0, any.cereal ==0.5.8.3, cereal -bytestring-builder, - any.chimera ==0.3.3.0, + any.chimera ==0.3.4.0, chimera +representable, any.clock ==0.8.4, clock -llvm, @@ -85,13 +86,13 @@ constraints: any.BoundedChan ==1.0.3.0, any.comonad ==5.0.8, comonad +containers +distributive +indexed-traversable, any.concurrent-extra ==0.7.0.12, - any.concurrent-output ==1.10.18, + any.concurrent-output ==1.10.20, any.conduit ==1.3.5, any.conduit-extra ==1.3.6, any.config-schema ==1.3.0.0, any.config-value ==0.8.3, any.constraints ==0.13.4, - any.containers ==0.6.5.1, + any.containers ==0.6.7, any.contravariant ==1.5.5, contravariant +semigroups +statevar +tagged, any.cookie ==0.4.6, @@ -116,21 +117,20 @@ constraints: any.BoundedChan ==1.0.3.0, any.cryptonite-conduit ==0.2.2, any.data-accessor ==0.2.3.1, data-accessor +category +monadfail +splitbase, - any.data-array-byte ==0.1.0.1, any.data-default-class ==0.1.2.0, any.data-fix ==0.3.2, any.data-inttrie ==0.1.4, any.data-ref ==0.1, - any.deepseq ==1.4.4.0, + any.deepseq ==1.4.8.1, any.dense-linear-algebra ==0.1.0.0, any.deriving-compat ==0.6.5, deriving-compat +base-4-9 +new-functor-classes +template-haskell-2-11, - any.directory ==1.3.6.0, + any.directory ==1.3.8.1, any.distributive ==0.6.2.1, distributive +semigroups +tagged, any.dlist ==1.0, dlist -werror, - any.doctest ==0.22.0, + any.doctest ==0.22.2, any.dotgen ==0.4.3, dotgen -devel, any.easy-file ==0.2.5, @@ -139,20 +139,18 @@ constraints: any.BoundedChan ==1.0.3.0, entropy -donotgetentropy, any.erf ==2.0.0.0, any.exact-pi ==0.5.0.2, - any.exceptions ==0.10.4, + any.exceptions ==0.10.7, any.executable-path ==0.0.3.1, any.extensible-exceptions ==0.1.1.4, any.extra ==1.7.14, any.fast-logger ==3.2.2, - any.fgl ==5.8.1.1, + any.fgl ==5.8.2.0, fgl +containers042, any.fgl-visualize ==0.1.0.1, any.filelock ==0.1.1.7, any.filemanip ==0.3.6.3, - any.filepath ==1.4.2.1, + any.filepath ==1.4.100.4, any.fingertree ==0.1.5.0, - any.foldable1-classes-compat ==0.1, - foldable1-classes-compat +tagged, any.free ==5.2, any.generic-deriving ==1.14.5, generic-deriving +base-4-9, @@ -161,13 +159,14 @@ constraints: any.BoundedChan ==1.0.3.0, any.generic-random ==1.5.0.1, generic-random -enable-inspect, any.generically ==0.1.1, - any.ghc ==8.10.7, - any.ghc-boot ==8.10.7, - any.ghc-boot-th ==8.10.7, - any.ghc-heap ==8.10.7, + any.ghc ==9.6.3, + any.ghc-bignum ==1.3, + any.ghc-boot ==9.6.3, + any.ghc-boot-th ==9.6.3, + any.ghc-heap ==9.6.3, any.ghc-paths ==0.1.0.12, - any.ghc-prim ==0.6.1, - any.ghci ==8.10.7, + any.ghc-prim ==0.10.0, + any.ghci ==9.6.3, any.gitrev ==1.3.1, any.graphviz ==2999.20.1.0, graphviz -test-parsing, @@ -177,7 +176,7 @@ constraints: any.BoundedChan ==1.0.3.0, hashable +integer-gmp -random-initial-seed, any.hashtables ==1.3.1, hashtables -bounds-checking -debug -detailed-profiling -portable -sse42 +unsafe-tricks, - any.haskeline ==0.8.2, + any.haskeline ==0.8.2.1, any.haskell-lexer ==1.1.1, any.haskell-src-exts ==1.23.1, any.haskell-src-meta ==0.8.12, @@ -189,23 +188,24 @@ constraints: any.BoundedChan ==1.0.3.0, any.hobbits ==1.4, any.hostname ==1.0, any.hourglass ==0.2.12, - any.hpc ==0.6.1.0, - any.hsc2hs ==0.68.9, + any.hpc ==0.6.2.0, + any.hsc2hs ==0.68.10, hsc2hs -in-ghc-tree, - any.hspec ==2.11.4, - any.hspec-api ==2.11.4, - any.hspec-core ==2.11.4, - any.hspec-discover ==2.11.4, + any.hspec ==2.11.7, + any.hspec-api ==2.11.7, + any.hspec-core ==2.11.7, + any.hspec-discover ==2.11.7, any.hspec-expectations ==0.8.4, any.http-date ==0.0.11, any.http-types ==0.12.3, - any.http2 ==4.1.4, + any.http2 ==4.2.2, http2 -devel -h2spec, any.ieee754 ==0.8.0, any.indexed-profunctors ==0.1.1.1, - any.indexed-traversable ==0.1.2.1, + any.indexed-traversable ==0.1.3, any.indexed-traversable-instances ==0.1.1.2, - any.integer-gmp ==1.0.3.0, + any.infinite-list ==0.1, + any.integer-gmp ==1.1, any.integer-logarithms ==1.0.3.1, integer-logarithms -check-bounds +integer-gmp, any.integer-roots ==1.0.2.0, @@ -221,10 +221,10 @@ constraints: any.BoundedChan ==1.0.3.0, any.kan-extensions ==5.2.5, any.kvitable ==1.0.2.1, any.language-c99 ==0.2.0, - any.language-c99-simple ==0.2.2, + any.language-c99-simple ==0.2.3, any.language-c99-util ==0.2.0, language-rust +enablequasiquotes +usebytestrings, - any.lens ==5.2.2, + any.lens ==5.2.3, lens -benchmark-uniplate -dump-splices +inlining -j +test-hunit +test-properties +test-templates +trustworthy, any.libBF ==0.6.6, libBF -system-libbf, @@ -239,28 +239,28 @@ constraints: any.BoundedChan ==1.0.3.0, any.logict ==0.8.1.0, any.lucid ==2.11.20230408, any.lumberjack ==1.0.3.0, - any.math-functions ==0.3.4.2, + any.math-functions ==0.3.4.3, math-functions +system-erf +system-expm1, - any.megaparsec ==9.2.1, + any.megaparsec ==9.3.1, megaparsec -dev, any.memory ==0.18.0, memory +support_bytestring +support_deepseq, any.microlens ==0.4.13.1, - any.microlens-th ==0.4.3.13, + any.microlens-th ==0.4.3.14, any.microstache ==1.0.2.3, any.mmorph ==1.2.0, - any.mod ==0.1.2.2, + any.mod ==0.2.0.1, mod +semirings +vector, - any.modern-uri ==0.3.4.4, + any.modern-uri ==0.3.6.1, modern-uri -dev, any.monad-control ==1.0.3.1, any.monadLib ==3.10.1, any.mono-traversable ==1.0.15.3, - any.mtl ==2.2.2, + any.mtl ==2.3.1, any.mwc-random ==0.15.0.2, any.network ==3.1.4.0, network -devel, - any.network-byte-order ==0.1.6, + any.network-byte-order ==0.1.7, any.network-info ==0.2.1, any.newtype-generics ==0.6.2, any.numtype-dk ==0.5.0.3, @@ -272,7 +272,7 @@ constraints: any.BoundedChan ==1.0.3.0, any.panic ==0.4.0.1, any.parallel ==3.2.2.0, parameterized-utils +unsafe-operations, - any.parsec ==3.1.14.0, + any.parsec ==3.1.16.1, any.parser-combinators ==1.3.0, parser-combinators -dev, any.pem ==0.2.4, @@ -284,10 +284,10 @@ constraints: any.BoundedChan ==1.0.3.0, prettyprinter -buildreadme +text, any.prettyprinter-ansi-terminal ==1.1.3, any.primitive ==0.8.0.0, - any.process ==1.6.13.2, + any.process ==1.6.17.0, any.profunctors ==5.6.2, - any.psqueues ==0.2.7.3, - any.quickcheck-instances ==0.3.29.1, + any.psqueues ==0.2.8.0, + any.quickcheck-instances ==0.3.30, quickcheck-instances -bytestring-builder, any.quickcheck-io ==0.2.0, any.random ==1.2.1.1, @@ -300,12 +300,12 @@ constraints: any.BoundedChan ==1.0.3.0, any.regex-posix ==0.96.0.1, regex-posix -_regex-posix-clib, any.resourcet ==1.3.0, - any.rts ==1.0.1, + any.rts ==1.0.2, any.s-cargot ==0.1.6.0, s-cargot -build-example, any.safe ==0.3.19, any.safe-exceptions ==0.1.7.4, - any.sbv ==9.2, + any.sbv ==10.2, any.scientific ==0.3.7.0, scientific -bytestring-builder -integer-simple, any.scotty ==0.12.1, @@ -325,11 +325,11 @@ constraints: any.BoundedChan ==1.0.3.0, simple-sendfile +allow-bsd -fallback, any.simple-smt ==0.9.7, any.smallcheck ==1.2.1.1, - any.split ==0.2.3.5, - any.splitmix ==0.1.0.4, + any.split ==0.2.4, + any.splitmix ==0.1.0.5, splitmix -optimised-mixer, - any.statistics ==0.16.2.0, - any.stm ==2.5.0.1, + any.statistics ==0.16.2.1, + any.stm ==2.5.1.0, any.streaming-commons ==0.2.2.6, streaming-commons -use-bytestring-builder, any.strict ==0.5, @@ -340,25 +340,25 @@ constraints: any.BoundedChan ==1.0.3.0, tagged +deepseq +transformers, any.tasty ==1.4.3, tasty +unix, - any.tasty-ant-xml ==1.1.8, + any.tasty-ant-xml ==1.1.9, any.tasty-checklist ==1.0.6.0, any.tasty-expected-failure ==0.12.3, any.tasty-golden ==2.3.5, tasty-golden -build-example, any.tasty-hedgehog ==1.4.0.1, any.tasty-hspec ==1.2.0.4, - any.tasty-hunit ==0.10.0.3, + any.tasty-hunit ==0.10.1, any.tasty-quickcheck ==0.10.2, any.tasty-smallcheck ==0.8.2, any.tasty-sugar ==2.2.1.0, - any.template-haskell ==2.16.0.0, + any.template-haskell ==2.20.0.0, any.temporary ==1.3, any.terminal-size ==0.3.3, - any.terminfo ==0.4.1.4, + any.terminfo ==0.4.1.6, any.test-framework ==0.8.2.0, any.test-framework-hunit ==0.3.0.2, test-framework-hunit -base3 +base4, - any.text ==1.2.4.1, + any.text ==2.0.2, any.text-conversions ==0.3.1.1, any.text-short ==0.1.5, text-short -asserts, @@ -371,36 +371,36 @@ constraints: any.BoundedChan ==1.0.3.0, any.th-orphans ==0.13.14, any.th-reify-many ==0.1.10, any.these ==1.2, - any.time ==1.9.3, + any.time ==1.12.2, any.time-compat ==1.9.6.1, time-compat -old-locale, - any.time-manager ==0.0.0, - any.tls ==1.7.1, + any.time-manager ==0.0.1, + any.tls ==1.9.0, tls +compat -hans +network, any.tls-session-manager ==0.0.4, - any.transformers ==0.5.6.2, + any.transformers ==0.6.1.0, any.transformers-base ==0.4.6, transformers-base +orphaninstances, any.transformers-compat ==0.7.2, transformers-compat -five +five-three -four +generic-deriving +mtl -three -two, any.type-equality ==1, - any.typed-process ==0.2.11.0, + any.typed-process ==0.2.11.1, any.unbounded-delays ==0.1.1.1, any.uniplate ==1.6.13, - any.unix ==2.7.2.2, + any.unix ==2.8.1.0, any.unix-compat ==0.7, unix-compat -old-time, - any.unix-time ==0.4.10, + any.unix-time ==0.4.11, any.unliftio ==0.2.25.0, any.unliftio-core ==0.2.1.0, any.unordered-containers ==0.2.19.1, unordered-containers -debug, any.utf8-string ==1.0.2, any.uuid ==1.3.15, - any.uuid-types ==1.0.5, + any.uuid-types ==1.0.5.1, any.vault ==0.3.1.5, vault +useghc, - any.vector ==0.13.0.0, + any.vector ==0.13.1.0, vector +boundschecks -internalchecks -unsafechecks -wall, any.vector-algorithms ==0.9.0.1, vector-algorithms +bench +boundschecks -internalchecks -llvm +properties -unsafechecks, @@ -414,9 +414,9 @@ constraints: any.BoundedChan ==1.0.3.0, any.wai-extra ==3.1.13.0, wai-extra -build-example, any.wai-logger ==2.4.0, - any.warp ==3.3.28, + any.warp ==3.3.30, warp +allow-sendfilefd -network-bytestring -warp-debug +x509, - any.warp-tls ==3.4.0, + any.warp-tls ==3.4.3, any.weigh ==0.0.17, what4 -drealtestdisable -solvertests -stptestdisable, any.witherable ==0.4.2, @@ -430,4 +430,4 @@ constraints: any.BoundedChan ==1.0.3.0, any.zlib ==0.6.3.0, zlib -bundled-c-zlib -non-blocking-ffi -pkg-config, any.zlib-bindings ==0.1.1.5 -index-state: hackage.haskell.org 2023-08-12T09:08:58Z +index-state: hackage.haskell.org 2023-10-31T17:34:01Z