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

3.14 pre-flight checks: bump dependencies #10244

Merged
merged 3 commits into from
Aug 7, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion Cabal-described/Cabal-described.cabal
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ library
, QuickCheck
, rere >=0.1 && <0.3
, tasty <1.6
, tasty-quickcheck <0.11
, tasty-quickcheck <0.12
Copy link
Collaborator

Choose a reason for hiding this comment

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

The API changed, according to CI. Do we want to bump and conditionalize, or leave it at the old version?

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

True... In particular, it looks like it's only one file?

tests/UnitTests/Distribution/Solver/Modular/QuickCheck/Utils.hs:35:24: error: [GHC-83865]
Error:     • Couldn't match expected type: (Test.QuickCheck.Random.QCGen, Int)
                  with actual type: Maybe a0
    • In the pattern: Nothing
      In the pattern: QuickCheckReplay Nothing
      In a case alternative:
          QuickCheckReplay Nothing -> getStdRandom random
   |
35 |       QuickCheckReplay Nothing -> getStdRandom random
   |                        ^^^^^^^

(and two more errors like that). In tasty-quickcheck-0.11 this constructor has changed. There's another constructor that appeared in 0.11, QuickCheckReplayLegacy that is close to the one we use (sans Maybe).

How could we conditionalize btw? Leaving <0.11 would be fine, perhaps, but then every time we do cabal outdated (as per the wiki) it will make some noise -- I'm not a fan of that. I'd rather we had clean cabal outdated. In particular, if it's a matter of adding CPP in one tiny file in the test suite, I'd be fine with that.

Copy link
Collaborator

Choose a reason for hiding this comment

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

Yeh, by "conditionalize" I meant CPP on MIN_VERSION_tasty_quickcheck or whatever it is.

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

@Kleidukos @Mikolaj opinions? Options with supporting tasty-quickcheck starting from 0.11 are:

  1. add CPP
  2. don't support it, stick to <0.11
  3. support versions starting from 0.11. It looks like it's only a test dependency (but in the cabal-install package), so it's probably not too bad regarding the support window.

Copy link
Collaborator

Choose a reason for hiding this comment

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

It looks like UnkindPartition/tasty#425 may provide the same functionality as that utils file, so we may be able to upgrade tasty and delete the whole file eventually.

Copy link
Member

Choose a reason for hiding this comment

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

Yes obviously my pick is conditioned by "Does the CI pass" ;-)

Copy link
Collaborator

Choose a reason for hiding this comment

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

Yes, I think that we should start with (1) or (3), depending on what is required to satisfy the build, and then move towards (3), since tasty-quickcheck is only a test dependency.

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

Hey all. I put ^>=0.11 for tasty-quickcheck, and CI seems to be fine with it. Check it out.

Copy link
Collaborator

Choose a reason for hiding this comment

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

Great! I verified that the QuickCheck seeds are being displayed correctly with the new API: https://github.com/haskell/cabal/actions/runs/10241795977/job/28330597202#step:19:17

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

Oh, that's great, because I wasn't sure.


exposed-modules:
Distribution.Described
Expand Down
4 changes: 2 additions & 2 deletions Cabal-tests/Cabal-tests.cabal
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,7 @@ test-suite unit-tests
, QuickCheck >=2.14 && <2.15
, tasty >=1.2.3 && <1.6
, tasty-hunit
, tasty-quickcheck <0.11
, tasty-quickcheck <0.12
, temporary
, text

Expand Down Expand Up @@ -175,7 +175,7 @@ test-suite rpmvercmp
QuickCheck
, tasty >=1.2.3 && <1.6
, tasty-hunit
, tasty-quickcheck <0.11
, tasty-quickcheck <0.12

c-sources: tests/cbits/rpmvercmp.c
cc-options: -Wall
Expand Down
2 changes: 1 addition & 1 deletion cabal-install-solver/cabal-install-solver.cabal
Original file line number Diff line number Diff line change
Expand Up @@ -135,5 +135,5 @@ Test-Suite unit-tests
, Cabal-syntax
, cabal-install-solver
, tasty >= 1.2.3 && <1.6
, tasty-quickcheck <0.11
, tasty-quickcheck <0.12
, tasty-hunit >= 0.10
6 changes: 3 additions & 3 deletions cabal-install/cabal-install.cabal
Original file line number Diff line number Diff line change
Expand Up @@ -231,7 +231,7 @@ library
edit-distance >= 0.2.2 && < 0.3,
exceptions >= 0.10.4 && < 0.11,
filepath >= 1.4.0.0 && < 1.6,
hashable >= 1.0 && < 1.5,
hashable >= 1.0 && < 1.6,
HTTP >= 4000.1.5 && < 4000.5,
mtl >= 2.0 && < 2.4,
network-uri >= 2.6.0.2 && < 2.7,
Expand Down Expand Up @@ -350,7 +350,7 @@ test-suite unit-tests
zlib,
tasty >= 1.2.3 && <1.6,
tasty-golden >=2.3.1.1 && <2.4,
tasty-quickcheck <0.11,
tasty-quickcheck ^>=0.11,
tasty-expected-failure,
tasty-hunit >= 0.10,
tree-diff,
Expand Down Expand Up @@ -439,6 +439,6 @@ test-suite long-tests
tasty >= 1.2.3 && <1.6,
tasty-expected-failure,
tasty-hunit >= 0.10,
tasty-quickcheck <0.11,
tasty-quickcheck <0.12,
QuickCheck >= 2.14 && <2.16,
pretty-show >= 1.6.15
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ instance IsTest QCWithSeed where

run options (QCWithSeed test) progress = do
replay <- case lookupOption options of
QuickCheckReplay (Just override) -> return override
QuickCheckReplay Nothing -> getStdRandom random
QuickCheckReplayLegacy override -> return override
_ -> getStdRandom random
notice normal $ "Using --quickcheck-replay=" ++ show replay
run (setOption (QuickCheckReplay (Just replay)) options) test progress
run (setOption (QuickCheckReplayLegacy replay) options) test progress
Loading