Skip to content

[agent-harness] Swap pip → uv in CI workflow#6

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

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

Conversation

@haasonsaas

Copy link
Copy Markdown
Collaborator

Summary

  • Replace python -m pip install --upgrade pip + pip install -e ".[dev]" with astral-sh/[email protected] (pinned by full SHA) followed by uv pip install --system -e ".[dev]".
  • No version pin changes, no --user, no pip install -U pip.

Why

Hardens CI against the PyPI partial-read timeouts that took down post-merge evals on main in evalops/maestro-internal#1492. uv resumes partial downloads and retries on connection drops by default, removing a class of transient failures that pip cannot recover from. This workflow has no CLI tool installs, so no uv tool install retry wrapper is needed — that pattern lands when CLI tools show up.

Files changed

  • .github/workflows/ci.yml

Test plan

  • Confirm all three matrix shards (3.10, 3.11, 3.12) pass Install dependencies.
  • Confirm ruff, black, mypy, and pytest steps still resolve binaries from the system env.

🤖 Generated with Claude Code

Replace `python -m pip install --upgrade pip` + `pip install -e ".[dev]"`
with `astral-sh/[email protected]` (pinned by SHA) followed by
`uv pip install --system -e ".[dev]"`. No version pin changes.

Hardens CI against the same PyPI partial-read timeouts that took down
post-merge evals on `main` (precedent: evalops/maestro-internal#1492).
`uv` resumes partial downloads and retries on connection drops by
default, removing a class of transient failures that `pip` cannot
recover from. No CLI tool installs in this workflow, so no retry wrapper
is needed yet.

Co-Authored-By: Claude Opus 4.7 (1M context) <[email protected]>
@cursor

cursor Bot commented Apr 25, 2026

Copy link
Copy Markdown

PR Summary

Low Risk
CI-only change that alters how dependencies are installed; main risk is differences in resolver/install behavior potentially causing CI-only failures.

Overview
Updates the CI workflow to install Python dependencies using uv instead of pip.

Adds an astral-sh/setup-uv step (pinned by SHA) and replaces the previous pip upgrade/install commands with uv pip install --system -e ".[dev]" before running lint/format/typecheck/tests.

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

@haasonsaas haasonsaas merged commit a3a64de into main Apr 25, 2026
6 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