chore: add GitHub Actions workflow for publishing to PyPI and TestPyPI#624
chore: add GitHub Actions workflow for publishing to PyPI and TestPyPI#624
Conversation
|
Caution Review failedThe pull request is closed. WalkthroughAdds a new GitHub Actions workflow (.github/workflows/release.yml) to build Python distributions with Poetry/unasync and publish artifacts to TestPyPI and, on tagged releases (vX.Y.Z*), to PyPI. It configures caching, builds wheel/sdist, stores artifacts, and uses OIDC for authenticated publishing via pypa/gh-action-pypi-publish. Changes
Sequence Diagram(s)sequenceDiagram
autonumber
actor Dev as Developer
participant GH as GitHub Actions
participant Build as build job
participant Art as Artifacts
participant TPY as TestPyPI
participant PY as PyPI
Dev->>GH: Push tag vX.Y.Z or manual dispatch
GH->>Build: Start build (Python 3.12, Poetry 2.1.4)
Build->>Build: Restore cache (poetry.lock)\nInstall deps (+crypto)\nRun unasync\nBuild wheel & sdist
Build-->>Art: Upload dist artifacts
rect rgba(230,240,255,0.5)
note over GH,TPY: Always after build
GH->>Art: Download artifacts
GH->>TPY: Publish distributions (OIDC)
end
rect rgba(230,255,230,0.5)
note over GH,PY: Only on tag push
GH->>Art: Download artifacts
GH->>GH: Validate tag == pyproject version
GH->>PY: Publish distributions (OIDC)
end
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~25 minutes Poem
✨ Finishing touches🧪 Generate unit tests
📜 Recent review detailsConfiguration used: CodeRabbit UI Review profile: CHILL Plan: Pro Disabled knowledge base sources:
📒 Files selected for processing (1)
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. Comment |
- Introduced a release workflow triggered on tag pushes matching semantic versioning. - Includes steps for building distributions, caching, publishing to PyPI and TestPyPI. - Utilizes poetry for dependency management and distribution building.
Summary by CodeRabbit