Skip to content

[proto] Swap pip → uv in CI workflow#92

Merged
haasonsaas merged 1 commit into
mainfrom
ci/pip-to-uv
Apr 25, 2026
Merged

[proto] Swap pip → uv in CI workflow#92
haasonsaas merged 1 commit into
mainfrom
ci/pip-to-uv

Conversation

@haasonsaas
Copy link
Copy Markdown
Contributor

Summary

  • Replace pip with uv in the python-package job of .github/workflows/ci.yml.
  • build is now installed via astral-sh/setup-uv@08807647e7069bb48b6ef5acd8ec9567f424441b # v8.1.0 + uv tool install build, wrapped in a 3-attempt retry with UV_HTTP_TIMEOUT=120. Invoke it as pyproject-build (the CLI shim build exposes).
  • Smoke-install of the generated wheel now uses uv pip install dist/*.whl inside the existing .venv-smoke venv.
  • Dropped both python -m pip install --upgrade pip self-upgrades; no --user was in use.

Why

Mirrors the pattern from evalops/maestro-internal#1492, where pip stalled on a partial-read timeout and uv (with its resume + retry semantics, plus an explicit 3-attempt wrapper) eliminated the flake. Same shape applied here so proto CI doesn't trip on the same class of PyPI hiccup.

Files changed

  • .github/workflows/ci.yml — only file in .github/ with pip install / python -m pip hits.

Test plan

  • python-package job passes on this PR (build wheel + smoke install + import-all check).
  • No version drift in installed build (uv resolves latest, matching prior behavior — no version was previously pinned).
  • Other jobs (lint, breaking, generate, go-test, ts-package) unaffected.

🤖 Generated with Claude Code

Replace pip with uv in the python-package job: install `build` via
`uv tool install` (wrapped in a 3-attempt retry with UV_HTTP_TIMEOUT=120
to absorb transient PyPI flakes), invoke it as `pyproject-build`, and
use `uv pip install` for the smoke-test wheel install. Drops `--user`
and the `pip install -U pip` self-upgrades.

Pattern mirrors evalops/maestro-internal#1492.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@cursor
Copy link
Copy Markdown

cursor Bot commented Apr 25, 2026

PR Summary

Low Risk
Low risk: only updates CI tooling for Python wheel build and smoke install, with a small chance of CI behavior differences due to uv/pyproject-build resolution changes and the new retry logic.

Overview
Updates the python-package CI job to use uv instead of pip for building and smoke-installing the generated Python wheel.

Adds astral-sh/setup-uv, installs build via uv tool install build with a 3-attempt retry + increased UV_HTTP_TIMEOUT, runs pyproject-build, and switches the smoke install to uv pip install (dropping the prior pip self-upgrade steps).

Reviewed by Cursor Bugbot for commit d4767e7. Bugbot is set up for automated code reviews on this repo. Configure here.

@haasonsaas haasonsaas merged commit d787f45 into main Apr 25, 2026
10 of 11 checks passed
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