Open jwhite242 opened 1 year ago
I would vote for tags to master
(although we really should rename it main
) and everything in a branch that passes the tests goes to develop
until we tag it.
I'm for bumpver and with a bump to an alpha version after cutting a release. Then in an MR to main when working a release in that branch cut to the release candidate tag, if desired an rc build could get pushed to pypi.
for Kosh I use git describe --tag
to give me a version in develop so I endup with things like 2.2.20-gc3e45
which is the number of commits since the last tag and the commit hash so its nice when helping users we can tell exactly which version they use
So in that case, what is setting those tags? Tags can be overwritten silently, which seems ripe for trouble vs keeping it in the toml file directly. Also, when you build a wheel with something like that what does the name get mangled into for installing? didn't think pep440 supported the '-
yes pep440 does not like it, I think we would have to drop the commit hash. As far as the "tag" goes we have to trust ourselves that we don't mess with the tags.
Currently we seem to have 3 sources of package version info which is not in sync:
__init__.py
is still on 1.1.9dev1I propose switching this to a single source and automating it if possible and potentially a different versioning scheme (dev tags). Importlib appears able to read from the pyproject.toml now, so I think that single source could be the toml file now. Additionally, there's a few interesting options for at least semi-automated version bumping:
Either one would likely be able to use hook into an automated tag creation since both have a version query on the cli.
Potentially bigger changes to the versioning scheme beyond just possible switching away from dev if jumping on an existing solution right away: