@startuml start if (activity type) then (develop feature) :git checkout master; :git branch -b feature; repeat :git commit -m "Feature"; if (master is ahead?) then (yes) :git rebase master; endif repeat while (CI passes?) is (no) #palegreen: Open PR to master; else (develop fix) :git checkout semver_tag; :git branch -b semver_tag_fix; repeat :git commit -m "Fix"; repeat while (CI passes?) is (no) :git tag semver_tag + patch bump; note right Trigger build end note if (master is ahead?) then (yes) :git rebase master; repeat :git commit -m "Resolve conflict"; repeat while (CI passes?) is (no) endif #palegreen: Open PR to master; endif :git merge pr_branch; note right ff merge only end note if (Release feature complete?) then (yes) :git tag semver_tag + major/minor bump; note right Trigger build end note endif stop @enduml