[wip/test] ci:Update CI testing matrix for Python versions
What does this PR do ?
Expand the CI testing matrix to include Python versions 3.12 and 3.13.
Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:
Project coverage is 83%. Comparing base (
abfebfd) to head (cd0b0d0). Report is 1 commits behind head on main.
Additional details and impacted files
@@ Coverage Diff @@
## main #589 +/- ##
====================================
+ Coverage 80% 83% +3%
====================================
Files 43 43
Lines 6492 6609 +117
====================================
+ Hits 5181 5499 +318
+ Misses 1311 1110 -201
:rocket: New features to boost your workflow:
- :snowflake: Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
is this pr still in WIP? Is there anything else that you intend to add?
is this pr still in WIP? Is there anything else that you intend to add?
Not really. I just had a concern: adding more Python versions might introduce unnecessary tests and increase GitHub Actions usage.
@borda @tchaton, what are your thoughts on this? Should we expand the Python version matrix further, or is the current setup sufficient? I added for Python 3.11 last week.
Tests on both ubuntu-22.04, 3.12 and macos-14, 3.12 appear to have fully passed (292 passed) in ~20 mins and ~30 mins respectively, but the job remains stuck in the "Tests" step and doesn't complete.
Will investigate the cause of the hang shortly.
Seems that the tests are running for 40 minutes, which is quite a significant time, so can we run them in parallel?
The hang on 3.12+ is a known issue in the older pytest-cov/coverage releases: their C-API hooks never return on CPython 3.12+, so pytest never tears down.
seems it did not help
could be related:
Review Python 3.12’s release notes (e.g., PEP 684, multiprocessing improvements) for clues. The spawn start method is safer but slower, which might affect litdata’s performance tests.
@bhimrazy, it seems something in the processing folder is causing hanging, probably not properly cleaned daemon processes... You can try to narrow it down with the ignore argument 🦩
Sure @Borda , will check it out — thanks for the heads-up!
Notes for follow-up PRs:
- Re-enable and fix the skipped test above (
test_optimize_checkpoint_in_none_and_append_mode). - Investigate and Reintroduce macOS for Python ≥3.12
- Add Windows for Python >3.12 to the matrix.