mirror of
https://github.com/frappe/bench.git
synced 2025-02-02 19:08:24 +00:00
[update] release documentation
This commit is contained in:
parent
8faf03988c
commit
85e32346c3
@ -1,46 +1,56 @@
|
|||||||
# Release Policy
|
# Release Policy
|
||||||
|
|
||||||
We maintain a **staging** branch for erpnext and frappe. On every Wednesday, release team will create a **staging** branch from **develop** (Internal Release). Same on every Tuesday,we will release from **staging** branch to **master** (Community Release). We also maintain **hotfix** branch, to fix bugs from release. Hot fixes release will take place as per the priority and severity.
|
#### 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`.
|
||||||
|
|
||||||
**I. Branch Description**
|
- Use the prepare-staging command to create staging branch
|
||||||
|
```usage: bench prepare-staging APP```
|
||||||
|
|
||||||
1. develop: All new feature developments will go in develop branch
|
- Impact on branches ?
|
||||||
2. staging: This branch serves as a release candidate. Before a week, release team will pull feature from develop branch to staging branch.<br> EG: if feature is in 25 July's milestone then it should go in staging on 19th July.
|
- merge all commits from develop branch to staging
|
||||||
3. master: Community release.
|
- push merge commit back to develop
|
||||||
4. hotfix: mainly define for support issues. This will include bugs or any high priority task like security patches.
|
|
||||||
|
|
||||||
|
- QA will use staging for testing.
|
||||||
|
|
||||||
**II. Where to send PR?**
|
- Deploy staging branch on frappe.io
|
||||||
|
|
||||||
1. If you are working on a new feature, then PR should point to develop branch
|
- Only regression and security fixes can be cherry-picked into staging
|
||||||
2. If you are working on support issue / bug / error report, then PR should point to hotfix brach
|
|
||||||
3. While performing testing on Staging branch, if any fix needed then only send that fix PR to staging.
|
|
||||||
4. Direct push to master strictly prohibited.
|
|
||||||
|
|
||||||
|
- Create a discuss post on what all new features or fixes going in next version.
|
||||||
|
|
||||||
**III. Versioning**
|
---
|
||||||
|
|
||||||
1. develop to staging: No release number, cherry-pick or hard push from develop.
|
#### Create release from staging
|
||||||
2. staging to master:
|
- On Tuesday, we will release from staging to master.
|
||||||
Patch: Small fixes
|
|
||||||
Minor: For new features updates.
|
|
||||||
Major: If any API changes
|
|
||||||
3. hotfix to master: Patch version release
|
|
||||||
|
|
||||||
|
- Versioning:
|
||||||
|
- patch: Small fixes
|
||||||
|
- minor: For new features updates.
|
||||||
|
- major: If any API changes
|
||||||
|
|
||||||
**IV. Release Impact on branches:**
|
- 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
|
||||||
|
|
||||||
1. Releasing from staging:
|
- Use release command to create release,
|
||||||
staging -> master -> develop -> hotfix
|
``` usage: bench release APP patch|minor|major --from-branch staging ```
|
||||||
2. Releasing from hotfix:
|
|
||||||
hotfix -> master -> develop -> staging
|
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
**V. Servers/Sites and Branches:**
|
#### Create release from hotfix
|
||||||
|
- Depending on priority, hotfix release will take place.
|
||||||
|
|
||||||
1. Frappe Cloud: master branch (Every Tuesday)
|
- Versioning:
|
||||||
2. Frappe.io and Central: staging Branch (Every Wednesday)
|
- patch: Small fixes
|
||||||
3. demo.erpnext.com: master
|
|
||||||
4. beta.erpnext.com: staging
|
|
||||||
|
|
||||||
|
- 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 ```
|
||||||
|
@ -15,6 +15,14 @@ bench get-app erpnext git@github.com:frappe/erpnext.git
|
|||||||
"release_bench": true,
|
"release_bench": true,
|
||||||
```
|
```
|
||||||
|
|
||||||
|
* Add branches to update in common_site_config.json
|
||||||
|
```
|
||||||
|
"branches_to_update": {
|
||||||
|
"staging": ["develop", "hotfix"],
|
||||||
|
"hotfix": ["develop", "staging"]
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
* Use the release commands to release
|
* Use the release commands to release
|
||||||
```
|
```
|
||||||
Usage: bench release [OPTIONS] APP BUMP_TYPE
|
Usage: bench release [OPTIONS] APP BUMP_TYPE
|
||||||
@ -24,8 +32,8 @@ Usage: bench release [OPTIONS] APP BUMP_TYPE
|
|||||||
* _APP_ App name e.g [frappe|erpnext|yourapp]
|
* _APP_ App name e.g [frappe|erpnext|yourapp]
|
||||||
* _BUMP_TYPE_ [major|minor|patch|stable|prerelease]
|
* _BUMP_TYPE_ [major|minor|patch|stable|prerelease]
|
||||||
* Options:
|
* Options:
|
||||||
* --develop git develop branch, default is develop
|
* --from-branch git develop branch, default is develop
|
||||||
* --master git master branch, default is master
|
* --to-branch git master branch, default is master
|
||||||
* --remote git remote, default is upstream
|
* --remote git remote, default is upstream
|
||||||
* --owner git owner, default is frappe
|
* --owner git owner, default is frappe
|
||||||
* --repo-name git repo name if different from app name
|
* --repo-name git repo name if different from app name
|
Loading…
x
Reference in New Issue
Block a user