LLNL / maestrowf

A tool to easily orchestrate general computational workflows both locally and on supercomputers
https://maestrowf.readthedocs.io
MIT License
135 stars 43 forks source link

Version info syncing issues #408

Open jwhite242 opened 1 year ago

jwhite242 commented 1 year ago

Currently we seem to have 3 sources of package version info which is not in sync:

I 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:

doutriaux1 commented 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.

kcathey commented 1 year ago

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.

doutriaux1 commented 1 year ago

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

jwhite242 commented 1 year ago

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 '-' suffix on wheels. Is this mainly just the version users would see if they install from source (editable or otherwise)?

doutriaux1 commented 1 year ago

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.