Git workflow with CI/CD SCENARIO:
---------
1. The dev open/choose/assigned a ticket on JIRA:
- Create a smart branch on his/her local env, e.g. `feature/HT-2-add-header-component`
2. Branch `feature/HT-2-add-header-component`:
- commit changes(+ add semversioner changes for next release)
- push to bitbucket
- CI tests executed
- fail: fix the error(s) then commit again
- success: create a pull request
3. Branch `feature/HT-2-add-header-component` reviewed, approved:
- the code-reviewer merge it with dev
- branch dev CI tests executed
- fail: fix the error(s) then commit again
- success: branch dev CD executed
- deployment started to preprod
4. Feature tested on preprod, let's create a release:
- create a release branch from dev, e.g. `release/v0.0.3`
- exec CI tests
- exec `semversioner changelog` command
- `git add CHANGELOG.md`
- `git commit -m "bump version $(semversioner current-version)"`
- add git tag using `semversionner current-version`
- merge release/v0.0.3 with dev without starting tests
- merge release/v0.0.3 with master:
- exec master CI tests
- exec master CD:
- deployment started to production server(s)