main
feature/**/**
hotfix/**/**
Note: only one feature per version.
- Create branch from main for the feature.
- Every developer related to the feature works on this branch.
- When they finish they push.
- This push activates the DEV actions, generates the DEV images, and is automatically deployed to DEV environment.
- When everything is tested, PR is made to main.
- After this PR is approved, the QA actions are activated, and the QA images are generated.
- QA is updated manually to see that everything works well.
- If everything works well, merge to main activate RC actions and generate RC images.
- After test on RC, create a new release that will activate release actions.
- Create branch from main for the hotfix.
- Every developer related to the hotfix works on this branch.
- When they finish, they make a PR to main.
- After this PR is merged to main, the rc actions are activated, and the rc images are generated.
- RC is updated manually to see that everything works well and we test it in RC.
- If everything works well, create a new release that will activate release actions.
dev->on push feature/**/** branch
qa->on pull-request: approved main branch
rc->on push: main branch
release-> on release