-
Notifications
You must be signed in to change notification settings - Fork 30
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
Turing integration tests should be moved to (or included in) Turing repo #703
Comments
Or, maybe even better, factorise them out into a separate repo (or file). Retain the behaviour in DPPL in that we attempt to catch failures on patch version bumps, but also separately add them to Turing tests so that we catch minor version bumps. |
These are not run by the IntegrationTest workflow but a part of the DynamicPPL tests ( DynamicPPL.jl/test/runtests.jl Lines 110 to 131 in 18af48a
IMO step 1 is fine (of course, a bug-free release would be better). AFAICT the problem with step 2 was that the bug was only caught by additional tests in DynamicPPL (test/turing) that are not part of the Turing test suite. IMO these tests should just be moved to Turing.jl - if Turing.jl is compatible with the development version of DynamicPPL, these tests will still be run as part of the IntegrationTest workflow in DynamicPPL. |
TODO
Stretch goal:
|
DynamicPPL contains a series of integration tests in the
test/turing
directory.The way it's set up in CI, it fetches the most recent version of Turing, and if it's compatible with the version of DynamicPPL being tested, it runs the tests. If it's not compatible, it logs it and exits.
DynamicPPL.jl/.github/workflows/IntegrationTest.yml
Lines 35 to 51 in 18af48a
This unfortunately has the potential to cause breakage, as illustrated by this sequence of events with DynamicPPL 0.30:
generated_quantities
resamples values it shouldn't be resampling.The solution to this, IMO, is to move the integration tests to the Turing.jl repo. That way, this chain of events would have been arrested at step 2. It's true that DynamicPPL itself would have a buggy release, but at least we wouldn't be letting ordinary Turing-users access it; they would have to be fiddling with internals to access a version that wasn't compatible with Turing.
More generally speaking, the integration tests get run on new patch releases but don't get run on new minor releases (because Turing's compat can't have been updated yet). This is a bit counterintuitive, because it's far more likely that a minor release breaks Turing rather than a patch release. I think it also leads to a false confidence when seeing the green tick.
The text was updated successfully, but these errors were encountered: