Stack: Prepare 1.9.1 release

Created on 26 Jul 2018  Â·  15Comments  Â·  Source: commercialhaskell/stack

This issue should track any requirements to release 1.8.1 1.9.1 (stack should be alternating stable/dev for version numbers).

in progress

Most helpful comment

As 1.8.1 will fix a number of _coloured output_ bugs present in 1.7.1, it would perhaps be good if pull request #4184 (if it is acceptable) could also make the cut. It is also coloured output-related and fixes something revealed only by other fixes to 1.7.1 (see #4139). #4184 is very light-weight in terms of its code changes.

All 15 comments

Currently listed as blocking:

  • [x] #2681 (Fix or help text change)
  • [x] #4088 (Possibly ready to go?)
  • [x] #4148 (Fix or documentation change)

Integration test failures on lts-11.18 for my arch machine

  • [x] 3520-revision-matching (#3520; #3541)

It can't find a valid ListLike revision. I can't see a reference to ListLike, though…

First attempt

Running: /home/db/.local/bin/stack build --dry-run

First time only

Updating package index Hackage00 (mirrored at https://hackage.haskell.org/00-index.tar.gz) ...
Downloading package index from https://hackage.haskell.org/00-index.tar.gz
Update complete
Populating index cache ...
Populated index cache.
No packages would be unregistered.
Would build:
issue3520-0.1.0.0: database=local, source=/home/db/Projects/stack/test/integration/tests/3520-revision-matching/files/, after: mtl-2.2.2
mtl-2.2.2: database=snapshot, source=package index

No executables to be installed.
Main.hs: Stack process succeeded, but it shouldn't
CallStack (from HasCallStack):
  error, called at ../../../lib/StackTest.hs:125:14 in main:StackTest
  4.95s user 1.08s system 55% cpu 10.922 total
( cd test/integration/tests/3520-revision-matching/files/; stack runghc --  ;   4.95s user 1.08s system 54% cpu 11.012 total

Second attempt

Didn't see ListLike-4.6@sha256:caf9907f132165c7fe6a9d66231b5afc8130d8c5715cc82006ac105998b2e8b1,2986 in your package indices.
Updating and trying again.
Downloading package index from https://hackage.haskell.org/00-index.tar.gz
No updates to your package index were found
Update complete
Unable to load cabal files for snapshot

----
Deleting cached snapshot file: /home/db/.stack/build-plan/lts-11.18.yaml
Recommendation: try running again. If this fails again, open an upstream issue at:
https://github.com/fpco/lts-haskell/issues/new
----

The following package identifiers were not found in your indices: ListLike-4.6@sha256:caf9907f132165c7fe6a9d66231b5afc8130d8c5715cc82006ac105998b2e8b1,2986
The specified revision was not found.
Possible candidates: ListLike-4.6@sha256:12792324c2cfafdb6cb589d448d76dc18321c1d6f997c0aaf0dcda131cf76ed5, ListLike-4.6@sha256:a6620cb87efbc0a99dff2db5d46c945729e984bcc4afcb68f0ffdc8667b910dd.

You seem to be using a legacy 00-index.tar.gz tarball.
Consider changing your configuration to use a 01-index.tar.gz file.
Alternatively, you can set the ignore-revision-mismatch setting to true.
For more information, see: https://github.com/commercialhaskell/stack/issues/3520

  • [x] 3942-solver-error-output (#3942; #4114)

The integration test is failing on lts-11.18 (ghc 8.2.2) and it is because the cloud-seeder package is not compatible with that resolver.

Running: /home/db/Projects/stack/.stack-work/install/x86_64-linux-tinfo6-nopie/lts-11.18/8.2.2/bin/stack ./script.hs
[1 of 2] Compiling Main             ( /home/db/.stack/setup-exe-src/setup-mPHDZzAJ.hs, /home/db/.stack/setup-exe-src/setup-mPHDZzAJ.o )
[2 of 2] Compiling StackSetupShim   ( /home/db/.stack/setup-exe-src/setup-shim-mPHDZzAJ.hs, /home/db/.stack/setup-exe-src/setup-shim-mPHDZzAJ.o )
Linking /home/db/.stack/setup-exe-cache/x86_64-linux/tmp-Cabal-simple_mPHDZzAJ_2.0.1.0_ghc-8.2.2 ...

--  While building package cloud-seeder-0.1.0.0 using:
      /home/db/.stack/setup-exe-cache/x86_64-linux/Cabal-simple_mPHDZzAJ_2.0.1.0_ghc-8.2.2 --builddir=.stack-work/dist/x86_64-linux/Cabal-2.0.1.0 build lib:cloud-seeder --ghc-options " -ddump-hi -ddump-to-file"
    Process exited with code: ExitFailure 1
    Logs have been written to: /home/db/Projects/stack/test/integration/tests/3942-solver-error-output/files/.stack-work/logs/cloud-seeder-0.1.0.0.log

    Configuring cloud-seeder-0.1.0.0...
    Preprocessing library for cloud-seeder-0.1.0.0..
    Building library for cloud-seeder-0.1.0.0..
    [ 1 of 16] Compiling Network.CloudSeeder.Monads.CLI ( library/Network/CloudSeeder/Monads/CLI.hs, .stack-work/dist/x86_64-linux/Cabal-2.0.1.0/build/Network/CloudSeeder/Monads/CLI.o )
    [ 2 of 16] Compiling Network.CloudSeeder.Monads.Environment ( library/Network/CloudSeeder/Monads/Environment.hs, .stack-work/dist/x86_64-linux/Cabal-2.0.1.0/build/Network/CloudSeeder/Monads/Environment.o )
    [ 3 of 16] Compiling Network.CloudSeeder.Monads.FileSystem ( library/Network/CloudSeeder/Monads/FileSystem.hs, .stack-work/dist/x86_64-linux/Cabal-2.0.1.0/build/Network/CloudSeeder/Monads/FileSystem.o )
    [ 4 of 16] Compiling Network.CloudSeeder.Types ( library/Network/CloudSeeder/Types.hs, .stack-work/dist/x86_64-linux/Cabal-2.0.1.0/build/Network/CloudSeeder/Types.o )
    [ 5 of 16] Compiling Network.CloudSeeder.Template ( library/Network/CloudSeeder/Template.hs, .stack-work/dist/x86_64-linux/Cabal-2.0.1.0/build/Network/CloudSeeder/Template.o )
    [ 6 of 16] Compiling Network.CloudSeeder.Monads.AWS ( library/Network/CloudSeeder/Monads/AWS.hs, .stack-work/dist/x86_64-linux/Cabal-2.0.1.0/build/Network/CloudSeeder/Monads/AWS.o )

    /home/db/Projects/stack/test/integration/tests/3942-solver-error-output/files/.stack-work/downloaded/DBIRL8bki1UK/library/Network/CloudSeeder/Monads/AWS.hs:192:16: error:
        Not in scope: ‘CF.drsExecutionStatus’
        Perhaps you meant one of these:
          ‘CF.desrsExecutionStatus’ (imported from Network.AWS.CloudFormation),
          ‘CF.cExecutionStatus’ (imported from Network.AWS.CloudFormation)
        Module ‘Network.AWS.CloudFormation’ does not export ‘drsExecutionStatus’.
        |
    192 |         ((r ^. CF.drsExecutionStatus) :: Maybe CF.ExecutionStatus)
        |                ^^^^^^^^^^^^^^^^^^^^^

    /home/db/Projects/stack/test/integration/tests/3942-solver-error-output/files/.stack-work/downloaded/DBIRL8bki1UK/library/Network/CloudSeeder/Monads/AWS.hs:193:44: error:
        Not in scope: ‘CF.drsParameters’
        Perhaps you meant one of these:
          ‘CF.sParameters’ (imported from Network.AWS.CloudFormation),
          ‘CF.ssParameters’ (imported from Network.AWS.CloudFormation),
          ‘CF.ccsParameters’ (imported from Network.AWS.CloudFormation)
        Module ‘Network.AWS.CloudFormation’ does not export ‘drsParameters’.
        |
    193 |       params <- mapM awsParamToParam (r ^. CF.drsParameters)
        |                                            ^^^^^^^^^^^^^^^^

    /home/db/Projects/stack/test/integration/tests/3942-solver-error-output/files/.stack-work/downloaded/DBIRL8bki1UK/library/Network/CloudSeeder/Monads/AWS.hs:194:48: error:
        Not in scope: ‘CF.drsChanges’
        Perhaps you meant ‘CF.desrsChanges’ (imported from Network.AWS.CloudFormation)
        Module ‘Network.AWS.CloudFormation’ does not export ‘drsChanges’.
        |
    194 |       changes' <- mapM awsChangeToChange (r ^. CF.drsChanges)
        |                                                ^^^^^^^^^^^^^

    /home/db/Projects/stack/test/integration/tests/3942-solver-error-output/files/.stack-work/downloaded/DBIRL8bki1UK/library/Network/CloudSeeder/Monads/AWS.hs:195:30: error:
        Not in scope: ‘CF.drsStatusReason’
        Perhaps you meant one of these:
          ‘CF.sisStatusReason’ (imported from Network.AWS.CloudFormation),
          ‘CF.desrsStatusReason’ (imported from Network.AWS.CloudFormation),
          ‘CF.agrStatusReason’ (imported from Network.AWS.CloudFormation)
        Module ‘Network.AWS.CloudFormation’ does not export ‘drsStatusReason’.
        |
    195 |       pure $ ChangeSet (r ^. CF.drsStatusReason) csId' params execStatus changes'
        |                              ^^^^^^^^^^^^^^^^^^
Main.hs: Expected a warning:
"While constructing the build plan, the following exceptions were encountered:"
CallStack (from HasCallStack):
  error, called at ../Main.hs:16:11 in main:Main
  1857.79s user 81.66s system 289% cpu 11:10.42 total
( cd test/integration/tests/3942-solver-error-output/files; stack exec --   -)  1857.79s user 81.66s system 289% cpu 11:10.42 total

  • [ ] cabal-solver (3acb3f80a; #116, I think)

This was failing for me on current master; it is to do with global cabal settings.

First run

Running: cabal sandbox init
Writing a default package environment file to
/home/db/Projects/stack/test/integration/tests/cabal-solver/files/cabal.sandbox.config
Creating a new sandbox at
/home/db/Projects/stack/test/integration/tests/cabal-solver/files/.cabal-sandbox
Running: /home/db/Projects/stack/.stack-work/install/x86_64-linux-tinfo6-nopie/lts-11.18/8.2.2/bin/stack unpack acme-dont-1.1
acme-dont-1.1: download
Unpacked acme-dont-1.1 to /home/db/Projects/stack/test/integration/tests/cabal-solver/files/acme-dont-1.1/
Running: cabal install ./acme-dont-1.1
Warning: cannot determine version of /home/db/.local/bin/ghcjs :
""
Warning: cannot determine version of /home/db/.local/bin/ghcjs-pkg :
""
cabal: Use of GHC's environment variable GHC_PACKAGE_PATH is incompatible with
Cabal. Use the flag --package-db to specify a package database (it can be used
multiple times).
Main.hs: Exited with exit code: ExitFailure 1
CallStack (from HasCallStack):
  error, called at ../../../lib/StackTest.hs:25:34 in main:StackTest
  7.61s user 0.85s system 70% cpu 11.943 total
( cd test/integration/tests/cabal-solver/files; stack exec -- stack runghc --)  7.61s user 0.85s system 70% cpu 11.944 total

Subsequent run

Running: cabal sandbox init
Writing a default package environment file to
/home/db/Projects/stack/test/integration/tests/cabal-solver/files/cabal.sandbox.config
Using an existing sandbox located at
/home/db/Projects/stack/test/integration/tests/cabal-solver/files/.cabal-sandbox
Running: /home/db/Projects/stack/.stack-work/install/x86_64-linux-tinfo6-nopie/lts-11.18/8.2.2/bin/stack unpack acme-dont-1.1
Unable to unpack due to already present directories:
    /home/db/Projects/stack/test/integration/tests/cabal-solver/files/acme-dont-1.1/

Main.hs: Exited with exit code: ExitFailure 1
CallStack (from HasCallStack):
  error, called at ../../../lib/StackTest.hs:38:34 in main:StackTest
  7.26s user 0.68s system 100% cpu 7.935 total
( cd test/integration/tests/cabal-solver/files; stack exec -- stack runghc --)  7.26s user 0.68s system 100% cpu 7.937 total

We can cut a release candidate before #4088 (static binary) is ready, since that only concerns the release process and not stack's functionality. We can work on that in the RC branch.

For the other two, let's go with help/documentation changes for now rather than delaying too much.

As 1.8.1 will fix a number of _coloured output_ bugs present in 1.7.1, it would perhaps be good if pull request #4184 (if it is acceptable) could also make the cut. It is also coloured output-related and fixes something revealed only by other fixes to 1.7.1 (see #4139). #4184 is very light-weight in terms of its code changes.

We're not at a release candidate, yet, so if the review is ok it may even make that.

One more:

  • [x] Fix upload integration test on Windows (see https://github.com/commercialhaskell/stack/pull/4167#issuecomment-408639201).

If confirmed, https://github.com/commercialhaskell/stack/issues/4191 seems also relevant.

  • [ ] #4159 would be good — just needs hpack updating to the newest release (the change has been merged but there's no new release yet)

4159 would be good — just needs hpack updating to the newest release (the change has been merged but there's no new release yet)

I agree, once it's released we can certainly bump the hpack version in the v1.9 RC branch.

Looks like the last missing piece was implemented (hpack release and its usage in
https://github.com/commercialhaskell/stack/commit/8d1bb774ad2626b62a6f347d10fa1d8e1f00b2e5 ) and we are unblocked for a release :)

hpack 0.31 is out now too, with a couple of new features. It's not critical, but it'd be nice if it could make it into the release as well.

This is done, right?

I'm just confirming #4159 — the change has been made; it would be good to make sure the problem is fixed. After that, yes.

Yes, it's done, and 1.9.3 is out now too.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

sjakobi picture sjakobi  Â·  4Comments

abhinav picture abhinav  Â·  4Comments

Toxaris picture Toxaris  Â·  4Comments

domenkozar picture domenkozar  Â·  3Comments

jwaldmann picture jwaldmann  Â·  4Comments