Skip to content

ci: Pin transitive dependencies for tests on Python>=3.8#6437

Open
alexander-alderman-webb wants to merge 27 commits into
masterfrom
webb/populate-tox/transitive-dependencies
Open

ci: Pin transitive dependencies for tests on Python>=3.8#6437
alexander-alderman-webb wants to merge 27 commits into
masterfrom
webb/populate-tox/transitive-dependencies

Conversation

@alexander-alderman-webb
Copy link
Copy Markdown
Contributor

@alexander-alderman-webb alexander-alderman-webb commented May 28, 2026

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_CACHE to 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

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented May 28, 2026

Codecov Results 📊

88017 passed | ⏭️ 6007 skipped | Total: 94024 | Pass Rate: 93.61% | Execution Time: 294m 57s

📊 Comparison with Base Branch

Metric Change
Total Tests 📉 -23
Passed Tests 📉 -21
Failed Tests
Skipped Tests 📉 -2

All tests are passing successfully.

✅ Patch coverage is 100.00%. Project has 2313 uncovered lines.
❌ Project coverage is 89.96%. Comparing base (base) to head (head).

Coverage diff
@@            Coverage Diff             @@
##          main       #PR       +/-##
==========================================
- Coverage    89.99%    89.96%    -0.03%
==========================================
  Files          191       191         —
  Lines        23028     23028         —
  Branches      7904      7904         —
==========================================
+ Hits         20722     20715        -7
- Misses        2306      2313        +7
- Partials      1307      1307         —

Generated by Codecov Action

@alexander-alderman-webb alexander-alderman-webb marked this pull request as ready for review May 28, 2026 13:30
@alexander-alderman-webb alexander-alderman-webb requested a review from a team as a code owner May 28, 2026 13:30
@alexander-alderman-webb alexander-alderman-webb changed the title ci: Pin transitive dependencies for tests suites ci: Pin transitive dependencies for tests suites ran on Python>=3.8 May 28, 2026
@alexander-alderman-webb alexander-alderman-webb changed the title ci: Pin transitive dependencies for tests suites ran on Python>=3.8 ci: Pin transitive dependencies for tests suites on Python>=3.8 May 28, 2026
@alexander-alderman-webb alexander-alderman-webb marked this pull request as draft May 28, 2026 13:37
Comment thread scripts/populate_tox/populate_tox.py
Comment thread scripts/populate_tox/populate_tox.py Outdated
Comment thread scripts/populate_tox/populate_tox.py Outdated
Comment thread scripts/populate_tox/populate_tox.py Outdated
Comment thread scripts/populate_tox/populate_tox.py
Comment thread scripts/populate_tox/populate_tox.py
Comment thread scripts/populate_tox/populate_tox.py
Comment thread scripts/populate_tox/populate_tox.py
Comment thread scripts/populate_tox/populate_tox.py
@alexander-alderman-webb alexander-alderman-webb changed the base branch from master to webb/setuptools June 1, 2026 11:23
@alexander-alderman-webb alexander-alderman-webb changed the title ci: Pin transitive dependencies for tests suites on Python>=3.8 ci: Pin transitive dependencies for tests on Python>=3.8 Jun 1, 2026
@alexander-alderman-webb alexander-alderman-webb marked this pull request as ready for review June 1, 2026 11:30
Comment thread scripts/populate_tox/populate_tox.py
Base automatically changed from webb/setuptools to master June 1, 2026 11:37
Copy link
Copy Markdown

@cursor cursor Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes and found 1 potential issue.

Fix All in Cursor

❌ 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.

Comment thread scripts/populate_tox/tox.jinja
Copy link
Copy Markdown
Member

@sl0thentr0py sl0thentr0py left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

maybe time to add tox.ini to .gitattributes as well

Comment thread scripts/populate_tox/populate_tox.py
Comment thread scripts/populate_tox/populate_tox.py
Copy link
Copy Markdown
Contributor

@sentrivana sentrivana left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants