Skip to content

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

Merged
alexander-alderman-webb merged 30 commits into
masterfrom
webb/populate-tox/transitive-dependencies
Jun 2, 2026
Merged

ci: Pin transitive dependencies for tests on Python>=3.8#6437
alexander-alderman-webb merged 30 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 📊

88336 passed | ⏭️ 6007 skipped | Total: 94343 | Pass Rate: 93.63% | Execution Time: 302m 5s

📊 Comparison with Base Branch

Metric Change
Total Tests 📈 +161
Passed Tests 📈 +163
Failed Tests
Skipped Tests 📉 -2

All tests are passing successfully.

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

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        -2

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

Comment thread scripts/populate_tox/populate_tox.py
Comment thread scripts/populate_tox/populate_tox.py
@alexander-alderman-webb alexander-alderman-webb merged commit d7a1cc4 into master Jun 2, 2026
270 of 272 checks passed
@alexander-alderman-webb alexander-alderman-webb deleted the webb/populate-tox/transitive-dependencies branch June 2, 2026 09:13
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