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

9.2.4 compatibility #3041

Merged
merged 7 commits into from
Nov 1, 2022
Merged

9.2.4 compatibility #3041

merged 7 commits into from
Nov 1, 2022

Conversation

angerman
Copy link
Contributor

@angerman angerman commented Sep 16, 2022

VERY WIP

Depends on #3098.

This is mostly here to get Hydra building the shell in the background for easier iteration. Then we need to actually push the changes to this branch to get things compiling with 9.2.


This moves the ledger to build primarily with GHC 9.2. I say "primarily", because there annoyingly remains one package that doesn't build with 9.2, namely plutus-preprocessor. This is because we haven't fixed up plutus-tx-plugin to work with 9.2 yet.

The compromise position I've taken is to move the default build environment to 9.2, but leave instructions for how to get an 8.10 shell if you need to use plutus-preprocessor. This requires us to not break 8.10 support for a while, but hopefully not too long. And it still lets us progress towards a 9.2 node.

The alternative would be to just not try to keep 8.10 support at all, and not try to keep plutus-preprocessor building. Then we would resurrect it once we fix plutus-tx-plugin. I think that's worth considering, since it's not used that frequently and it's not that much code. This approach would allow you to start using 9.2 features everywhere (and give you a simpler CI), but at the cost of losing plutus-preprocessor for a bit. Up to you.

@erikd erikd force-pushed the erikd/ghc-9.2 branch 2 times, most recently from 182a1c7 to 765def1 Compare September 18, 2022 08:40
@erikd erikd force-pushed the erikd/ghc-9.2 branch 4 times, most recently from 3a487ac to fa83270 Compare October 19, 2022 21:43
@erikd erikd requested a review from a team as a code owner October 19, 2022 21:43
@JaredCorduan
Copy link
Contributor

@angerman @erikd can we close the following PRs in favor of this one?

@erikd erikd force-pushed the erikd/ghc-9.2 branch 2 times, most recently from 6de4e04 to 59e8410 Compare October 25, 2022 04:35
cabal.project Outdated Show resolved Hide resolved
eras/alonzo/impl/cardano-ledger-alonzo.cabal Outdated Show resolved Hide resolved
eras/alonzo/test-suite/cardano-ledger-alonzo-test.cabal Outdated Show resolved Hide resolved
eras/alonzo/test-suite/cardano-ledger-alonzo-test.cabal Outdated Show resolved Hide resolved
eras/babbage/impl/cardano-ledger-babbage.cabal Outdated Show resolved Hide resolved
libs/cardano-ledger-test/cardano-ledger-test.cabal Outdated Show resolved Hide resolved
@erikd erikd force-pushed the erikd/ghc-9.2 branch 2 times, most recently from b663d59 to 36b3bcf Compare October 26, 2022 05:46
This was referenced Oct 26, 2022
@angerman
Copy link
Contributor Author

I added back @michaelpj's original commentary.

Copy link
Contributor

@michaelpj michaelpj left a comment

Choose a reason for hiding this comment

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

Looks good!

eras/babbage/impl/cardano-ledger-babbage.cabal Outdated Show resolved Hide resolved
eras/byron/crypto/cardano-crypto-wrapper.cabal Outdated Show resolved Hide resolved
@angerman
Copy link
Contributor Author

Thanks @michaelpj!

@angerman
Copy link
Contributor Author

The next iteration on this repo, should cut the nix code aggressively for a stock flake if possible.

@michaelpj
Copy link
Contributor

Some test failures, looks like it's looking for test files in the wrong place.

@michaelpj
Copy link
Contributor

I pushed the haskell.nix bump that fixes the datadir problem.

@michaelpj
Copy link
Contributor

The cicero job is broken due to https://input-output.atlassian.net/browse/CIC-246, but Hydra is green. In fact we're about to release a 9.2-compatible plugin, so if we wait a short time then we'll be able to avoid the conditionals an everything.

michaelpj and others added 2 commits November 1, 2022 09:33
* Relax base bounds
* Remove redundant constraints.
* Replace -Weverything with -Wall.
* Remove unused dependencies.
* Much more.

Co-Authored-By: Moritz Angermann <moritz.angermann@gmail.com>
Co-Authored-By: John Ky <john.ky@iohk.io>
Co-Authored-By: Michael Peyton Jones <michael.peyton-jones@iohk.io>
@michaelpj
Copy link
Contributor

Went green!

@michaelpj
Copy link
Contributor

@JaredCorduan I think this is good to go now!

Copy link
Collaborator

@lehins lehins left a comment

Choose a reason for hiding this comment

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

👍

Github Actions CI is still failing due to constraint resolution, other than that it looks good

Copy link
Contributor

@JaredCorduan JaredCorduan left a comment

Choose a reason for hiding this comment

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

very exciting, thank you so much to everyone who helped with this!

@michaelpj
Copy link
Contributor

Ah indeed, we should mark plutus-preprocessor as not buildable on older GHC versions, so cabal doesn't think it should be.

@michaelpj
Copy link
Contributor

🎉

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.

6 participants