Skip to content

fix(ci): build pypi release via uv build instead of removed setup.py#3700

Merged
winglian merged 1 commit into
mainfrom
fix/pypi-publish-pyproject
Jun 3, 2026
Merged

fix(ci): build pypi release via uv build instead of removed setup.py#3700
winglian merged 1 commit into
mainfrom
fix/pypi-publish-pyproject

Conversation

@winglian

@winglian winglian commented Jun 3, 2026

Copy link
Copy Markdown
Collaborator

The pyproject migration removed setup.py, so the publish workflow failed at python setup.py sdist (No such file). Build the sdist+wheel with uv build (PEP 517; setuptools backend reads the version from VERSION). Also make the GitHub release step idempotent so a re-run/re-tag of an existing release doesn't fail, and drop the unused dependency-install step.

Description

Motivation and Context

How has this been tested?

AI Usage Disclaimer

Screenshots (if appropriate)

Types of changes

Social Handles (Optional)

Summary by CodeRabbit

  • Chores
    • Enhanced release pipeline reliability and updated build tooling for improved distribution generation and publishing

The pyproject migration removed setup.py, so the publish workflow failed at
`python setup.py sdist` (No such file). Build the sdist+wheel with `uv build`
(PEP 517; setuptools backend reads the version from VERSION). Also make the
GitHub release step idempotent so a re-run/re-tag of an existing release
doesn't fail, and drop the unused dependency-install step.
@coderabbitai

coderabbitai Bot commented Jun 3, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

Caution

Review failed

The pull request is closed.

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: 3b55067f-b210-4486-af37-7c2b1cbdaf1b

📥 Commits

Reviewing files that changed from the base of the PR and between 406aee4 and 07bdc1f.

📒 Files selected for processing (1)
  • .github/workflows/pypi.yml

📝 Walkthrough

Walkthrough

The PyPI publish workflow is modernized to use uv for building distributions and made more robust. The top-level environment override is removed, explicit pip-based dependency installation is eliminated, the build step switches from setup.py sdist to uv build, and release creation is made idempotent by checking for existing releases before creation.

Changes

PyPI Publish Workflow Modernization

Layer / File(s) Summary
Build pipeline modernization
.github/workflows/pypi.yml
Environment variable override UV_SYSTEM_PYTHON is removed, the explicit uv pip install dependency installation step is dropped, and the build command is switched from python setup.py sdist to uv build using PEP 517/uv-based workflow.
Idempotent release creation
.github/workflows/pypi.yml
GitHub release creation is made idempotent by checking for an existing release with gh release view and only creating it (with generated notes) if it does not already exist.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~8 minutes

Suggested reviewers

  • salmanmohammadi
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch fix/pypi-publish-pyproject

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@winglian winglian merged commit 09d325b into main Jun 3, 2026
4 of 19 checks passed
@winglian winglian deleted the fix/pypi-publish-pyproject branch June 3, 2026 08:29
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