You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository has been archived by the owner on Jan 8, 2019. It is now read-only.
In a quest to automate and speed things up (avoiding vital need for knowledge of process/implementation details) putting this out there for thoughts.
dennis release *
IF pending pull requests into release branch [1]
bail
dennis start feature <BRANCH_NAME> [2]
dennis start fix <BRANCH_NAME> [3]
dennis finish [4]
ask for details from QA.md [4]
automate things like a jira link from branch name
IF type="fix":
IF no hotfix release branch exists: [5]
rename branch to "release/0.0.x"
run prepare
IF hotfix release branch exists: [6]
create pull request into existing release branch
IF type="feature": [7]
create pull request into develop
[1] Extending the current script if there is ever a pending pull request into a release branch we should have to address that first before releasing.
[2] This currently would just be a glorified git checkout develop && git checkout -b <BRANCH_NAME>
[3] Again, just a glorified git checkout master && git checkout -b <BRANCH_NAME> but also distinguishes itself as a "fix" which allows us to do some clever stuff later. Here you "just want to get a fix out as quickly as possible" so you're thinking about it in an isolated box.
[4] This command, dependant on the type, can prompt for more details or open favoured text editor with QA.md to edit in the same spirit of git commit.
[5] Fix: If no existing hotfix release (0.0.x) branch exists then we will create it with prepare and push our changes to that
[6] Fix: If there is a hotfix already about to go out we may as well jump onboard and bundle our fix with it rather than have to wait (remember the fix was developed in an isolated branch from master anyway so it should be good to go by the time it hits a release branch)
[7] Feature: Opted not to provide the "get shit out quick so allow hopping straight onto a feature release" here as we should encourage everything hitting develop in a stable state. This simply creates a pull request into develop like we usually do with features and sets up correct tagging.
This is all, of course, used in conjunction with the standard prepare and release commands.
The text was updated successfully, but these errors were encountered:
I'm all for bundling commands and practices into shorter and more memorable steps definitely.
My only argument would be, in general, to avoid unnecessary abstraction over simple tasks, because people then lose visibility of the real work being done.
Clearly achieving the above is what we do for a living, but when it becomes an issue is when something goes wrong in your git flow and you're too uncertain about what this 'dennis' tool has done to your branches that you don't want to touch anything in case it all goes boom :p
I don't mean this as a reason not to move forward by embracing our manual steps and building automation around them, I just think we should keep in mind to avoid magic where it is not needed.
Of course this could all be solved by verbose logging on dennis potentially!
yannispanousis
changed the title
Extend dennis to help with managing branches
Extend dennis to help with managing feature branches
Feb 19, 2016
Sign up for freeto subscribe to this conversation on GitHub.
Already have an account?
Sign in.
In a quest to automate and speed things up (avoiding vital need for knowledge of process/implementation details) putting this out there for thoughts.
dennis release *
dennis start feature <BRANCH_NAME>
[2]dennis start fix <BRANCH_NAME>
[3]dennis finish
[4][1] Extending the current script if there is ever a pending pull request into a release branch we should have to address that first before releasing.
[2] This currently would just be a glorified
git checkout develop && git checkout -b <BRANCH_NAME>
[3] Again, just a glorified
git checkout master && git checkout -b <BRANCH_NAME>
but also distinguishes itself as a "fix" which allows us to do some clever stuff later. Here you "just want to get a fix out as quickly as possible" so you're thinking about it in an isolated box.[4] This command, dependant on the type, can prompt for more details or open favoured text editor with QA.md to edit in the same spirit of
git commit
.[5] Fix: If no existing hotfix release (0.0.x) branch exists then we will create it with
prepare
and push our changes to that[6] Fix: If there is a hotfix already about to go out we may as well jump onboard and bundle our fix with it rather than have to wait (remember the fix was developed in an isolated branch from master anyway so it should be good to go by the time it hits a release branch)
[7] Feature: Opted not to provide the "get shit out quick so allow hopping straight onto a feature release" here as we should encourage everything hitting develop in a stable state. This simply creates a pull request into develop like we usually do with features and sets up correct tagging.
This is all, of course, used in conjunction with the standard
prepare
andrelease
commands.The text was updated successfully, but these errors were encountered: