Skip to content

Commit

Permalink
Fix #6572 Bump Stack to GHC 9.6.5/lts-22.21
Browse files Browse the repository at this point in the history
  • Loading branch information
mpilgrem committed May 6, 2024
1 parent ecb9615 commit cef4cd9
Show file tree
Hide file tree
Showing 134 changed files with 260 additions and 293 deletions.
2 changes: 1 addition & 1 deletion .devcontainer/devcontainer.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
"build": {
"dockerfile": "GHC.Dockerfile",
"args": {
"GHC_VERSION": "9.6.4",
"GHC_VERSION": "9.6.5",
"HLS_VERSION": "2.7.0.0",
"USE_ZSH_FOR_ROOT": "unset-to-use-ash",
"SET_LANG": "C.UTF-8",
Expand Down
19 changes: 10 additions & 9 deletions .github/workflows/integration-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,12 +16,13 @@ on:
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}

# As of 1 February 2024, ubuntu-latest, windows-latest and macos-latest come
# with Stack 2.13.1 and GHC 9.8.1. windows-latest comes with NSIS 3.08, for
# which the default value of the 'Unicode' installer attribute is 'true'.
# However, that is not the 'large strings' build of NSIS and creates installers
# that corrupt the PATH environment variable if the default string length of
# 1024 characters is exceeded.
# As of 6 May 2024, ubuntu-latest and windows-latest come with Stack 2.15.5 and
# GHC 9.8.2. However, macos-13 and macos-latest do not come with Haskell tools.
# windows-latest comes with NSIS 3.08, for which the default value of the
# 'Unicode' installer attribute is 'true'. However, that is not the 'large
# strings' build of NSIS and creates installers that corrupt the PATH
# environment variable if the default string length of 1024 characters is
# exceeded.

jobs:
integration-tests:
Expand All @@ -37,7 +38,7 @@ jobs:
- os: windows-latest
release-args: ""
cache-bust: "2024-01-20"
- os: macos-12
- os: macos-13
release-args: ""
cache-bust: "2024-01-20"
# macos-latest provides macOS/AArch64 (M1)
Expand Down Expand Up @@ -67,9 +68,9 @@ jobs:
run: |
set -ex
if [[ "${{ matrix.os }}" == "macos-latest" ]]
if [[ "${{ matrix.os }}" == "macos-13" || "${{ matrix.os }}" == "macos-latest" ]]
then
# macos-latest does not include Haskell tools as at 2024-04-25.
# macos-13 and macos-latest do not include Haskell tools as at 2024-05-06.
curl -sSL https://get.haskellstack.org/ | sh
fi
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/unit-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,8 @@ on:
- rc/**
workflow_dispatch:

# As of 1 February 2024, ubuntu-latest, windows-latest and macos-latest come
# with Stack 2.13.1 and GHC 9.8.1.
# As of 6 May 2024, ubuntu-latest and windows-latest come with Stack 2.15.5 and
# GHC 9.8.2. However, macos-latest does not come with Haskell tools.

jobs:
pedantic:
Expand Down Expand Up @@ -76,7 +76,7 @@ jobs:
if [[ "${{ matrix.os }}" == "macos-latest" ]]
then
# macos-latest does not include Haskell tools as at 2024-04-25.
# macos-latest does not include Haskell tools as at 2024-05-06.
curl -sSL https://get.haskellstack.org/ | sh
fi
Expand Down
8 changes: 4 additions & 4 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -285,9 +285,9 @@ compatibility with a range of versions of GHC that a library package (such as
Stack aims to depend on well-known packages. The specific versions on which it
depends at any time are specified by `package.yaml` and `stack.yaml`. It does
not aim to be compatible with more than one version of the `Cabal` package at
any time. At the time of writing (February 2024) the package versions are
primarily ones in Stackage snapshot LTS Haskell 22.7 (for GHC 9.6.4), together
with extra-deps to depend on the latest version of `pantry` and `process`.
any time. At the time of writing (May 2024) the package versions are primarily
ones in Stackage snapshot LTS Haskell 22.21 (for GHC 9.6.5), together with
extra-deps to depend on the latest version of `pantry` and `tar`.

A Stack executable makes use of Cabal (the library) through a small 'Setup'
executable that it compiles from Haskell source code. The executable compiles
Expand Down Expand Up @@ -607,7 +607,7 @@ for each file.

[Stan](https://hackage.haskell.org/package/stan) is a Haskell static analysis
tool. As of `stan-0.1.0.1`, it supports GHC >= 9.6.3 and Stack is built with
GHC 9.6.4. The tool is configured by the contents of the `.stan.toml` file.
GHC 9.6.5. The tool is configured by the contents of the `.stan.toml` file.

This workflow will run if:

Expand Down
54 changes: 28 additions & 26 deletions cabal.config
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
constraints:
, Cabal ==3.10.1.0
, Cabal-syntax ==3.10.1.0
, Cabal ==3.10.3.0
, Cabal-syntax ==3.10.3.0
, Glob ==0.10.2
, OneTuple ==0.4.1.1
, QuickCheck ==2.14.3
Expand All @@ -22,18 +22,18 @@ constraints:
, attoparsec-aeson ==2.1.0.0
, attoparsec-iso8601 ==1.1.0.1
, auto-update ==0.1.6
, base ==4.18.2.0
, base ==4.18.2.1
, base-compat ==0.13.1
, base-compat-batteries ==0.13.1
, base-orphans ==0.9.1
, base-orphans ==0.9.2
, base16-bytestring ==1.0.2.0
, base64-bytestring ==1.2.1.0
, basement ==0.0.16
, bifunctors ==5.6.1
, bifunctors ==5.6.2
, binary ==0.8.9.1
, bitvec ==1.1.5.0
, blaze-builder ==0.4.2.3
, blaze-html ==0.9.1.2
, blaze-html ==0.9.2.0
, blaze-markup ==0.8.3.0
, byteorder ==1.0.4
, bytestring ==0.11.5.3
Expand All @@ -55,16 +55,16 @@ constraints:
, cryptohash-sha256 ==0.11.102.1
, crypton ==0.34
, crypton-conduit ==0.2.3
, crypton-connection ==0.3.1
, crypton-connection ==0.3.2
, crypton-x509 ==1.7.6
, crypton-x509-store ==1.6.9
, crypton-x509-system ==1.6.7
, crypton-x509-validation ==1.6.12
, data-default-class ==0.1.2.0
, data-fix ==0.3.2
, deepseq ==1.4.8.1
, digest ==0.0.2.0
, directory ==1.3.8.1
, digest ==0.0.2.1
, directory ==1.3.8.4
, distributive ==0.6.2.1
, dlist ==1.0
, easy-file ==0.2.5
Expand All @@ -73,26 +73,26 @@ constraints:
, exceptions ==0.10.7
, extra ==1.7.14
, fast-logger ==3.2.2
, file-embed ==0.0.15.0
, file-embed ==0.0.16.0
, filelock ==0.1.1.7
, filepath ==1.4.200.1
, filepath ==1.4.300.1
, fsnotify ==0.4.1.0
, generic-deriving ==1.14.5
, generically ==0.1.1
, ghc-bignum ==1.3
, ghc-boot ==9.6.4
, ghc-boot-th ==9.6.4
, ghc-boot ==9.6.5
, ghc-boot-th ==9.6.5
, ghc-prim ==0.10.0
, githash ==0.1.7.0
, hackage-security ==0.6.2.4
, hashable ==1.4.3.0
, hashable ==1.4.4.0
, hi-file-parser ==0.1.6.0
, hinotify ==0.4.1
, hourglass ==0.2.12
, hpack ==0.36.0
, hpc ==0.6.2.0
, http-api-data ==0.5.1
, http-client ==0.7.16
, http-client ==0.7.17
, http-client-tls ==0.3.6.3
, http-conduit ==2.3.8.3
, http-download ==0.2.1.0
Expand All @@ -104,21 +104,22 @@ constraints:
, integer-gmp ==1.1
, integer-logarithms ==1.0.3.1
, iproute ==1.7.12
, libyaml ==0.1.2
, libyaml ==0.1.4
, libyaml-clib ==0.2.5
, lift-type ==0.1.1.1
, lifted-base ==0.2.3.12
, lukko ==0.1.1.3
, megaparsec ==9.5.0
, memory ==0.18.0
, microlens ==0.4.13.1
, microlens-mtl ==0.2.0.3
, microlens-th ==0.4.3.14
, microlens-th ==0.4.3.15
, mime-types ==0.1.2.0
, mintty ==0.1.4
, monad-control ==1.0.3.1
, monad-logger ==0.3.40
, monad-loops ==0.4.3
, mono-traversable ==1.0.15.3
, mono-traversable ==1.0.17.0
, mtl ==2.3.1
, mtl-compat ==0.2.2
, mustache ==2.4.2
Expand All @@ -130,23 +131,24 @@ constraints:
, open-browser ==0.2.1.0
, optparse-applicative ==0.18.1.0
, optparse-simple ==0.1.1.4
, os-string ==2.0.2.1
, pantry ==0.10.0
, parsec ==3.1.16.1
, parser-combinators ==1.3.0
, path ==0.9.5
, path-io ==1.8.1
, path-pieces ==0.2.1
, pem ==0.2.4
, persistent ==2.14.6.0
, persistent ==2.14.6.1
, persistent-sqlite ==2.13.3.0
, persistent-template ==2.12.0.0
, pretty ==1.1.3.6
, prettyprinter ==1.7.1
, prettyprinter-ansi-terminal ==1.1.3
, primitive ==0.8.0.0
, process ==1.6.18.0
, process ==1.6.19.0
, project-template ==0.2.1.0
, random ==1.2.1.1
, random ==1.2.1.2
, resource-pool ==0.4.0.0
, resourcet ==1.3.0
, retry ==0.9.3.1
Expand All @@ -158,7 +160,7 @@ constraints:
, safe-exceptions ==0.1.7.4
, scientific ==0.3.7.0
, semialign ==1.3
, semigroupoids ==6.0.0.1
, semigroupoids ==6.0.1
, silently ==1.2.5.3
, socks ==0.6.1
, split ==0.2.5
Expand All @@ -170,15 +172,15 @@ constraints:
, streaming-commons ==0.2.2.6
, strict ==0.5
, tagged ==0.8.8
, tar ==0.5.1.1
, tar ==0.6.2.0
, tar-conduit ==0.4.1
, template-haskell ==2.20.0.0
, temporary ==1.3
, text ==2.0.2
, text-metrics ==0.3.2
, text-short ==0.1.5
, th-abstraction ==0.5.0.0
, th-compat ==0.1.4
, th-compat ==0.1.5
, th-lift ==0.8.4
, th-lift-instances ==0.1.20
, these ==1.2
Expand All @@ -191,7 +193,7 @@ constraints:
, typed-process ==0.2.11.1
, unix ==2.8.4.0
, unix-compat ==0.7.1
, unix-time ==0.4.11
, unix-time ==0.4.12
, unliftio ==0.2.25.0
, unliftio-core ==0.2.1.0
, unordered-containers ==0.2.20
Expand All @@ -202,5 +204,5 @@ constraints:
, vector-stream ==0.1.0.1
, witherable ==0.4.2
, yaml ==0.11.11.2
, zip-archive ==0.4.3
, zip-archive ==0.4.3.2
, zlib ==0.6.3.0
4 changes: 2 additions & 2 deletions cabal.project
Original file line number Diff line number Diff line change
Expand Up @@ -33,8 +33,8 @@
-- specified by the snapshot specifed in Stack's project-level YAML
-- configuration file (`stack.yaml`). The relevant version of GHC can be
-- confirmed by reviewing the snapshot on Stackage. For example, at:
-- https://www.stackage.org/lts-22.7/cabal.config.
-- https://www.stackage.org/lts-22.21/cabal.config.
--
with-compiler: ghc-9.6.4
with-compiler: ghc-9.6.5
import: cabal.config
packages: .
8 changes: 4 additions & 4 deletions doc/GUIDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -248,15 +248,15 @@ this:

~~~yaml
resolver:
url: https://raw.githubusercontent.com/commercialhaskell/stackage-snapshots/master/lts/22/11.yaml
url: https://raw.githubusercontent.com/commercialhaskell/stackage-snapshots/master/lts/22/21.yaml
packages:
- .
~~~

The value of the [`resolver`](yaml_configuration.md#resolver) key tells Stack
*how* to build your package: which GHC version to use, versions of package
dependencies, and so on. Our value here says to use
[LTS Haskell 22.11](https://www.stackage.org/lts-22.11), which implies GHC 9.6.4
[LTS Haskell 22.21](https://www.stackage.org/lts-22.21), which implies GHC 9.6.5
(which is why `stack build` installs that version of GHC if it is not already
available to Stack). There are a number of values you can use for `resolver`,
which we'll cover later.
Expand Down Expand Up @@ -980,7 +980,7 @@ stack purge
stack build :helloworld-test
helloworld> configure (lib + test)
Configuring helloworld-0.1.0.0...
helloworld> build (lib + test) with ghc-9.6.4
helloworld> build (lib + test) with ghc-9.6.5
Preprocessing library for helloworld-0.1.0.0..
Building library for helloworld-0.1.0.0..
[1 of 2] Compiling Lib
Expand Down Expand Up @@ -1298,7 +1298,7 @@ yields output like:

~~~text
Run from outside a project, using implicit global project config
Using latest snapshot resolver: lts-22.7
Using latest snapshot resolver: lts-22.21
Writing global (non-project-specific) config file to: /home/michael/.stack/global/stack.yaml
Note: You can change the snapshot via the resolver field there.
I installed the stm package via --package stm
Expand Down
6 changes: 3 additions & 3 deletions doc/Stack_and_VS_Code.md
Original file line number Diff line number Diff line change
Expand Up @@ -75,9 +75,9 @@ enabled). For further information about these options, see the `install-ghc`

For this workaround to work, each time that a snapshot is used that references a
different version of GHC, then GHCup must be used to install it (if GHCup has
not already installed that version). For example, to use `snapshot: lts-22.7`
(GHC 9.6.4), the command `ghcup install ghc 9.6.4` must have been used to
install GHC 9.6.4. That may be a minor inconvenience for some people, as one the
not already installed that version). For example, to use `snapshot: lts-22.21`
(GHC 9.6.5), the command `ghcup install ghc 9.6.5` must have been used to
install GHC 9.6.5. That may be a minor inconvenience for some people, as one the
primary benefits of Stack over other Haskell build tools has been that Stack
automatically ensures that the necessary version of GHC is available.

Expand Down
Loading

0 comments on commit cef4cd9

Please sign in to comment.