ci: Add doctests to CI again.
What type of PR is this? (check all applicable)
- [ ] ๐พ Refactor
- [ ] ๐ช Feature
- [ ] ๐ Bug Fix
- [ ] ๐ง Optimization
- [ ] ๐ Documentation
- [x] ๐งช Test
- [ ] ๐ ๏ธ Other
Related issues
- Related issue #
- Closes #
Checklist
- [x] Code follows style guide
- [x] Tests added
- [x] Documented the changes
Please explain your changes below.
CodSpeed Performance Report
Merging #767 will degrade performances by 41.43%
Comparing hameerabbasi:doctests-2 (e86fc3a) with main (b4ba7c6)
Summary
โก 1 improvements
โ 1 regressions
โ
338 untouched benchmarks
:warning: Please fix the performance issues or acknowledge them on CodSpeed.
Benchmarks breakdown
| Benchmark | main |
hameerabbasi:doctests-2 |
Change | |
|---|---|---|---|---|
| โก | test_index_fancy[side=100-rank=1-format='coo'] |
1,242.2 ยตs | 642.4 ยตs | +93.36% |
| โ | test_index_slice[side=100-rank=2-format='gcxs'] |
2.4 ms | 4.1 ms | -41.43% |
@willow-ahrens Doctest issue.
using numba from the numba channel (with a statically linked llvmlite) fixes the segfault issue on mac. It appears that the segfault issue is mac-only at this point, as linux supports some special symbol resolution thing that fixed this problem.
Proposed solution: I would like to leave a warning to users on startup in the event that they have tried to load this particular config of packages. I think we could warn in pydata/sparse whenever we see (conda in use) AND (macos) AND (numba was not installed from numba channel)
As a side note: it is odd to me that we are loading both numba and finch at the same time. we might reduce some of this headache by switching between backends as a build option, rather than a runtime option.
I cannot get a reproducer for this in docker, though I have tried. If anyone can get a reproducer for this that would be great, then we can put it in an issue where we describe the problem. If you ssh into the CI runner, even doing "import sparse.finch_backend" will segfault, so we don't need all the pytest stuff to reproduce.
I've put a comment in to pyjuliapackage that we experience an issue with parallel installs, and suggested a fix here: https://github.com/JuliaPy/pyjuliapkg/issues/19
also, note this comment regarding installation of juliacall and numba on conda: https://github.com/JuliaPy/PythonCall.jl/issues/215#issuecomment-2540274772
And please remember about a commit squash!