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

Have branches per minor versions #276

Closed
jlprat opened this issue Aug 4, 2021 · 7 comments
Closed

Have branches per minor versions #276

jlprat opened this issue Aug 4, 2021 · 7 comments
Labels
question Further information is requested

Comments

@jlprat
Copy link
Contributor

jlprat commented Aug 4, 2021

What can we help you with?

In order to better manage versioning in Karapace, it would be good to create a branch per each minor version (assuming semantic versioning) so creating hotfixes on those are easy to handle.

Where would you expect to find this information?

I would expect this is documented in the CONTRIBUTING, and in a new file named RELEASE.
Information about CONTRIBUTING would describe the meaning of such branches and also specify that Pull Request can be targeted to such branches if the bug is only present there or if the fix must be released also for that minor version.
The new file named RELEASE should incorporate all needed information and steps that must be followed for releasing a new Karapace version, one of them would be if this is agreed, to create a new branch once a new minor version is created.

For example at the time of writing the branches that should be present would be:

  • 0.1.x
  • 1.0.x
  • 1.1.x
  • 2.0.x

All community members are welcomed to share their opinion on this topic.

@jlprat jlprat added the question Further information is requested label Aug 4, 2021
@jlprat
Copy link
Contributor Author

jlprat commented Aug 4, 2021

Related: #245

@hackaugusto
Copy link
Contributor

My proposal is to use https://githubflow.github.io/

@jlprat
Copy link
Contributor Author

jlprat commented Aug 4, 2021

I agree we should be using the "github flow" for the PR flow.
However, when cutting releases, we might want to have branches per versions to be able to provide hotfixes and such. As pointed in the link you shared something closer to the "git flow" might be helpful for this, but this discussion might only happen after we reached a consensus on #245

@tvainika
Copy link
Contributor

tvainika commented Aug 9, 2021

I'd say that create a branch for given version is also a soft promise for support and backporting fixes to that version. AFAIK no such backporting or support has been yet done for Karapace, and thus first the maintenance periods are to be decided. And only after maintenance period is defined, then create branches for only maintained versions.

@lornajane
Copy link
Contributor

Could we switch to using a main branch and releasing from that as a first step? And I think a maintenance commitment would be excellent as well. That would pave the way for having multiple branches and a commitment to backporting once that comes into effect (I assume a new release is needed to start a timer on the old/existing one so this isn't instant)

@jlprat
Copy link
Contributor Author

jlprat commented Aug 10, 2021

I agree with you @lornajane that would also be my proposal. main branch would be our baseline one. Once a new minor release is cut, and properly tagged, a branch for that one is created. This last bit is only interesting if, as you say, we want to offer a maintenance period for such releases (discussion happening in #245).

@jlprat
Copy link
Contributor Author

jlprat commented Sep 17, 2021

This has been open for a while, as no further feedback has been provided it seems we reached an agreement to release from main and enabling us to branch out of tagged releases if fixes need to happen (discussion in #245.
I'm closing this one, if anybody has different opinion that hasn't been shared yet, please flag it so.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
question Further information is requested
Projects
None yet
Development

No branches or pull requests

4 participants