-
Notifications
You must be signed in to change notification settings - Fork 10
Automatic release #324
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
Automatic release #324
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 implements automated release workflows to streamline the publishing process for the harmonic package. The changes enable automatic publishing to Test PyPI on merges to the main branch and to production PyPI on published releases, using setuptools-scm for version management from git tags.
Key Changes:
- Migrated from hardcoded version strings to setuptools-scm for automatic version management
- Added GitHub Actions workflows for building wheels and publishing to PyPI
- Updated Python version support to 3.11-3.13 (dropped 3.9 and 3.10)
Reviewed changes
Copilot reviewed 4 out of 5 changed files in this pull request and generated 6 comments.
Show a summary per file
| File | Description |
|---|---|
| setup.py | Removed hardcoded version, added dynamic version declaration, updated Python version classifiers and author list |
| requirements/requirements-core.txt | Added setuptools-scm dependency for version management |
| pyproject.toml | Configured setuptools-scm build requirements and version file generation |
| .github/workflows/tests.yml | New workflow for running tests, building documentation, and deploying to GitHub Pages |
| .github/workflows/build.yml | New workflow for building wheels with cibuildwheel and publishing to Test PyPI/PyPI |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
|
|
||
| [tool.setuptools_scm] | ||
| local_scheme = "no-local-version" | ||
| write_to = "harmonic/_version.py" |
Copilot
AI
Nov 24, 2025
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 pyproject.toml should include a [tool.cibuildwheel] section to configure which Python versions to build wheels for. Without explicit configuration, cibuildwheel will use its defaults which may not match your supported versions (3.11-3.13). Add:
[tool.cibuildwheel]
build = "cp311-* cp312-* cp313-*"
skip = "*-musllinux_*" # Optional: skip musl builds if not needed| write_to = "harmonic/_version.py" | |
| write_to = "harmonic/_version.py" | |
| [tool.cibuildwheel] | |
| build = "cp311-* cp312-* cp313-*" | |
| skip = "*-musllinux_*" # Optional: skip musl builds if not needed |
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #324 +/- ##
=======================================
Coverage 94.13% 94.13%
=======================================
Files 10 10
Lines 802 802
=======================================
Hits 755 755
Misses 47 47 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
…onic into automatic_release
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
Copilot reviewed 4 out of 5 changed files in this pull request and generated 3 comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Kiyam
left a comment
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.
Looks great, we've already thoroughly tested the automatic release mechanism. Thanks for updating the references also!
Update the workflows to automatically publish to test pypi on merge to main, and to pypi on published release.
Pair programming contributions with @Kiyam and @zixiao-h.