litdata icon indicating copy to clipboard operation
litdata copied to clipboard

[wip/test] ci:Update CI testing matrix for Python versions

Open bhimrazy opened this issue 7 months ago • 3 comments

What does this PR do ?

Expand the CI testing matrix to include Python versions 3.12 and 3.13.

bhimrazy avatar May 13 '25 05:05 bhimrazy

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.

codecov[bot] avatar May 13 '25 06:05 codecov[bot]

is this pr still in WIP? Is there anything else that you intend to add?

deependujha avatar May 17 '25 10:05 deependujha

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.

bhimrazy avatar May 17 '25 14:05 bhimrazy

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.

bhimrazy avatar May 24 '25 15:05 bhimrazy

Seems that the tests are running for 40 minutes, which is quite a significant time, so can we run them in parallel?

Borda avatar Jun 02 '25 08:06 Borda

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

Borda avatar Jun 02 '25 09:06 Borda

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.

Borda avatar Jun 12 '25 10:06 Borda

@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 🦩

Borda avatar Jun 12 '25 10:06 Borda

Sure @Borda , will check it out — thanks for the heads-up!

bhimrazy avatar Jun 12 '25 10:06 bhimrazy

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.

bhimrazy avatar Jun 17 '25 14:06 bhimrazy