-
Notifications
You must be signed in to change notification settings - Fork 3.3k
update release doc #1415
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Closed
Closed
update release doc #1415
Changes from all commits
Commits
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,8 +1,8 @@ | ||
# Release process | ||
|
||
The release process for the python client involves creating (or updating) a | ||
release branch, updating release tags, and creating distribution packages and | ||
uploading them to pypi. | ||
release branch, updating python-base submodule, updating release tags, and | ||
creating distribution packages and uploading them to pypi. | ||
|
||
There are several releases per version: | ||
- snapshot | ||
|
@@ -32,6 +32,21 @@ git pull upstream master | |
You may need to fix some conflicts. For auto-generated files, you can commit | ||
either version. They will be updated to the current version in the next step. | ||
|
||
A workaround for merge conflicts is to manually cherrypick the change from the | ||
master branch to the release branch. See https://github.com/kubernetes-client/python/pull/1411 | ||
for examples. | ||
|
||
For any user-facing changes in the master branch, write down the release notes | ||
in [CHANGELOG.md](https://github.com/kubernetes-client/python/blob/master/CHANGELOG.md) | ||
|
||
## Update python-base submodule | ||
|
||
Follow the [instruction](https://github.com/kubernetes-client/python/blob/master/devel/submodules.md#update-submodule) | ||
to update python-base submodule. | ||
|
||
For any user-facing changes in python-base, write down the release notes | ||
in [CHANGELOG.md](https://github.com/kubernetes-client/python/blob/master/CHANGELOG.md) | ||
|
||
## Update release tags | ||
|
||
Release tags are in the "scripts/constants.py" file. These are the constants you | ||
|
@@ -86,6 +101,11 @@ For more details, see [#974](https://github.com/kubernetes-client/python/issues/ | |
|
||
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. | ||
|
||
6. If you see an error `gen/openapi/openapi-generator/client-generator.sh: line 83: LIBRARY: unbound variable` | ||
while running `scripts/update-client.sh`, cherrypick the commit https://github.com/kubernetes-client/python/pull/1411/commits/e43ab1e4ad30dcce30b6ae99365afa736f119ab5 | ||
to your local branch and retry. Once the [fix in gen repo](https://github.com/kubernetes-client/gen/pull/187) | ||
is merged, this workaround should be no longer needed. | ||
|
||
Commit the manual changes like this [PR](https://github.com/kubernetes-client/python/pull/995/commits) does, then create your PR for review. | ||
|
||
Alternatively, you can use the `scripts/apply-hotfixes.sh` script to apply | ||
|
@@ -137,7 +157,11 @@ And make sure there is no API change (version number changes should be fine | |
as they will be updated in the next step anyway). Do not commit any changes at | ||
this step and go back to the master branch if there are any API changes. | ||
|
||
## Make distribution packages | ||
## [Legacy] Make distribution packages | ||
|
||
NOTE: we have a deploy stage in the [travis config](https://github.com/kubernetes-client/python/blob/b839eee939455d17b99f1335f6318732c6bea77c/.travis.yml#L97-L109) | ||
which automatically publishes the packages when a new tag is pushed to the repo. | ||
This step is no longer needed. Proceed to the "Create github release" step. | ||
|
||
First make sure you are using a clean version of python. Use virtualenv and | ||
pyenv packages. Make sure you are using python 2.7.12. I would normally do this | ||
|
@@ -190,12 +214,17 @@ twine upload dist/* | |
|
||
## Create github release | ||
|
||
NOTE: this step requires write permission to the repo. Contact one of the | ||
project admins for help creating the release. | ||
|
||
Create a github release by starting from | ||
[this page](https://github.com/kubernetes-client/python/releases). | ||
Click the `Draft a new release button`. Name the tag the same as CLIENT_VERSION. Change | ||
the target branch to "release-x.y". If the release is a pre-release, check the | ||
`This is a pre-release` option. | ||
|
||
The tag will be automatically pushed once the release page is created. | ||
|
||
## Announcement | ||
|
||
Send an announcement email to [email protected] with the subject: [ANNOUNCE] kubernetes python-client $VERSION is released | ||
|
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
some clarification on the reasoning for this (i.e. parallel multiple releases), also there is a step about committing snapshot to master, that should be optional initially, and when all in-flight releases are completed, the snapshot should be updated to the latest release.