Skip to content

Use uv in CI instead of pip#215

Merged
derek73 merged 1 commit into
masterfrom
ci/use-uv-in-workflow
Jul 5, 2026
Merged

Use uv in CI instead of pip#215
derek73 merged 1 commit into
masterfrom
ci/use-uv-in-workflow

Conversation

@derek73

@derek73 derek73 commented Jul 5, 2026

Copy link
Copy Markdown
Owner

Summary

  • Everywhere else in this repo (AGENTS.md, local dev commands) uses uv run, and there's already a committed uv.lock -- CI was the odd one out, using pip install --group dev which floats dependency versions on every run instead of installing the exact locked versions.
  • Switched to astral-sh/setup-uv + uv sync --group dev (with caching enabled), and every subsequent command (ruff, mypy, pytest, sphinx-build, python -m doctest) now runs via uv run for consistency and speed.
  • build/twine aren't part of the project's dev dependency group, so they use uv run --with <tool> for ephemeral installation rather than adding packaging-only tools to the lockfile.

Test plan

  • uv sync --group dev — resolves and installs cleanly from the lockfile
  • uv run ruff check — passes
  • uv run mypy — passes
  • uv run pytest — 1274 passed, 22 xfailed
  • uv run --with build python -m build --sdist + uv run --with twine twine check dist/* — builds and passes
  • uv run sphinx-build -b html docs dist/docs — builds
  • uv run sphinx-build -b doctest docs dist/doctest — 186/186 passed
  • uv run python -m doctest README.rst — passes

🤖 Generated with Claude Code

Everywhere else in this repo (AGENTS.md, local dev commands) uses `uv run`,
and there's already a committed uv.lock -- CI was the odd one out, floating
dev-dependency versions on every run via `pip install --group dev` instead
of installing the exact locked versions. Switch to astral-sh/setup-uv +
`uv sync --group dev`, and run every subsequent command via `uv run` for
consistency and speed. build/twine aren't part of the dev dependency group,
so they use `uv run --with <tool>` for ephemeral installs rather than
adding packaging-only tools to the lockfile.

Verified locally: uv sync, ruff, mypy, pytest, build --sdist, twine check,
sphinx-build (html + doctest), and python -m doctest README.rst all pass.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
@derek73 derek73 self-assigned this Jul 5, 2026
@derek73 derek73 added the CI label Jul 5, 2026
@derek73 derek73 merged commit 2280663 into master Jul 5, 2026
8 checks passed
@derek73 derek73 deleted the ci/use-uv-in-workflow branch July 5, 2026 02:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant