You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: doc/fluid/dev/releasing_process_en.md
+28-37Lines changed: 28 additions & 37 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -4,26 +4,21 @@ PaddlePaddle manages its branches using "git-flow branching model", and [Semanti
4
4
5
5
Each time we release a new PaddlePaddle version, we should follow the below steps:
6
6
7
-
1. Fork a new branch from `develop` named `release/[version]`, e.g. `release/0.10.0`.
8
-
1. Push a new tag on the release branch, the tag name should be like `[version]rc.patch`. The
9
-
first tag should be `0.10.0rc1`, and the second should be `0.10.0.rc2` and so on.
10
-
1. After that, we should do:
11
-
* Run all regression test on the Regression Test List (see PaddlePaddle TeamCity CI), to confirm
12
-
that this release has no major bugs.
13
-
* If regression test fails, we must fix those bugs and create a new `release/[version]`
14
-
branch from previous release branch.
15
-
* Modify `python/setup.py.in`, change the version number and change `ISTAGED` to `True`.
16
-
* Publish PaddlePaddle release wheel packages to pypi (see below instructions for detail).
17
-
* Update the Docker images (see below instructions for detail).
18
-
1. After above step, merge `release/[version]` branch to master and push a tag on the master commit,
19
-
then merge `master` to `develop`.
20
-
1. Update the Release Note.
21
-
22
-
***NOTE:***
23
-
24
-
* Do ***NOT*** merge commits from develop branch to release branches to keep the release branch contain
25
-
features only for current release, so that we can test on that version.
26
-
* If we want to fix bugs on release branches, we must merge the fix to master, develop and release branch.
7
+
1. Create a new release branch from `develop`,named `release/[version]`. E.g.,`release/0.10.0`
8
+
2. Create a new tag for the release branch, tag format: `version-rc.Patch`. E.g. the first tag is `0.10.0-rc0`。
9
+
3. New release branch normally doesn't accept new features or optimizations. QA will test on the release branch. Developer should develop based on `develop` branch.
10
+
4. If QA or Developer find bugs. They should first fix and verify on `develop` branch. Then cherry-pick the fix to the release branch. Wait until the release branch is stable.
11
+
5. If necessary, create a new tag on the relese branch, e.g. `0.10.0-rc1`. Involve more users to try it and repeat step 3-4.
12
+
6. After release branch is stable,Create the official release tag,such as `0.10.0`.
13
+
7. Release the python wheel package to pypi.
14
+
8. Update the docker image (More details below).
15
+
16
+
NOTE:
17
+
18
+
* bug fix should happen on `develop` branch, then cherry-pick to relese branch. Avoid developing directly on release branch.
19
+
20
+
* release normally only accept bug fixes. Don't add new features.
21
+
27
22
28
23
## Publish Wheel Packages to pypi
29
24
@@ -97,26 +92,22 @@ You can then checkout the latest pushed tags at https://hub.docker.com/r/paddlep
97
92
98
93
## Branching Model
99
94
100
-
We use [git-flow](http://nvie.com/posts/a-successful-git-branching-model/) as our branching model,
101
-
with some modifications:
102
-
103
-
* `master` branch is the stable branch. Each version on the master branch is tested and guaranteed.
104
-
* `develop` branch is for development. Each commit on develop branch has passed CI unit test, but no
105
-
regression tests are run.
106
-
* `release/[version]` branch is used to publish each release. Latest release version branches have
107
-
bugfix only for that version, but no feature updates.
0 commit comments