-
Notifications
You must be signed in to change notification settings - Fork 2
Add GitHub Actions workflow for Python package publishing #63
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
This PR adds a GitHub Actions workflow to automate the publishing of Python packages to PyPI when releases are created. The workflow uses trusted publishing (OpenID Connect) for secure authentication with PyPI, following modern best practices.
Changes:
- Adds a new GitHub Actions workflow that builds Python package distributions and publishes them to PyPI on release
- Implements a two-job pattern: one for building distributions and another for publishing with appropriate permissions
- Configures trusted publishing using OIDC authentication with a dedicated PyPI environment
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
|
|
||
| on: | ||
| release: | ||
| types: [published] |
Copilot
AI
Jan 12, 2026
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The workflow triggers on 'published' releases, while the existing Windows build workflow triggers on 'created' releases. This inconsistency means the PyPI publishing workflow will run at a different time than the Windows build workflow. For proper synchronization, both workflows should use the same trigger type. Consider using 'created' instead of 'published' to align with the existing workflow, or update both to use 'published' if that better fits your release process.
| types: [published] | |
| types: [created] |
| steps: | ||
| - uses: actions/checkout@v4 | ||
|
|
||
| - uses: actions/setup-python@v5 |
Copilot
AI
Jan 12, 2026
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The actions/setup-python version is inconsistent with the existing workflow. The Windows build workflow uses actions/setup-python@v4, while this new workflow uses v5. While using the newer version is generally good, for consistency and to avoid potential compatibility issues across workflows, consider aligning the versions. Either update both workflows to use v5, or use v4 here to match the existing workflow.
| - uses: actions/setup-python@v5 | |
| - uses: actions/setup-python@v4 |
|
|
||
| - uses: actions/setup-python@v5 | ||
| with: | ||
| python-version: "3.x" |
Copilot
AI
Jan 12, 2026
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The Python version specification "3.x" uses the latest available Python 3 version, which differs from the project's configuration. The pyproject.toml requires Python >=3.9 and the existing Windows workflow explicitly uses Python 3.12. For consistency and to ensure builds match the project's development environment, consider specifying a concrete Python version like "3.12" instead of "3.x".
| python-version: "3.x" | |
| python-version: "3.12" |
No description provided.