-
Notifications
You must be signed in to change notification settings - Fork 701
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
make sure cabal-install is compatible with Cabal #10264
Conversation
|
Problem is, I need the sdists from an earlier step, or else generate them myself and then make sure the tree doesn't interfere with my install from the sdist somehow. |
65cd68a
to
8c0b60e
Compare
Also, it's bad enough that |
2db6a88
to
056ea72
Compare
Repeating some steps in a separate workflow may be a lesser evil, I think. Storing the matrix in a json file sounds like a reasonable idea too. |
c610092
to
6ae49f7
Compare
Can't test this further without backporting it to a release branch. Although it'd be nice if I could identify a PR targeting |
6ae49f7
to
590dc63
Compare
Actually, I would; they just become conditions for the workflow to run instead of conditions for various steps to run. |
Which conditions would you check on a standalone workflow? You can select the platform, the GHC version, and the target branch declaratively. Not that this was super important. Most of all, I'm concerned and wary about adding anything to validate.yml at this point. |
0423c5f
to
c36d094
Compare
6e078c0
to
3ef5b02
Compare
b844e82
to
d29c2ed
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
That's amazing!
6b7d532
to
2f18811
Compare
Most recent change corrected it to actually test the problematic case: it now succeeds trivially if This also means it shouldn't test the latest release of GHC branches, it should test the first release. (Which in turn means that there wouldn't be any duplication with |
92a8009
to
a4544b3
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Cool!
See haskell#9833 If a ghc ships with a compatible Cabal, it will be preferred by the solver on `cabal install cabal-install`; the new `cabal-install` should in fact be compatible. So we test this on release branches that have had at least one release on Hackage. (Ideally we'd check ghc instead, but we can't do that from GHA. Even checking Hackage is pretty painful.)
a4544b3
to
3a7a0b7
Compare
@mergify backport 3.12 |
✅ Backports have been created
|
@mergify backport 3.14 |
✅ Backports have been created
|
Note: it's fine to do this post-release, since it will only do anything once a ghc is shipped with |
make sure cabal-install is compatible with Cabal (backport #10264)
See #9833
If a ghc ships with a compatible Cabal, it will be preferred by the solver on
cabal install cabal-install
; the newcabal-install
should in fact be compatible. So we test this on release branches that have been included in at least one GHC release.Fixes: #9833
Fixes: #9835
Fixes: #9838
Fixes: #9863
CI note: there's really no way to test this, aside from reproducing #9833 for which it's a bit too late. Testing will only be possible with the 9.12 branch and future release branches. As such, manual CI would mean making an sdist of the
HEAD
of9.12
branch, then trying to build that sdist against 9.10.1 (which is essentially what this does, except that it won't actually do that test until it's backported). Note that that build may well succeed, because I've been trying to be careful with backports specifically to avoid repeating the mistakes we made with 3.10.3; the point of this PR is to try to catch that kind of failure in CI before we make a release with a breaking change.Template B: This PR does not modify behaviour or interface
E.g. the PR only touches documentation or tests, does refactorings, etc.
Include the following checklist in your PR: