ci: Pin transitive dependencies for tests on Python>=3.8#6437
Conversation
Codecov Results 📊✅ 88336 passed | ⏭️ 6007 skipped | Total: 94343 | Pass Rate: 93.63% | Execution Time: 302m 5s 📊 Comparison with Base Branch
All tests are passing successfully. ✅ Patch coverage is 100.00%. Project has 2311 uncovered lines. Coverage diff@@ Coverage Diff @@
## main #PR +/-##
==========================================
- Coverage 89.98% 89.97% -0.01%
==========================================
Files 191 191 —
Lines 23064 23040 -24
Branches 7922 7908 -14
==========================================
+ Hits 20752 20729 -23
- Misses 2312 2311 -1
- Partials 1310 1308 -2Generated by Codecov Action |
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 1 potential issue.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit d26dd8a. Configure here.
sentrivana
left a comment
There was a problem hiding this comment.
LGTM overall, but -latest should ideally be a verbatim copy of -v{max}, including the transitive pins. Otherwise they're two different test targets, and -latest succeeding locally when developing doesn't guarantee that CI will pass on the corresponding latest version. (That's never a guarantee, but I wouldn't introduce additional drift.)

Description
Add transitive dependencies to all test groups that are generated by
populate_tox.py.Dependency versions are resolved via a dry run of pip through uv on the relevant Python version.
Pins one set of dependencies per Python version and per library version.
Update
DEPENDENCIES_CACHEto also be keyed on the Python version, since dependency versions of a package depend on the Python version. The cache is now indexed on the package name, package version, and Python version.Issues
Reminders
tox -e linters.feat:,fix:,ref:,meta:)