MAINT - Using pixi for nightlies and fixing failing nightly tests#1664
Conversation
|
I can't tell why nightly tests fail; my first guess would be that some dependency is missing from the |
|
Hi @auguste-probabl, I think this PR is already useful even if it is not perfect. I'm already glad I can run nightly tests with it! I can reproduce the tests failing on my machine, I'll look into them |
|
Looking at the failed tests, it seems like the vast majority are doctests or unit tests that are failing because a RejectColumn error is raised. From what I can tell, the reason is the migration to There are some additional tests that are failing and that might just be issues with other dependencies. So what's happening is that nightly tests are failing because nightly dependencies will break things, so the tests are working as intended 🙈 I think we should merge this and start hammering whatever tests are being broken afterwards |
13b29cc to
687aa82
Compare
Approval was done to test something, removing it for now
|
I'll be using this PR to fix the bugs in the nightlies and merge this PR once the bugs have been addressed |
|
Unsuprisingly, fixing some tests broke some others. Noting down things that are still failing:
I'd like to have a way of replacing the values of certain docstrings depending on the version of pandas, but I couldn't find a decent way of doing it, which means I might have to use doctest +SKIP instead. |
|
I'd like to have a way of replacing the values of certain docstrings depending on the version of pandas, but I couldn't find a decent way of doing it, which means I might have to use doctest +SKIP instead.
I would first try to use ELLIPSIS
|
|
maybe |
|
we could also consider running the doctests only in some environments (e.g. those with pandas < 3 for now), while making sure that all the behavior shown in doctests is also covered by unit tests (which run in all the environments, but can afford more boilerplate to handle discrepancies between versions) see the |
|
I had to update the version of python because with py311 I was not able to pull the latest package versions (also it makes more sense to have a later version of python to test nightlies). |
|
This PR is blocked by #1618: the failing tests are in |
|
🙌 |
GaelVaroquaux
left a comment
There was a problem hiding this comment.
I have only one comment: one place where I would like @rcap107 to add a comment explaining what's going on
| assert dirpath.exists() | ||
|
|
||
|
|
||
| def test_extract_archive_exception_unlink_called(): |
There was a problem hiding this comment.
I'm a bit confused as to what these have to do with the subject of the PR, but that's not very important
There was a problem hiding this comment.
They were an attempt at getting coverage to pass, but it did not work
I can remove the tests if you prefer
| else: | ||
| out = transformer.fit(df).transform(df) | ||
| df_module.assert_frame_equal(out, s.select(df, ())) | ||
| selected = s.select(df, ()) |
There was a problem hiding this comment.
It would be useful to add a comment explaining what the above line is doing (I cannot tell)
Co-authored-by: Gael Varoquaux <gael.varoquaux@normalesup.org>
Co-authored-by: Gael Varoquaux <gael.varoquaux@normalesup.org>
|
Merged, thanks! |
The strategy is to define a new pixi environment where the PyPI indexes provide the nightly builds. This is made difficult by pixi giving priority to conda channels rather than PyPI indexes when both are available. The solution I've found is to explicitly disable and redefine the dependencies, which is repetitive and thus error-prone.
Maybe pixi's
conda-pypi-mapcould help; alternatively, maybe it's possible to find nightly dependencies in conda channels (after all, the scientific python ones do come from Anaconda)?Closes #1173 and likely also closes #1586