Skip to content
This repository was archived by the owner on Oct 7, 2020. It is now read-only.

Support for ghc-8.8.3 #1697

Merged
merged 21 commits into from
Apr 10, 2020
Merged

Support for ghc-8.8.3 #1697

merged 21 commits into from
Apr 10, 2020

Conversation

jneira
Copy link
Member

@jneira jneira commented Mar 12, 2020

@alanz
Copy link
Collaborator

alanz commented Mar 12, 2020

looks reasonable to me

Copy link

@0xd34df00d 0xd34df00d left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I also started working on supporting ghc 8.8.3, and only then I noticed there's already a PR. So, just a tiny comment here.

stack-8.8.3.yaml Outdated
Comment on lines 17 to 23
# To avoid build error with ghc-8.8.2
# See https://github.com/haskell/haddock/issues/1123
- git: https://github.com/haskell/haddock.git
commit: be8b02c4e3cffe7d45b3dad0a0f071d35a274d65
subdirs:
- haddock-api
# - haddock-api-2.23.0

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks like - haddock-api-2.23.1 would also work — it seems to build with ghc 8.8.2 and later. Dunno if using a released version is preferable.

Copy link
Member Author

@jneira jneira Mar 30, 2020

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Absolutely! Thanks for pointing it out

@mouse07410
Copy link

@jneira I noticed that at least one of the failed CI jobs (https://circleci.com/gh/jneira/haskell-ide-engine/4298?utm_campaign=vcs-integration-link&utm_medium=referral&utm_source=github-build-link) failed in Hoogle DB build on unsuccessful attempt to retrieve cabal.config file from Stackage. That file simply doesn't exist on Stackage (at least for some GHC and/or resolver versions), like it or not.

Some time ago, trying to use intellij-haskell plugin (that works only with Stack), I've seen this error a lot when the plugin tried to open Cabal projects (which most of my projects are). I convinced the plugin author to just create a default cabal.config if the retrieval fails (as it did for me in 95% of all cases). Finally, since I've no use of an IDE that's limited to Stack only, I dumped that plugin, and develop Haskell code only on VSCode with HIE, but that's besides the point.

I did not examine all of the CI failures - but if they all break on retrieving cabal.config, perhaps you want to either ignore those builds, or do something similar to what we did above?

@jneira
Copy link
Member Author

jneira commented Apr 5, 2020

Thank for take a look. They are transient erros related with connectivity of ci machines and are relatively frequent, but usually they go if you run the job again.
The tests that are failing are these: https://circleci.com/gh/jneira/haskell-ide-engine/4302
I've collected then in a gist: https://gist.github.com/jneira/9bf777438bc0adbd5d6ba1e9be9350bf

@mouse07410
Copy link

The tests that are failing are these ...

I see, thanks. Yeah, on that level I'm incompetent to help, alas.

Offhand, could you check if the problems are only with Stack-driven tests?

@fendor
Copy link
Collaborator

fendor commented Apr 7, 2020

Executing the tests locally with cabal as the main test-driver does not yield the failing test-cases.
I changed the test setup a bit, e.g. generating a

cradle:
  cabal:

for the testdata since my stack installation has been wiped and I didnt want to run it right now, but I guess I have to :(

@haskell haskell deleted a comment from azure-pipelines bot Apr 7, 2020
@jneira
Copy link
Member Author

jneira commented Apr 8, 2020

Once that @fendor has done the hard part (as usual 😸 ), fix the test suite, only left some errors in azure for windows: https://dev.azure.com/jneira/haskell-ide-engine/_build/results?buildId=744&view=results
The build has quite transient errors as well, running it again.

@jneira
Copy link
Member Author

jneira commented Apr 9, 2020

I am afraid that ghc-8.8.3 is throwing segfaults in azure ci, probably due to a ghc bug: https://gitlab.haskell.org/ghc/ghc/issues/17926
However i am able to build hie locally with ghc-8.8.3 so i am gonna remove the build from ci but i will not remove it as supported ghc version to build hie in the script install.hs for now

@fendor
Copy link
Collaborator

fendor commented Apr 9, 2020

Should we still merge?

@jneira jneira force-pushed the ghc-8.8.3 branch 2 times, most recently from 6238a49 to c3579bf Compare April 9, 2020 19:30
@jneira jneira marked this pull request as ready for review April 9, 2020 19:39
@jneira
Copy link
Member Author

jneira commented Apr 9, 2020

@fendor i think it can be merged, i am only trying to fix azure builds, although some errors are not related with ghc-8.8.3.

@jneira
Copy link
Member Author

jneira commented Apr 9, 2020

Well, linux stack jobs have ran out of disk space since c8ed3e5 :

Filesystem      Size  Used Avail Use% Mounted on
udev            3.4G     0  3.4G   0% /dev
tmpfs           695M  8.9M  686M   2% /run
/dev/sda1        84G   80G  3.6G  96% /
tmpfs           3.4G  8.0K  3.4G   1% /dev/shm
tmpfs           5.0M     0  5.0M   0% /run/lock
tmpfs           3.4G     0  3.4G   0% /sys/fs/cgroup
/dev/loop0       40M   40M     0 100% /snap/hub/43
/dev/loop1       94M   94M     0 100% /snap/core/8935
/dev/sda15      105M  3.6M  101M   4% /boot/efi
/dev/sdb1        14G   35M   13G   1% /mnt

It make the download of ghc-8.8.1, necessary for wrapper-tests fail:

Installing GHC ...
/home/vsts/.stack/programs/x86_64-linux/ghc-8.8.1/lib/ghc-8.8.1/Cabal-3.0.0.0/.copyFile75307-1209.tmp: copyFile: resource exhausted (No space left on device)
make[1]: *** [install_packages] Error 1
make: *** [install] Error 2
Run from: /home/vsts/.stack/programs/x86_64-linux/ghc-8.8.1.temp/ghc-8.8.1/


Error: Error encountered while installing GHC with
         make install
         run in /home/vsts/.stack/programs/x86_64-linux/ghc-8.8.1.temp/ghc-8.8.1/
       
       The following directories may now contain files, but won't be used by stack:
         - /home/vsts/.stack/programs/x86_64-linux/ghc-8.8.1.temp/
         - /home/vsts/.stack/programs/x86_64-linux/ghc-8.8.1/
       
       For more information consider rerunning with --verbose flag
       

Command `stack ghc -- --numeric-version` failed.

version checking
  picks up a stack.yaml with 8.8.1 FAILED [1]
  picks up a stack.yaml with 8.6.5
  picks up whatever version of ghc is on this machine

Failures:

  test/wrapper/HieWrapper.hs:18:9: 
  1) version checking picks up a stack.yaml with 8.8.1
       expected: "8.8.1"
        but got: "8.8.3"

It is not related with this pr, so i would merge this if other builds are succesful.

@jneira
Copy link
Member Author

jneira commented Apr 10, 2020

Almost all failing jobs are due to #1729 so i think it can be merged

@jneira jneira requested a review from fendor April 10, 2020 20:47
Copy link
Collaborator

@fendor fendor left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM!
Hopefully we can fix the CI in a follow up PR.

@jneira jneira merged commit 78eb87b into haskell:master Apr 10, 2020
@jneira jneira deleted the ghc-8.8.3 branch April 10, 2020 21:43
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Support for ghc-8.8.3
6 participants