-
-
Notifications
You must be signed in to change notification settings - Fork 1k
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
Update nixpkgs and GHCs for cabal / stack, test with PG 17 #3775
Update nixpkgs and GHCs for cabal / stack, test with PG 17 #3775
Conversation
This is to make sure that we will always have the same development environment for the docs build as is used live on the website.
PostgreSQL 17 has been released: https://www.postgresql.org/about/news/postgresql-17-released-2936/ Let's make sure CI runs with it, too.
This will make it much easier to actually cross-compile the static executable to different systems.
5d351b5
to
7966635
Compare
7966635
to
6f7c85c
Compare
This prevents errors in CI after updating the hackage index-state.
b9f052e
to
0e623b5
Compare
The macos build is failing, but it was passing before already once. I can't built it locally and push to the cache.. so I will just run it on main to have that happen and will possibly restart it if necessary. Should be good after running through once. |
Q: I thought I saw GHC 9.10.1 in this PR before, why was it removed? Something broke? I was hoping to do some experiments with Linear Types, GHC 9.10.1 added support for using it with let/where (ref). |
Right, the dependencies are not up2date to support it, yet. The first one that broken was Protolude - didn't get any further than that. Since there is not much activity upstream, we might need to consider switching to a different Prelude replacement. |
After this PR, I got the following error locally:
Running |
Yes, correct. I added cabal update to everything that build or tests in CI, to do that automatically, but I guess I might have missed some tools that are only run locally. |
I think we discussed this before, but couldn't we just delete the |
I think this would silently pull in new dependencies for cabal-based builds, which we still do. This makes CI not reproducible anymore. Not sure whether that was the original reason why it was added, though. |
It's exactly the reason I've introduced it in #3004. Should've added a comment there too, though. Also I wonder if I could fix these more explicitly by introducing upper bound in |
Thanks for linking that discussion again. There was a suggestion of tying the index-state and the nixpkgs version together. I think this makes sense - in principle. I already tied the nixpkgs version together with For hackage that's not as easy. First of all, a certain date for nixpkgs doesn't mean it had already pulled in that date of hackage - so the dates are certainly different. Furthermore, the haskell packages available by default in nixpkgs are actually based on stackage LTS, not hackage. In any case, the big goal is to eventually do everything in nix - and we have moved a lot closer to that goal within the last couple of months.
I think this is a lot harder to maintain. IMHO, we'd ideally not have any upper bounds in Imho, we should only have upper bounds if we know a newer version is not compatible. Example: |
Update and align everything. Let's see which parts pass and which don't.