Skip to content

PYTHON-5956 Use shared python/setup action for CI setup - #2990

Draft
blink1073 wants to merge 4 commits into
mongodb:mainfrom
blink1073:PYTHON-5956
Draft

PYTHON-5956 Use shared python/setup action for CI setup#2990
blink1073 wants to merge 4 commits into
mongodb:mainfrom
blink1073:PYTHON-5956

Conversation

@blink1073

@blink1073 blink1073 commented Aug 14, 2026

Copy link
Copy Markdown
Member

PYTHON-5956

Adopts the shared python/setup action from mongodb-labs/drivers-github-tools#117, replacing the uv, just, and dependency install steps that eight jobs in test-python.yml each carried.

Important

Not mergeable yet: the action is pinned to a fork commit so this could run before mongodb-labs/drivers-github-tools#117 lands. Repoint all eight references to mongodb-labs/drivers-github-tools/python/setup@v3 once that PR merges and the v3 tag moves.

Changes in this PR

  • Eight jobs get Python, uv, and just from one step instead of three or four.
  • Python comes from setup-python, with uv pointed at that interpreter.
  • The four jobs that need project dependencies pass run-install: "true"; the other four say nothing.
  • static installs separately, since its lock check has to run before the install.

Test Plan

CI-only, so the workflow running green is the test: latest run, dispatched on a fork where the pin resolves.

Interpreters were read from the logs per matrix entry rather than inferred from a green tick: CPython 3.10.20, free-threaded 3.13.15t, 3.15.0-rc.1, PyPy 7.3.23, and 3.9.25. static's uv lock --check passes with no UV_EXCLUDE_NEWER set in any job, which an earlier version of the action would have broken.

Checklist

Checklist for Author

  • Did you update the changelog (if necessary)?
  • Is there test coverage?
  • Is any followup work tracked in a JIRA ticket? If so, add link(s).

Checklist for Reviewer

  • Does the title of the PR reference a JIRA Ticket?
  • Do you fully understand the implementation? (Would you be comfortable explaining how this code works to someone else?)
  • Is all relevant documentation (README or docstring) updated?

Replaces the uv, just, and dependency-install steps that eight jobs each
carried with the shared drivers-github-tools action.

TESTING ONLY: pinned to a fork SHA of the action so this can run before
the action lands upstream. Repoint at mongodb-labs/...@V3 before merging.

The static job still installs separately, because its lock check has to
run before the install. Jobs that never use just, or that let a just
recipe handle their own dependencies, pass run-install: false. The build
job allows prereleases, which its beta Python needs now that Python comes
from setup-python rather than uv.
allow-prereleases now defaults to true in the action, so the build job no
longer passes it. Repoints at the action commit that drops exclude-newer, so
this run exercises the version being merged.
run-install is off by default now, so the four jobs that need project
dependencies ask for them and the four that do not say nothing. Repoints at
the action commit that made the switch.
@codecov

codecov Bot commented Aug 14, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

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.

1 participant