-
Notifications
You must be signed in to change notification settings - Fork 87
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
Move to a single branch release flow on "main" branch #216
Comments
I think this makes sense given it reduces the overall complexity with releases. I would just want to make sure the release documentation reflects that you need to make a PSA to the react-uswds channel when doing a release (just to make sure this doesn't get overlooked). |
I've seen a git workflow where we'd merge the release branch back into develop instead of closing it and merging master back into develop. Would that simplify anything? |
@duncan-truss yes that was my suggestion |
Ok sorry I meant still keep master around because then you could still merge code to develop (won't dependbot automerge?) and choose not to add it to the release branch. I guess I proposed just instead of merging from master back to develop, make the merge from the release branch back to develop as well as master. |
@duncan-truss ohh I see, so open 2 PRs for the release branch (one into master and one into develop)? I don't love that the release process still involves approving/merging 2 PRs but that is less of a change than what I was proposing.. I need to do a new release anyways so I'm down to try it and will report back. |
Hey! Open to try the single branch flow. Never tried it before. I read this article to think more about how this would work. Also the article has a suggestion on how to keep both |
Just a suggestion, but here is another branching strategy I've used in the past that has worked pretty well and helped simplify things on a few projects. I haven't used it for a component library before, but might be worth considering: |
We have decided to move towards a single branch.
The new process will begin with release 1.7.0. Requirements to close this ticket:
|
As @haworku and @eamahanna witnessed, our current release flow is flawed:
master
requires that we also have to keepdevelop
up-to-date with the release branch changes. This means an extra PR that must be approveddevelop -> release branch -> master -> develop
breaks with a linear commit history, and also results in a loss of commit history since release PRs are squashed on masterMy suggestion is the following:
master
branch and use only one main branch for active development and stable versions (naming can be TBD)main branch -> create release branch, update version/changelog -> approve release branch PR -> merge release into main branch -> tag and publish
Pros:
master
and also intodevelop
chore: release
commit, which should always only be the new version number and changelog updates)develop
(and merged back into it)Cons:
develop
should be prevented until the release has been completed. Otherwise we risk publishing a release that has unaccounted-for changes.release-*
branches always require being up to date with their base branch before being merged (this is a Github branch protection setting)The text was updated successfully, but these errors were encountered: