Repository navigation
Run tests_min_versions on Python 3.11 and pin every dependency at its floor - #7741
Conversation
|
The docs for this PR live here. All of your documentation changes will be reflected on that endpoint. The docs are available until 30 days after the last update. |
tests_min_versions CI job for Python 3.13
qgallouedec
left a comment
There was a problem hiding this comment.
Thanks! If we move this job to 3.11 instead (see #7744), the pins can just be the floors, so I'd hold this one until we settle that.
…-versions # Conflicts: # .github/workflows/tests.yml
tests_min_versions CI job for Python 3.13|
Done: the job now runs on Python 3.11, and every pin is exactly its |
|
CI is red: The floors are not the cause: the other 2055 tests pass with every dependency pinned at its floor on Python 3.11. torch 2.6.0 ships NVRTC 12.4, which can leave an xdist worker's locale as This PR depends on: |
This PR moves the
tests_min_versionsCI job to Python 3.11 and pinshuggingface_hub,numpy,pandas,psutil,pyarrowandpyyamlat theirpyproject.tomlfloors, so the job tests every declared floor exactly.Motivation
The job ran on Python 3.13 (#7648), where numpy 1.26.0, pandas 2.1.1 and pyyaml 6.0.1 have no wheels, so it could not pin the floors declared in #7713. Python 3.11 is the oldest supported Python, and every floor installs on it.
Solution
Moving the job keeps a single minimum-versions job with a single pin list, instead of adding a second, nightly one on 3.11 (#7744). Python 3.13 is still tested on every PR with the latest dependencies; only the combination of minimum versions with 3.13 goes away. Over the last 57 nightly runs of the Python versions workflow, no failure was specific to one Python version.
Changes
tests_min_versionson Python 3.11huggingface_hub==0.34.0,numpy==1.26.0,pandas==2.1.1,psutil==5.9.4,pyarrow==21.0.0andpyyaml==6.0.1Depends on
With every floor pinned on Python 3.11, the job passes except for
test_examples_index_matches_folders(2055 passed, 1 failed: https://github.com/huggingface/trl/actions/runs/38909894519/job/117002780666). torch 2.6.0 ships NVRTC 12.4, which can leave an xdist worker's locale asC(#7720), and that test reads a non-ASCII doc without an explicit encoding. The failure depends on which xdist worker the test lands on, so it is not deterministic. #7764 makes it read the file as UTF-8. The failure is not related to the floors.Note
Low Risk
CI-only workflow changes; no runtime library or application code is modified.
Overview
Moves the
tests_min_versionsCI job from Python 3.13 to 3.11 (oldest supported perpyproject.toml) so floor versions likenumpy==1.26.0andpandas==2.1.1can install with wheels instead of failing on 3.13.The job’s
uv pip installstep now pins every declared minimum alongside the existing ML stack pins:huggingface_hub==0.34.0,numpy==1.26.0,pandas==2.1.1,psutil==5.9.4,pyarrow==21.0.0, andpyyaml==6.0.1, with a short comment that 3.11 is intentional for exact floor testing. Other test jobs stay on 3.13 with latest deps.Reviewed by Cursor Bugbot for commit 904d9d1. Bugbot is set up for automated code reviews on this repo. Configure here.