Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit f41b95b

Browse files
authored
Merge pull request kubernetes-client#1229 from scottilee/releasedocs
Update Release Doc
2 parents f2b0356 + b1cea7e commit f41b95b

File tree

2 files changed

+72
-64
lines changed

2 files changed

+72
-64
lines changed

RELEASE.md

Lines changed: 0 additions & 13 deletions
This file was deleted.

devel/release.md

Lines changed: 72 additions & 51 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,69 @@
11
# Release process
22

3-
The release process of the python client involves creating (or updating) a release
4-
branch, updating release tags, and creating distribution packages and uploading them to
5-
pypi.
3+
The release process for the python client involves creating (or updating) a
4+
release branch, updating release tags, and creating distribution packages and
5+
uploading them to pypi.
6+
7+
There are several releases per version:
8+
- snapshot
9+
- a1 (alpha release)
10+
- b1 (beta release)
11+
- final release
12+
13+
Between each release, there is a waiting period of about two weeks for users to
14+
report issues. Typically, there is a single alpha or beta release, but if there
15+
are a higher than expected number of issues there can be multiple releases
16+
(e.g, a2 or b2).
17+
18+
## Create or update release branch
19+
20+
The release branch name should have release-x.x format. All minor and pre-releases
21+
should be on the same branch. To update an existing branch with master (only for
22+
latest pre-release):
23+
24+
```bash
25+
export RELEASE_BRANCH=release-x.y
26+
git checkout $RELEASE_BRANCH
27+
git fetch upstream
28+
git rebase upstream/$RELEASE_BRANCH
29+
git pull upstream master
30+
```
31+
32+
You may need to fix some conflicts. For auto-generated files, you can commit
33+
either version. They will be updated to the current version in the next step.
34+
35+
## Update release tags
36+
37+
Release tags are in the "scripts/constants.py" file. These are the constants you
38+
may need to update:
39+
40+
CLIENT_VERSION: Client version should follow x.y.zDn where x,y,z are version
41+
numbers (integers) and D is one of "a" for alpha or "b" for beta and n is the
42+
pre-release number. For a final release, the "Dn" part should be omitted.
43+
Examples:
44+
- 1.0.0a1 (alpha release)
45+
- 2.0.1b2 (beta release)
46+
- 1.5.1 (final release)
47+
48+
DEVELOPMENT_STATUS: Update it to one of the values of "Development Status" in
49+
[this list](https://pypi.python.org/pypi?%3Aaction=list_classifiers).
50+
51+
After changing constants to proper versions, update the client using this
52+
command:
53+
54+
```bash
55+
scripts/update-client.sh
56+
```
57+
58+
Commit changes (should be only version number changes) to the release branch.
59+
Name the commit something like "Update version constants for XXX release".
60+
61+
***After you finished the steps above, refer to the section "Hot issues" and
62+
apply the manual fixes.***
63+
64+
```bash
65+
git push upstream $RELEASE_BRANCH
66+
```
667

768
## Hot issues
869

@@ -21,34 +82,24 @@ For more details, see [#974](https://github.com/kubernetes-client/python/issues/
2182

2283
3. Add ability to the client to be used as Context Manager [kubernetes-client/python#1073](https://github.com/kubernetes-client/python/pull/1073)
2384

24-
Commit the manual changes like this [PR](https://github.com/kubernetes-client/python/pull/995/commits) does,
25-
then create your PR for review.
85+
4. Remove the tests directory (ref: https://github.com/kubernetes-client/python/commit/ec9c944f076999543cd2122aff2d86f969d82548). See the [upstream issue](https://github.com/OpenAPITools/openapi-generator/issues/5377) for more information.
86+
87+
Commit the manual changes like this [PR](https://github.com/kubernetes-client/python/pull/995/commits) does, then create your PR for review.
2688

27-
Alternatively, you can use the `scripts/apply-hotfixes.sh` script to apply changes from the above functionalities. **As mentioned above the script should be run after finishing the section `Update release tags`. Also, ensure a clean working directory before applying the script**
89+
Alternatively, you can use the `scripts/apply-hotfixes.sh` script to apply
90+
changes from the above functionalities. **As mentioned above the script should be run after finishing the section `Update release tags`. Also, ensure a clean working directory before applying the script**
2891

2992
## Change logs
93+
3094
Make sure the change logs are up to date [here](https://github.com/kubernetes-client/python/blob/master/CHANGELOG.md).
3195
If they are not, follow commits added after the last release and update/commit
3296
the change logs to master.
3397

3498
Then based on the release, follow one of next two steps.
3599

36-
## Update pre-release branch
37-
38-
The release branch name should have release-x.x format. All minor and pre-releases
39-
should be on the same branch. To update an existing branch with master (only for
40-
latest pre-release):
41-
42-
```bash
43-
export RELEASE_BRANCH=release-x.y
44-
git checkout $RELEASE_BRANCH
45-
git fetch upstream
46-
git rebase upstream/$RELEASE_BRANCH
47-
git pull upstream master
48-
```
100+
## README
49101

50-
You may need to fix some conflicts. For auto-generated files, you can commit
51-
either version. They will be updated to the current version in the next step.
102+
Update the compatibility matrix and maintenance status in the README file.
52103

53104
## Patch a release branch
54105

@@ -84,36 +135,6 @@ And make sure there is no API change (version number changes should be fine
84135
as they will be updated in the next step anyway). Do not commit any changes at
85136
this step and go back to the master branch if there are any API changes.
86137

87-
## Update release tags
88-
89-
Release tags are in the "scripts/constants.py" file. These are the constants you may
90-
need to update:
91-
92-
CLIENT_VERSION: Client version should follow x.y.zDn where x,y,z are version
93-
numbers (integers) and D is one of "a" for alpha or "b" for beta and n is the
94-
pre-release number. For a final release, the "Dn" part should be omitted. Examples:
95-
1.0.0a1, 2.0.1b2, 1.5.1.
96-
97-
DEVELOPMENT_STATUS: Update it to one of the values of "Development Status"
98-
in [this list](https://pypi.python.org/pypi?%3Aaction=list_classifiers).
99-
100-
after changing constants to proper versions, update the client using this
101-
command:
102-
103-
```bash
104-
scripts/update-client.sh
105-
```
106-
107-
and commit changes (should be only version number changes) to the release branch.
108-
Name the commit something like "Update version constants for XXX release".
109-
110-
***After you finished the steps above, refer to the section "Hot issues" and
111-
apply the manual fixes.***
112-
113-
```bash
114-
git push upstream $RELEASE_BRANCH
115-
```
116-
117138
## Make distribution packages
118139

119140
First make sure you are using a clean version of python. Use virtualenv and

0 commit comments

Comments
 (0)