diff --git a/bench/docs/branch_details.md b/docs/branch_details.md similarity index 100% rename from bench/docs/branch_details.md rename to docs/branch_details.md diff --git a/bench/docs/contribution_guidelines.md b/docs/contribution_guidelines.md similarity index 100% rename from bench/docs/contribution_guidelines.md rename to docs/contribution_guidelines.md diff --git a/bench/docs/release_policy.md b/docs/release_policy.md similarity index 50% rename from bench/docs/release_policy.md rename to docs/release_policy.md index 7b328342..c105ed56 100644 --- a/bench/docs/release_policy.md +++ b/docs/release_policy.md @@ -1,33 +1,19 @@ # Release Policy -#### Create staging branch - -- On Wednesday morning, we will create a `staging` branch from develop branch. `staging` branch is a release candidate. All new features will first go from `develop` to `staging` and then `staging` to `master`. - -- 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 - -- 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. - ---- +#### Definitions: + - `develop` Branch: All new feature developments will go in develop branch + - `staging` 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: - - patch: Small fixes - - minor: For new features updates. - - major: If any API changes +- 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 @@ -40,11 +26,32 @@ --- +#### Create staging branch + +- 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`. + +- 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: Small fixes + - PATCH version when you make backwards-compatible bug fixes. - Impact on branches: - merge hotfix branch to master diff --git a/bench/docs/releasing_frappe_erpext.md b/docs/releasing_frappe_erpext.md similarity index 100% rename from bench/docs/releasing_frappe_erpext.md rename to docs/releasing_frappe_erpext.md