Skip to content

Commit a225ccd

Browse files
committed
Update release docs with more info
1 parent 837a6ec commit a225ccd

File tree

1 file changed

+31
-12
lines changed

1 file changed

+31
-12
lines changed

devel/release.md

Lines changed: 31 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,17 @@ 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 running the following script:
21+
22+
```bash
23+
scripts/update-submodule.sh
24+
```
25+
26+
Commit the changes and open a pull request.
27+
28+
## 2. Create or update release branch
1929

2030
The release branch name should have release-x.x format. All minor and pre-releases
2131
should be on the same branch. To update an existing branch with master (only for
@@ -26,13 +36,13 @@ export RELEASE_BRANCH=release-x.y
2636
git checkout $RELEASE_BRANCH
2737
git fetch upstream
2838
git rebase upstream/$RELEASE_BRANCH
29-
git pull upstream master
39+
git pull -X theirs upstream master
3040
```
3141

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

35-
## Update release tags
45+
## 3. Update release tags
3646

3747
Release tags are in the "scripts/constants.py" file. These are the constants you
3848
may need to update:
@@ -55,17 +65,24 @@ command:
5565
scripts/update-client.sh
5666
```
5767

68+
**NOTE**: If you see a lot of new or modified files under the `kubernetes/test/`
69+
directory, delete everything except `kubernetes/test/test_api_client.py` and
70+
`kubernetes/test/test_configuration.py`.
71+
5872
Commit changes (should be only version number changes) to the release branch.
5973
Name the commit something like "Update version constants for XXX release".
6074

61-
***After you finished the steps above, refer to the section "Hot issues" and
75+
***After you finished the steps above, refer to the section, "Hot issues", and
6276
apply the manual fixes.***
6377

6478
```bash
6579
git push upstream $RELEASE_BRANCH
6680
```
6781

68-
## Hot issues
82+
## 4. Hot issues
83+
84+
You can use the `scripts/apply-hotfixes.sh` script to apply the fixes below in
85+
one step. **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**
6986

7087
There are some hot issues with the client generation that require manual fixes.
7188
***The steps in this section should be performed after you finished the section "Update release tags".***
@@ -86,23 +103,25 @@ For more details, see [#974](https://github.com/kubernetes-client/python/issues/
86103

87104
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.
88105

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**
106+
Commit the manual changes like this [PR](https://github.com/kubernetes-client/python/pull/995/commits) does.
93107

94-
## Change logs
108+
## 5. CHANGELOG
95109

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

100114
Then based on the release, follow one of next two steps.
101115

102-
## README
116+
## 6. README
103117

104118
Update the compatibility matrix and maintenance status in the README file.
105119

120+
## Submit pull request
121+
122+
Typically after the you've completed steps 2-5 above you can push your changes
123+
open a pull request against `kubernetes-client:release-x.y`
124+
106125
## Patch a release branch
107126

108127
If you are releasing a patch to an existing stable release, you should do a
@@ -188,7 +207,7 @@ If everything looks good, run this command to upload packages to pypi:
188207
twine upload dist/*
189208
```
190209

191-
## Create github release
210+
## Create Github release
192211

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

0 commit comments

Comments
 (0)