Skip to content

Migrate build system to uv with CI/CD pipelines#5

Draft
Copilot wants to merge 1 commit into
mainfrom
copilot/migrate-package-to-uv
Draft

Migrate build system to uv with CI/CD pipelines#5
Copilot wants to merge 1 commit into
mainfrom
copilot/migrate-package-to-uv

Conversation

Copilot AI commented Apr 24, 2026

Copy link
Copy Markdown

Replaces legacy setup.py with a pyproject.toml (hatchling backend) and adds GitHub Actions workflows for PR checks, merge gating, and PyPI publishing via PYPI_API_TOKEN.

Build system

  • pyproject.toml with hatchling build backend; all metadata ported from setup.py
  • [tool.uv] dev-dependencies block (pytest)
  • setup.py removed

CI/CD workflows

Workflow Trigger Action
pr.yml PR → main/master uv sync + pytest
ci.yml Push → main/master uv sync + pytest
publish.yml v* tag push or Release published pytest → uv build → PyPI publish

Security

  • All jobs scoped to permissions: contents: read; publish job adds id-token: write
  • Publish targets a pypi GitHub environment for tag/branch protection
  • PyPI upload uses ${{ secrets.PYPI_API_TOKEN }} — must be set under Settings → Secrets → Actions

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.

2 participants