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: docs/designs/versioning.md
+33-11Lines changed: 33 additions & 11 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,20 +1,32 @@
1
1
# Versioning
2
2
3
-
For better managing and releasing code, here is a summary about the versioning story of ElasticDL. Some previous discussions can be found [here](#1121).
3
+
For better managing and releasing code, here is a summary about the versioning
4
+
story of ElasticDL. Some previous discussions can be found [here](#1121).
4
5
5
6
## Branches
6
7
7
8
There are three different type branches:
8
-
-**develop** branch: the main branch where the source code always reflects a state with the latest delivered development changes for the next release.
9
-
-**feature** branches: branch off from the `develop` branch and merge back into `develop`. `Feature` branches are used to develop new features, and created/maintained by developers themselves. `Feature` branches will be deleted after code changes get merge info `develop` branch.
10
-
-**release** branches: branch off from the `develop` branch. When the `develop` branch reaches the desired state of a new release, cut off a new release branch, and start to publish new versions there. Release branches will be kept.
11
-
12
-
For version numbers, we follow the [Semantic Versioning 2.0.0](https://semver.org/ with style MAJOR.MINOR.PATCH (e.g. 0.2.1). For each MAJOR.MINOR, we keep a corresponding `release` branch (named `branch-x.y`), and each following patch version x.y.z is released from it.
13
9
10
+
-**develop** branch: the main branch where the source code always reflects a
11
+
state with the latest delivered development changes for the next release.
12
+
-**feature** branches: branch off from the `develop` branch and merge back into
13
+
`develop`. `Feature` branches are used to develop new features, and
14
+
created/maintained by developers themselves. `Feature` branches will be
15
+
deleted after code changes get merge info `develop` branch.
16
+
-**release** branches: branch off from the `develop` branch. When the `develop`
17
+
branch reaches the desired state of a new release, cut off a new release
18
+
branch, and start to publish new versions there. Release branches will be
19
+
kept.
20
+
21
+
For version numbers, we follow the Semantic Versioning
22
+
[2.0.0](https://semver.org) with style MAJOR.MINOR.PATCH (e.g. 0.2.1). For each
23
+
MAJOR.MINOR, we keep a corresponding `release` branch (named `branch-x.y`), and
24
+
each following patch version x.y.z is released from it.
14
25
15
26
## Feature Development
16
27
17
-
New features and bugfixes are developed in `feature` branches. Make sure you work with the latest version of `develop` branch.
28
+
New features and bugfixes are developed in `feature` branches. Make sure you
29
+
work with the latest version of `develop` branch.
18
30
19
31
```bash
20
32
# Start a new feature branch from develop branch
@@ -28,7 +40,9 @@ $ git checkout develop
28
40
$ git branch -D feature1
29
41
```
30
42
31
-
Here is the [tutorial](https://help.github.com/en/articles/creating-a-pull-request#changing-the-branch-range-and-destination-repository) on how to open a pull request.
# A detailed instruction is available at https://packaging.python.org/tutorials/packaging-projects/
49
63
```
50
64
51
-
So now we have v0.1.0rc0 ready to use. Test out this version. If any issues found, get them fixed in `develop` branch, merged into `branch-0.1` branch, and repeat the aforementioned steps to publish a new release candidate version. We keep releasing `rc` version until no further issues found. At that time, release the official `v0.1.0` version.
65
+
So now we have v0.1.0rc0 ready to use. Test out this version. If any issues
66
+
found, get them fixed in `develop` branch, merged into `branch-0.1` branch, and
67
+
repeat the aforementioned steps to publish a new release candidate version. We
68
+
keep releasing `rc` version until no further issues found. At that time, release
69
+
the official `v0.1.0` version.
52
70
53
71
```bash
54
72
$ git checkout -b branch-0.1 develop
@@ -61,7 +79,11 @@ $ git push origin branch-0.1
61
79
$ git tag v0.1.0 -a
62
80
$ git push origin v0.1.0
63
81
```
64
-
Note that for creating new releases and tags, you can also do from the [website](https://github.com/sql-machine-learning/elasticdl/releases).
65
82
83
+
Note that for creating new releases and tags, you can also do from the
For cases where the `release` branch already exists (for example when releasing 0.1.1 and `branch-0.1` is already there), just reuse that `release` branch and merge required commits from `develop` branch to the corresponding `release` branch.
86
+
For cases where the `release` branch already exists (for example when releasing
87
+
0.1.1 and `branch-0.1` is already there), just reuse that `release` branch and
88
+
merge required commits from `develop` branch to the corresponding `release`
0 commit comments