Skip to content

Commit 76897e9

Browse files
authored
Merge pull request #1520 from scottilee/release-docs
Update release docs with more info
2 parents 2f9643e + 88c9e94 commit 76897e9

File tree

1 file changed

+27
-14
lines changed

1 file changed

+27
-14
lines changed

devel/release.md

Lines changed: 27 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,11 @@ report issues. Typically, there is a single alpha or beta release, but if there
1515
are a higher than expected number of issues there can be multiple releases
1616
(e.g, a2 or b2).
1717

18-
## Create or update release branch
18+
## 1. Update submodules
19+
20+
Update submodules by referring to this [link](https://github.com/kubernetes-client/python/blob/master/devel/submodules.md#update-submodule). Commit the changes and open a pull request.
21+
22+
## 2. Create or update release branch
1923

2024
The release branch name should have release-x.x format. All minor and pre-releases
2125
should be on the same branch. To update an existing branch with master (only for
@@ -26,13 +30,13 @@ export RELEASE_BRANCH=release-x.y
2630
git checkout $RELEASE_BRANCH
2731
git fetch upstream
2832
git rebase upstream/$RELEASE_BRANCH
29-
git pull upstream master
33+
git pull -X theirs upstream master
3034
```
3135

3236
You may need to fix some conflicts. For auto-generated files, you can commit
3337
either version. They will be updated to the current version in the next step.
3438

35-
## Update release tags
39+
## 3. Update release tags
3640

3741
Release tags are in the "scripts/constants.py" file. These are the constants you
3842
may need to update:
@@ -55,20 +59,29 @@ command:
5559
scripts/update-client.sh
5660
```
5761

62+
**NOTE**: If you see a lot of new or modified files under the `kubernetes/test/`
63+
directory, delete everything except `kubernetes/test/test_api_client.py` and
64+
`kubernetes/test/test_configuration.py`.
65+
5866
Commit changes (should be only version number changes) to the release branch.
5967
Name the commit something like "Update version constants for XXX release".
6068

61-
***After you finished the steps above, refer to the section "Hot issues" and
69+
***After you finished the steps above, refer to the section, "Hot issues", and
6270
apply the manual fixes.***
6371

6472
```bash
6573
git push upstream $RELEASE_BRANCH
6674
```
6775

68-
## Hot issues
76+
## 4. Hot issues
77+
78+
Use the `scripts/apply-hotfixes.sh` script to apply the fixes below in one step.
79+
**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.**
80+
81+
Commit the manual changes like this [PR](https://github.com/kubernetes-client/python/pull/995/commits) does.
6982

7083
There are some hot issues with the client generation that require manual fixes.
71-
***The steps in this section should be performed after you finished the section "Update release tags".***
84+
**The steps below are deprecated and only exist for documentation purposess. They should be performed using the `scripts/apply-hotfixes.sh` script mentioned above.**
7285

7386
1. Restore custom object patch behavior. You should apply [this commit](https://github.com/kubernetes-client/python/pull/995/commits/9959273625b999ae9a8f0679c4def2ee7d699ede)
7487
to ensure custom object patch behavior is backwards compatible. For more
@@ -86,23 +99,23 @@ For more details, see [#974](https://github.com/kubernetes-client/python/issues/
8699

87100
5. Add tests for the default `Configuration` behavior (ref: https://github.com/kubernetes-client/python/pull/1303 and https://github.com/kubernetes-client/python/pull/1285). The commit [1ffa61d0650e4c93e0d7f0becd2c54797eafd407](https://github.com/kubernetes-client/python/pull/1285/commits/1ffa61d0650e4c93e0d7f0becd2c54797eafd407) should be cherry-picked.
88101

89-
Commit the manual changes like this [PR](https://github.com/kubernetes-client/python/pull/995/commits) does, then create your PR for review.
90-
91-
Alternatively, you can use the `scripts/apply-hotfixes.sh` script to apply
92-
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**
93-
94-
## Change logs
102+
## 5. CHANGELOG
95103

96104
Make sure the change logs are up to date [here](https://github.com/kubernetes-client/python/blob/master/CHANGELOG.md).
97105
If they are not, follow commits added after the last release and update/commit
98106
the change logs to master.
99107

100108
Then based on the release, follow one of next two steps.
101109

102-
## README
110+
## 6. README
103111

104112
Update the compatibility matrix and maintenance status in the README file.
105113

114+
## Submit pull request
115+
116+
Typically after the you've completed steps 2-6 above you can push your changes
117+
open a pull request against `kubernetes-client:release-x.y`
118+
106119
## Patch a release branch
107120

108121
If you are releasing a patch to an existing stable release, you should do a
@@ -188,7 +201,7 @@ If everything looks good, run this command to upload packages to pypi:
188201
twine upload dist/*
189202
```
190203

191-
## Create github release
204+
## Create Github release
192205

193206
Create a github release by starting from
194207
[this page](https://github.com/kubernetes-client/python/releases).

0 commit comments

Comments
 (0)