2.4 KiB
Release Policy
Definitions:
develop
Branch: All new feature developments will go in develop branchstaging
Branch: This branch serves as a release candidate. Before a week, release team will pull the feature from develop branch to staging branch. EG: if the feature is in 25 July's milestone then it should go in staging on 19th July.master
Branch:master
branch serves as a stable branch. This will use as production deployment.hotfix
Branch: mainly define for support issues. This will include bugs or any high priority task like security patches.
Create release from staging
-
On Tuesday, we will release from staging to master.
-
Versioning: Given a version number MAJOR.MINOR.PATCH, increment the:
- MAJOR version when you make incompatible API changes,
- MINOR version when you add functionality in a backwards-compatible manner, and
- PATCH version when you make backwards-compatible bug fixes.
-
Impact on branches:
- merge staging branch to master
- push merge commit back to staging branch
- push merge commit to develop branch
- push merge commit to hotfix branch
-
Use release command to create release,
usage: bench release APP patch|minor|major --from-branch staging
Create staging branch
-
On Wednesday morning,
develop
will be merge intostaging
.staging
branch is a release candidate. All new features will first go fromdevelop
tostaging
and thenstaging
tomaster
. -
Use the prepare-staging command to create staging branch
usage: bench prepare-staging APP
-
Impact on branches?
- merge all commits from develop branch to staging
- push merge commit back to develop
-
QA will use staging for testing.
-
Deploy staging branch on frappe.io, erpnext.org, frappe.erpnext.com.
-
Only regression and security fixes can be cherry-picked into staging
-
Create a discuss post on what all new features or fixes going in next version.
Create release from hotfix
-
Depending on priority, hotfix release will take place.
-
Versioning:
- PATCH version when you make backwards-compatible bug fixes.
-
Impact on branches:
- merge hotfix branch to master
- push merge commit back to staging branch
- push merge commit to develop branch
- push merge commit to staging branch
-
Use release command to create release,
usage: bench release APP patch --from-branch hotfix