You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

release_policy.md 2.4 KiB

1 year ago
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. # Release Policy
  2. #### Definitions:
  3. - `develop` Branch: All new feature developments will go in develop branch
  4. - `staging` Branch: This branch serves as a release candidate. Before a week, release team will pull the feature from develop branch to staging branch.
  5. EG: if the feature is in 25 July's milestone then it should go in staging on 19th July.
  6. - `master` Branch: `master` branch serves as a stable branch. This will use as production deployment.
  7. - `hotfix` Branch: mainly define for support issues. This will include bugs or any high priority task like security patches.
  8. #### Create release from staging
  9. - On Tuesday, we will release from staging to master.
  10. - Versioning: Given a version number MAJOR.MINOR.PATCH, increment the:
  11. - MAJOR version when you make incompatible API changes,
  12. - MINOR version when you add functionality in a backwards-compatible manner, and
  13. - PATCH version when you make backwards-compatible bug fixes.
  14. - Impact on branches:
  15. - merge staging branch to master
  16. - push merge commit back to staging branch
  17. - push merge commit to develop branch
  18. - push merge commit to hotfix branch
  19. - Use release command to create release,
  20. ``` usage: bench release APP patch|minor|major --from-branch staging ```
  21. ---
  22. #### Create staging branch
  23. - On Wednesday morning, `develop` will be merge into `staging`. `staging` branch is a release candidate. All new features will first go from `develop` to `staging` and then `staging` to `master`.
  24. - Use the prepare-staging command to create staging branch
  25. ```usage: bench prepare-staging APP```
  26. - Impact on branches?
  27. - merge all commits from develop branch to staging
  28. - push merge commit back to develop
  29. - QA will use staging for testing.
  30. - Deploy staging branch on xhiveframework.io, xhiveerp.org, xhiveframework.xhiveerp.com.
  31. - Only regression and security fixes can be cherry-picked into staging
  32. - Create a discuss post on what all new features or fixes going in next version.
  33. ---
  34. #### Create release from hotfix
  35. - Depending on priority, hotfix release will take place.
  36. - Versioning:
  37. - PATCH version when you make backwards-compatible bug fixes.
  38. - Impact on branches:
  39. - merge hotfix branch to master
  40. - push merge commit back to staging branch
  41. - push merge commit to develop branch
  42. - push merge commit to staging branch
  43. - Use release command to create release,
  44. ``` usage: bench release APP patch --from-branch hotfix ```