Create a new protected branch for "nightly" releases (updated daily automatically from dev).
Create a new protected branch for "unstable" releases (updated at each end of sprint - end of milestone).
Create environment variables
M = Major version
m = minor version
X = Hotfix version
End of sprint event (manual) :
Merge any finished feature/fix on branch "dM.m.X"
(or change the milestone if unfinished)
Merge current branch "dM.m.X" on dev
Tag current dev with "dM.m.X"
Merge current dev to nightly.
Merge current nightly to unstable.
Close branch "dM.m.X"
Increment version for next sprint
Create a new branch "dM.m.X" from current dev
Manage Release candidates (manual)
Create a new branch "rM.m.X"
New release (manual) :
Tag "rM.m.X" on "unstable"
Merge "rM.m.X" with "unstable"
Close "rM.m.X"
Merge "unstable" with "master"
New CI/CD events :
Daily merge of dev to nightly (then create the merge request from nightly to dev)
When "push" happens on master, make sure a Release package is delivered
When "push" happens on unstable, make sure a Release package is delivered
When "push" happens on nightly, make sure a Release package is delivered
Make sure automated merge is authorized for github-actions[bot] for dev>nightly merges.
Features for 0.5.0 :
Package deliveries/releases when build is done (set versions variables)
Prepare some new actions that can be triggered manually to increase the versions (Major/minor/sub-minor) and prepare pull_requests from nightly to unstable and from unstable to master
New protected branches
Create a new protected branch for "nightly" releases (updated daily automatically from dev). Create a new protected branch for "unstable" releases (updated at each end of sprint - end of milestone).
Create environment variables
M = Major version m = minor version X = Hotfix version
End of sprint event (manual) :
Merge any finished feature/fix on branch "dM.m.X" (or change the milestone if unfinished)
Merge current branch "dM.m.X" on dev
Tag current dev with "dM.m.X"
Merge current dev to nightly.
Merge current nightly to unstable.
Close branch "dM.m.X"
Increment version for next sprint
Create a new branch "dM.m.X" from current dev
Manage Release candidates (manual)
New release (manual) :
New CI/CD events :