Skip to content
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

feature: use VCS for version automation #1664

Open
wpbonelli opened this issue Dec 19, 2022 · 1 comment
Open

feature: use VCS for version automation #1664

wpbonelli opened this issue Dec 19, 2022 · 1 comment

Comments

@wpbonelli
Copy link
Contributor

wpbonelli commented Dec 19, 2022

Is your feature request related to a problem? Please describe.
FloPy version updates are already automated, scripts/update_version.py just needs to run at release time. Ad hoc versioning can be hard to get right and has limitations though, like providing no information between releases. Finer-grained version strings could be helpful e.g. to trace issues to release vs. development versions or even specific commits

Describe the solution you'd like
Could consider a tool like versioneer, maybe once it stabilizes a bit. It uses git as the source of truth, so versioning would just involve tagging revisions. From the link above:

you get a useful fine-grained version string, updated every time you run your program, embedded into release products via the most common tarball-generation tools (setup.py sdist and git-archive). Developers will get detailed version information in their test logs (assuming you record version in them, which you should), so other developers can reproduce their tree. Bug reports from end users will contain enough data (assuming they emit the version string) to reproduce their code, and to learn if they have local modifications or not.

Describe alternatives you've considered
Not changing the current approach, it's simple enough and we need a script to update README.md and DISCLAIMER.md anyway

Additional context
Maybe this should be a discussion instead?

@mwtoews
Copy link
Contributor

mwtoews commented Dec 20, 2022

I'm generally on-board for this feature. My preference is setuptools_scm, which is similar to versioneer, except that it does not need to be installed into the codebase. The other benefit of setuptools_scm is that when creating a source distribution, it includes the git-tracked files to the sdist.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants