-
Notifications
You must be signed in to change notification settings - Fork 80
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
Automated versioning for releases #2425
Comments
hey @luizirber it might be time for a new release sometime soon - can I do a release manually, do you think? or can you point me in the direction you're thinking of for automated releases, so I can work on that in my spare moments? |
Main change to current release process is (maybe?) creating a PR for the version bump, and tag
This mostly fits the "manual" approach to releases. For the conventional commits/automated I don't have any better pointers than the ones in the issue description 😅 |
I updated PR #2386 with the changes from #2393 and implementing a manual version bump. Maturin is stricter on what is added to the source dist (and wheel), so the list from 4.6.1 is much smaller now, but also missing some interesting files (like I added some back here, but there might be others we want too? ( |
Hey @luizirber the fun continues! I'm tracking some errors in our packages that use sourmash that seem to come from this code in sourmash: from pkg_resources import get_distribution, DistributionNotFound
try:
VERSION = get_distribution(__name__).version
except DistributionNotFound: # pragma: no cover
try:
from .version import version as VERSION # noqa
except ImportError: # pragma: no cover
raise ImportError(
"Failed to find (autogenerated) version.py. "
"This might be because you are installing from GitHub's tarballs, "
"use the PyPI ones."
) which, I think, is no longer needed after <gestures vaguely at #2386 #2342&rt;. I'll start a PR to remove them and see what breaks! 🎉 errors in other packagesover in genome-grist, I'm getting:
which is turned into an error because I'm using |
#2491 is passing tests. Will fix up PR description and submit for merge at some indefinite point in the future ;). |
yup, definitely should be changed... I fixed it in The catch is that it is really hard to get a venv WITHOUT setuptools installed (because some dependency might bring it in) to check that we are not depending on it... |
#2393 broke the use of tags for auto-versioning (as supported by
setuptools_scm
), and turns out thatsetuptools_scm
is doing something that PyPA doesn't recommend anymore. From core metadata and PEP 643:There are a couple of approaches to fix that, in order of complexity:
Manual update of versions before releases. Need an extra PR (for bumping version in
pyproject.toml
), and then tag the merged PR inlatest
. Can be automated a bit with bump2version or similar packages. Tox has a special target and script to further automate the process.Conventional commit automation, like release-please, example from rust-bio here with conventional commits checker here. This combination is nice because changing the PR title is enough to satisfy checks (and generate the changelog).
Aiming to fix it by doing the first one (updating release docs, probably in #2386?), while exploring the second one in another repo/fork.
The text was updated successfully, but these errors were encountered: