Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix #6572 Bump Stack to GHC 9.6.5/lts-22.21 #6573

Merged
merged 1 commit into from
May 7, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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