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

Switch CI to GHC 8.10.2 #2540

Merged
merged 13 commits into from Oct 16, 2020
Merged

Switch CI to GHC 8.10.2 #2540

merged 13 commits into from Oct 16, 2020

Conversation

mrBliss
Copy link
Contributor

@mrBliss mrBliss commented Aug 25, 2020

Update the dependencies to versions compatible with GHC 8.10.2.

Switch over CI to GHC 8.10.2.

@mrBliss mrBliss requested review from coot, dcoutts and nc6 August 25, 2020 16:25
@mrBliss
Copy link
Contributor Author

mrBliss commented Aug 25, 2020

Draft because it includes #2539 and #2542 until they have been merged and because it relies on unmerged revisions of dependencies.

@mrBliss mrBliss force-pushed the mrBliss/switch-ghc-8.10 branch 3 times, most recently from 8d76e57 to 14cc11d Compare August 25, 2020 17:06
@mrBliss
Copy link
Contributor Author

mrBliss commented Aug 26, 2020

This PR is out of date. #2542 has been merged. Once #2547 and/or #2539 are merged, I'll update/rebase this PR.

@mrBliss mrBliss force-pushed the mrBliss/switch-ghc-8.10 branch 5 times, most recently from 370d09b to ec7ad6a Compare September 7, 2020 17:22
@coot
Copy link
Contributor

coot commented Sep 14, 2020

Is this pr stale?

@mrBliss
Copy link
Contributor Author

mrBliss commented Oct 1, 2020

I have updated this PR. It currently contains #2652 until that is merged.

@mrBliss mrBliss force-pushed the mrBliss/switch-ghc-8.10 branch 3 times, most recently from bc02d39 to ad3fb7b Compare October 1, 2020 08:54
@coot
Copy link
Contributor

coot commented Oct 1, 2020

Failed to build Win32-2.8.3.0. - maybe we should try a newer version? There's 2.10 available on hackage.

@mrBliss
Copy link
Contributor Author

mrBliss commented Oct 1, 2020

Failed to build Win32-2.8.3.0. - maybe we should try a newer version? There's 2.10 available on hackage.

Feel free to push a fix to this PR 🙂

@coot
Copy link
Contributor

coot commented Oct 1, 2020

We need to either wait for 8.10.3 or apply this fix ourselves: https://www.stackage.org/blog/2020/08/ghc-8-10-2-windows-workaround

@mrBliss
Copy link
Contributor Author

mrBliss commented Oct 6, 2020

I have rebased the PR against master.

hamishmack and others added 6 commits October 16, 2020 15:12
This will include the patch that was added in
input-output-hk/haskell.nix#870
to fix this issue:

```
remote-iserv.exe:  | /nix/store/kiljkg0bh7kc5cp5a0cqkshnabnfh73c-mingw-w64-6.0.0-x86_64-w64-mingw32/lib/libmingw32.a: unknown symbol `__acrt_iob_func'
remote-iserv.exe:  | /nix/store/kiljkg0bh7kc5cp5a0cqkshnabnfh73c-mingw-w64-6.0.0-x86_64-w64-mingw32/lib/libmingwex.a: unknown symbol `__mingw_raise_matherr'
remote-iserv.exe:  | /nix/store/bkfn9c3pn25n3kf4s1x0bw14v5f0dm1r-x86_64-w64-mingw32-ghc-8.10.2/lib/x86_64-w64-mingw32-ghc-8.10.2/ghc-prim-0.6.1/HSghc-prim-0.6.1.o: unknown symbol `exp'
```
This will include the patch that was added in
input-output-hk/haskell.nix#874
to fix this issue:

```
Setup: The program 'pkg-config' version >=0.9.0 is required but it could not
be found.

builder for '/nix/store/16bf6j2f1fig368pi1yfv70x5njs8d6y-cardano-crypto-class-lib-cardano-crypto-class-2.0.0-x86_64-w64-mingw32.drv' failed with exit code 1
```
@mrBliss mrBliss marked this pull request as ready for review October 16, 2020 13:14
@mrBliss
Copy link
Contributor Author

mrBliss commented Oct 16, 2020

If CI turns green, we will finally be ready to switch to GHC 8.10.2 🎉

Many thanks again to @hamishmack and @coot for making this possible.

@coot
Copy link
Contributor

coot commented Oct 16, 2020

Many thanks again to @hamishmack and @coot for making this possible.

Many thanks to you @mrBliss for pushing this forward!

@mrBliss
Copy link
Contributor Author

mrBliss commented Oct 16, 2020

There is one testsuite that's taking forever in CI: Cardano:ouroboros-network-pr-2540:x86_64-w64-mingw32.haskellPackages.ouroboros-network-framework.coverageReport.x86_64-linux

typed-protocols
  Network.Typed.Protocol.PingPong.Codec.Cbor

...

  Subscription
    Resolve (Sim):                                             OK (0.04s)
      +++ OK, passed 100 tests.
      
      Resolution Result (100 in total):
      32% A success, AAAA error
      22% A error, AAAA success
      19% A and AAAA error
       9% AAAA before A (Resolution Delay)
       8% A before AAAA
       7% AAAA before A
       3% A error, AAAA no result
    Resolve Subscribe (IO):                                    OK (5.88s)
      +++ OK, passed 100 tests.
    Send Recive with Dns worker (IO):                          OK (12.73s)
      +++ OK, passed 100 tests.

and then it hangs.

The next property to test is prop_send_recv_init_and_rsp.

This same test has timed out before: https://hydra.iohk.io/build/4447199/nixlog/2 (same branch).

@coot Do you know what could be wrong?

BTW, this test is not mandatory for CI. It is mingw32, but it passes in the native Windows CI, so we could merge this PR regardless.

@mrBliss
Copy link
Contributor Author

mrBliss commented Oct 16, 2020

bors merge

@iohk-bors
Copy link
Contributor

iohk-bors bot commented Oct 16, 2020

👎 Rejected by too few approved reviews

@mrBliss mrBliss requested a review from coot October 16, 2020 14:48
Copy link
Contributor

@coot coot left a comment

Choose a reason for hiding this comment

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

LGTM, though majority of changes are in consensus (or nix).

@mrBliss
Copy link
Contributor Author

mrBliss commented Oct 16, 2020

bors merge

@iohk-bors
Copy link
Contributor

iohk-bors bot commented Oct 16, 2020

Build succeeded:

@iohk-bors iohk-bors bot merged commit 4827c38 into master Oct 16, 2020
@iohk-bors iohk-bors bot deleted the mrBliss/switch-ghc-8.10 branch October 16, 2020 15:06
@mark-stopka
Copy link
Contributor

mark-stopka commented Oct 16, 2020

Congratulations guys! @mrBliss and @coot for your patience, I hope me and @mimi1vx will be able to contribute more and more... especially if DC fund approves #dCloud forward, I have already spoke with Alex from Ergo about incirporating Ergo NIPoPoW from Ergo to Cardano... then the other way around Ouroboros Praos -> Ergo...

Our goal currently is to make Daedalus available as RPM package in openSUSE and CentOS, possibly also Ubuntu later... + add a ton of integration testing in this new repo...

https://github.com/2nd-Layer/cardano-core-integration-testing

@CharlesHoskinson as we are such a "friends", are there people at IOG I could use as point of contacts as we move forward? If you read the (sadly Czech) article, our partner / competitor, Invictus Mining has 330M CZK (14M USD) budget (incl. HW capex) to build either a dCloud or an altrnative to dCloud on other main chain, either way if dCloud won't get funded I would be joining their team do build the storage piece... We both know Decentralized Software Updates & Voltaire will need a storage solution, can we start the conversation about that over here?

input-output-hk/decentralized-software-updates#150

mrBliss added a commit to IntersectMBO/cardano-node that referenced this pull request Oct 19, 2020
The main change this brings in is
IntersectMBO/ouroboros-network#2540, which makes
ouroboros-network fully compatible with GHC 8.10.2.

Other noticeable changes:
* `nodeBlockFetchSize` was renamed to `estimateBlockSize` (and is part of a
  different type class).
* New `ClientTerminating` constructor of `TraceFetchClientState`.
* New `TraceControlMessage` constructor of `TraceTxSubmissionOutbound`.
* Added missing `COMPLETE` pragma for `CardanoLedgerState`.
mrBliss added a commit to IntersectMBO/cardano-node that referenced this pull request Oct 19, 2020
The main change this brings in is
IntersectMBO/ouroboros-network#2540, which makes
ouroboros-network fully compatible with GHC 8.10.2.

Other noticeable changes:
* `nodeBlockFetchSize` was renamed to `estimateBlockSize` (and is part of a
  different type class).
* New `ClientTerminating` constructor of `TraceFetchClientState`.
* New `TraceControlMessage` constructor of `TraceTxSubmissionOutbound`.
* Added missing `COMPLETE` pragma for `CardanoLedgerState`.
mrBliss added a commit to IntersectMBO/cardano-node that referenced this pull request Oct 19, 2020
The main change this brings in is
IntersectMBO/ouroboros-network#2540, which makes
ouroboros-network fully compatible with GHC 8.10.2.

Other noticeable changes:
* `nodeBlockFetchSize` was renamed to `estimateBlockSize` (and is part of a
  different type class).
* New `ClientTerminating` constructor of `TraceFetchClientState`.
* New `TraceControlMessage` constructor of `TraceTxSubmissionOutbound`.
* Added missing `COMPLETE` pragma for `CardanoLedgerState`.
mrBliss added a commit to IntersectMBO/cardano-node that referenced this pull request Oct 19, 2020
The main change this brings in is
IntersectMBO/ouroboros-network#2540, which makes
ouroboros-network fully compatible with GHC 8.10.2.

Other noticeable changes:
* `nodeBlockFetchSize` was renamed to `estimateBlockSize` (and is part of a
  different type class).
* New `ClientTerminating` constructor of `TraceFetchClientState`.
* New `TraceControlMessage` constructor of `TraceTxSubmissionOutbound`.
* Added missing `COMPLETE` pragma for `CardanoLedgerState`.
mrBliss added a commit to IntersectMBO/cardano-node that referenced this pull request Oct 19, 2020
The main change this brings in is
IntersectMBO/ouroboros-network#2540, which makes
ouroboros-network fully compatible with GHC 8.10.2.

Other noticeable changes:
* `nodeBlockFetchSize` was renamed to `estimateBlockSize` (and is part of a
  different type class).
* New `ClientTerminating` constructor of `TraceFetchClientState`.
* New `TraceControlMessage` constructor of `TraceTxSubmissionOutbound`.
* Added missing `COMPLETE` pragma for `CardanoLedgerState`.
mrBliss added a commit to IntersectMBO/cardano-node that referenced this pull request Oct 21, 2020
The main change this brings in is
IntersectMBO/ouroboros-network#2540, which makes
ouroboros-network fully compatible with GHC 8.10.2.

Other noticeable changes:
* `nodeBlockFetchSize` was renamed to `estimateBlockSize` (and is part of a
  different type class).
* New `ClientTerminating` constructor of `TraceFetchClientState`.
* New `TraceControlMessage` constructor of `TraceTxSubmissionOutbound`.
* Added missing `COMPLETE` pragma for `CardanoLedgerState`.
mrBliss added a commit to IntersectMBO/cardano-node that referenced this pull request Oct 22, 2020
The main change this brings in is
IntersectMBO/ouroboros-network#2540, which makes
ouroboros-network fully compatible with GHC 8.10.2.

Other noticeable changes:
* `nodeBlockFetchSize` was renamed to `estimateBlockSize` (and is part of a
  different type class).
* New `ClientTerminating` constructor of `TraceFetchClientState`.
* New `TraceControlMessage` constructor of `TraceTxSubmissionOutbound`.
* Added missing `COMPLETE` pragma for `CardanoLedgerState`.
mrBliss added a commit to IntersectMBO/cardano-node that referenced this pull request Oct 23, 2020
The main change this brings in is
IntersectMBO/ouroboros-network#2540, which makes
ouroboros-network fully compatible with GHC 8.10.2.

Other noticeable changes:
* `nodeBlockFetchSize` was renamed to `estimateBlockSize` (and is part of a
  different type class).
* New `ClientTerminating` constructor of `TraceFetchClientState`.
* New `TraceControlMessage` constructor of `TraceTxSubmissionOutbound`.
* Added missing `COMPLETE` pragma for `CardanoLedgerState`.
JaredCorduan pushed a commit to IntersectMBO/cardano-node that referenced this pull request Nov 3, 2020
The main change this brings in is
IntersectMBO/ouroboros-network#2540, which makes
ouroboros-network fully compatible with GHC 8.10.2.

Other noticeable changes:
* `nodeBlockFetchSize` was renamed to `estimateBlockSize` (and is part of a
  different type class).
* New `ClientTerminating` constructor of `TraceFetchClientState`.
* New `TraceControlMessage` constructor of `TraceTxSubmissionOutbound`.
* Added missing `COMPLETE` pragma for `CardanoLedgerState`.
coot added a commit that referenced this pull request May 16, 2022
2540: Switch CI to GHC 8.10.2 r=mrBliss a=mrBliss

Update the dependencies to versions compatible with GHC 8.10.2.

Switch over CI to GHC 8.10.2.

Co-authored-by: Thomas Winant <thomas@well-typed.com>
Co-authored-by: Hamish Mackenzie <Hamish.K.Mackenzie@gmail.com>
Co-authored-by: Marcin Szamotulski <profunctor@pm.me>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants