Uh oh!
There was an error while loading. Please reload this page.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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.
btw what do you think of having scm-based versioning?
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.
What do you mean by scm-based versioning?
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.
Git tag being the source of truth for the version. Currently, it's manual update of version in Python module followed by tagging the commit. But there are flows, where it only sits in Git, so it would need you to just push a git tag to trigger the whole flow without extra steps.
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.
Ah ok. This version info is needed for
flitthough.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.
Right, so when using setup.py I use setuptools_scm to make dist have info about version. It should be possible with flit as well.
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.
Hmm, I think I'll keep the current workflow for now.
Interesting idea though, I'll have to think about it. Thanks!
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.
Ok I'm interested now in deriving the version info automatically somehow, but I'd like to hear more first of what the workflow would look like.
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.
Well, I need to check what's available for flit, but in general it would be triggered just by pushing a tag and during build something figures out the version and puts it into metadata. setuptools_scm, for example, has a mode, where it'll create the python module from version if the project itself needs to use it (however it's also retrievable via pkg_resources part of setuptools).
In case of setuptools_scm, during development it uses last tag plus commit marker for versioning, but that's configurable.
As for prerequisites, you'll likely need to put a commit with changelog in git and tag afterwards.
Some ppl use tools like towncrier or reno to enforce changelog fragments be submitted along with each PR and then can fail tagged builds if those are not converted into common changelog.
I think I'll try submitting some demo PR with implementation once I have some time.
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.
Ok thanks. Before you go ahead with some demo PR, let me try to digest all of the above and decide whether it's worth the trouble. (sounds more complicated that I wanted) 😅
I definitely want to further automate this somehow.
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.
Well, let's separate stages here: