-
Notifications
You must be signed in to change notification settings - Fork 1.8k
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
Documented the development and release models #1838
Conversation
Actually, git flow doesn't necessarily work with pull requests as far as I'm aware. It usually incorporates release branches and hotfix branches as far as I remember, as well as feature branches with a naming scheme - none of which we really do. Therefore I think mentioning git flow is more distracting and confusing than helpful. I would describe what python-for-android does from what I can see as "development on |
I put the instructions about the pull request because it seemed like a convenient way to centralise release discussion and see all the changes at once. I thought that the proposed branching structure would be exactly what git flow uses, but maybe I've misunderstood something? For the feature branches, I didn't write about it because we do almost all development in personal branches in our own forks. The naming seemed like a minor point compared to the main development structure, but I'm happy to rethink it. I had imagined that we would be more formal about naming them Similarly with hotfix branches, I was imagining that we'd use the git flow structure for that, but didn't bother documenting the details for now. |
@inclement companies who use git flow usually don't use personal repos. that's simply a slightly different approach, and gitflow also uses hotfix branches and a separate forked off branch for each release in preparation and other things - it's just way more than we do. so basically it has some similarities but it's just not an exact match, which is why I recommend not mentioning it Edit: oh right, you did propose release branches. so it's not that far off I suppose, but still, I've seen pull requests-based approaches with a different name so I'm not sure it might not be a little confusing. maybe it's just me though 🤷♀️ |
Right, but I'm proposing we do start doing this (per the instructions). Do you think it's overkill? Edit: I'm not at all wedded to the git flow name though, just a nice procedure :p. I'd like to link the document for reference, but I could certainly remove the emphasis on git flow itself. |
@inclement hmm release branches might be, the reason they're usually done is so that pull request merging and such can continue while the release is prepared. but we don't have a huge pull request volume anyway, and it's normal that we delay them often (not necessarily a bad thing) so I don't see a problem just not merging things for 2 -3 days while we put together a release unless it fixes something in the release if you want to do it anyway though I don't object, I just think at our current dev speed preparing the release on master could work well enough. of course that'd make the master slightly more unstable, but it would still be more stable than most master branches of most projects on github 😄 |
937d4b7
to
49f7721
Compare
Thanks @Jonast. I've pushed a change to de-emphasise git flow except as a reference. I'd like to leave the release branch stuff in there to see how it goes. We can always relax this if that turns out to be easier, I'm not one for unnecessary procedure. For now I like the idea because it seems like it should be straightforward but nice and clear, something that's been an issue in the past when release preparation has dragged on a bit. It's possible I might be overcompensating though, given that those things were my fault in the first place :p |
39e97d6
to
3a71b95
Compare
About packaging and pypi upload We could generate the
And then the twine upload commands would be:
Note: notice that the twine command is triggered without See also: |
About
So maybe we should take the |
I mean realistically python-for-android might not exist in 90 years, but you never know. I'd rather stick with 4 digit year just to be safe |
Nice proposal overall and thanks for opening the discussion guys 👏 |
692ac31
to
25ebd59
Compare
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.
Thanks @inclement !!
Added some documentation about our new git flow structure, and documented the release checklist proposed at #1836.
I propose that once everyone is happy with this, I'll merge the PR, then immediately create the develop branch and the first release branch. We can tidy up any procedural issues in that first release, including making sure the release checklist works okay.
The only real unanswered question is what CalVer format to use. Is there any reason not to go with YYYY.MM.DD? Is some other option more normal (or more pep-440 compatible)?