Skip to content

Commit

Permalink
Merge pull request #1280 from palnabarun/release-12.0
Browse files Browse the repository at this point in the history
Update Client 12.0 to stable
  • Loading branch information
k8s-ci-robot authored Oct 14, 2020
2 parents ae3bce7 + 85475c2 commit 38a0ab4
Show file tree
Hide file tree
Showing 20 changed files with 519 additions and 84 deletions.
12 changes: 12 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
version: 2
updates:
- package-ecosystem: "pip"
directory: "/"
schedule:
interval: "daily"
time: "02:00"
- package-ecosystem: "github-actions"
directory: "/"
schedule:
interval: "daily"
time: "03:00"
Empty file added .github/workflows/release.yaml
Empty file.
2 changes: 1 addition & 1 deletion .github/workflows/test.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ jobs:
with:
submodules: true
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v1
uses: actions/setup-python@v2.1.3
with:
python-version: ${{ matrix.python-version }}
- name: Install dependencies
Expand Down
12 changes: 12 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,15 @@
# v12.0.0

Kubernetes API Version: 1.16.15

**New Feature:**
- Implement Port Forwarding [kubernetes-client/python-base#210](https://github.com/kubernetes-client/python-base/pull/210), [kubernetes-client/python-base#211](https://github.com/kubernetes-client/python-base/pull/211), [kubernetes-client/python#1237](https://github.com/kubernetes-client/python/pull/1237)
- Support loading configuration from file-like objects [kubernetes-client/python-base#208](https://github.com/kubernetes-client/python-base/pull/208)
- Returns the created k8s objects in `create_from_{dict,yaml}` [kubernetes-client/python#1262](https://github.com/kubernetes-client/python/pull/1262)

**Bug Fix:**
- Prevent 503s from killing the client during discovery [kubernetes-client/python-base#187](https://github.com/kubernetes-client/python-base/pull/187)

# v12.0.0b1

Kubernetes API Version: 1.16.14
Expand Down
3 changes: 2 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -120,7 +120,8 @@ between client-python versions.
| 10.0 | Kubernetes main repo, 1.14 branch ||
| 11.0 Alpha/Beta | Kubernetes main repo, 1.15 branch ||
| 11.0 | Kubernetes main repo, 1.15 branch ||
| 12.0 Alpha/Beta | Kubernetes main repo, 1.16 branch ||
| 12.0 Alpha/Beta | Kubernetes main repo, 1.16 branch ||
| 12.0 | Kubernetes main repo, 1.16 branch ||

Key:

Expand Down
13 changes: 0 additions & 13 deletions RELEASE.md

This file was deleted.

30 changes: 30 additions & 0 deletions changes.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
6d64cf67 Merge pull request #1265 from kubernetes-client/dependabot/github_actions/actions/setup-python-v2.1.3
d31652a3 Bump actions/setup-python from v2.1.2 to v2.1.3
945aac9f Merge pull request #1260 from kubernetes-client/dependabot/github_actions/actions/setup-python-v2.1.2
d1ccbf22 Merge pull request #1262 from sighingnow/ht/return-created
bbdfb73c Fixes for code format.
9e534d02 Returns the created k8s objects in create_from_{dict,yaml}.
f41b95b0 Merge pull request #1229 from scottilee/releasedocs
f72d2a50 Bump actions/setup-python from v1 to v2.1.2
f2b03567 Merge pull request #1259 from brendandburns/dependa
a8243646 Add dependabot.
b1cea7ef Address comments about hot issues
1be69369 Merge branch 'master' of https://github.com/kubernetes-client/python into releasedocs
457ac54a Merge pull request #1254 from palnabarun/cherry-pick-12.0.0b1-notes
de822a28 Update the CHANGELOG and README
0a78dc1e Merge pull request #1253 from ryphon/file-like-base-update
a2ede702 touching readme with newline to check test validity
8e1c331c updating base for file-like config load support
42db3552 Merge pull request #1252 from unki/master
32cb3f91 remove duplicate-lines from kubernetes/README.md
4079c67c Merge pull request #1237 from iciclespider/port-forwarding
b1dd9c4f Install socat on Kubernetes node for use by port forwarding.
3da49a20 Update kubernetes/base to latest master with portforwarding implementation.
c1249c9c Support both python 2.7 and 3.x.
d9ec734a Fix tox errors.
8afcebdf Add test that checks for portforward port error return value.
49f3b6e0 Rework port forwarding unittest and example.
fada718e Unittests and example for portforwarding ability added in python-base.
482b8558 Update release README
a1db8670 Remove redundant release doc
b5603d8e Merge pull request #1220 from greed42/plugin-certificates
123 changes: 72 additions & 51 deletions devel/release.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,69 @@
# Release process

The release process of the python client involves creating (or updating) a release
branch, updating release tags, and creating distribution packages and uploading them to
pypi.
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.

There are several releases per version:
- snapshot
- a1 (alpha release)
- b1 (beta release)
- final release

Between each release, there is a waiting period of about two weeks for users to
report issues. Typically, there is a single alpha or beta release, but if there
are a higher than expected number of issues there can be multiple releases
(e.g, a2 or b2).

## Create or update release branch

The release branch name should have release-x.x format. All minor and pre-releases
should be on the same branch. To update an existing branch with master (only for
latest pre-release):

```bash
export RELEASE_BRANCH=release-x.y
git checkout $RELEASE_BRANCH
git fetch upstream
git rebase upstream/$RELEASE_BRANCH
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.

## Update release tags

Release tags are in the "scripts/constants.py" file. These are the constants you
may need to update:

CLIENT_VERSION: Client version should follow x.y.zDn where x,y,z are version
numbers (integers) and D is one of "a" for alpha or "b" for beta and n is the
pre-release number. For a final release, the "Dn" part should be omitted.
Examples:
- 1.0.0a1 (alpha release)
- 2.0.1b2 (beta release)
- 1.5.1 (final release)

DEVELOPMENT_STATUS: Update it to one of the values of "Development Status" in
[this list](https://pypi.python.org/pypi?%3Aaction=list_classifiers).

After changing constants to proper versions, update the client using this
command:

```bash
scripts/update-client.sh
```

Commit changes (should be only version number changes) to the release branch.
Name the commit something like "Update version constants for XXX release".

***After you finished the steps above, refer to the section "Hot issues" and
apply the manual fixes.***

```bash
git push upstream $RELEASE_BRANCH
```

## Hot issues

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

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

Commit the manual changes like this [PR](https://github.com/kubernetes-client/python/pull/995/commits) does,
then create your PR for review.
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.

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 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**
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**

## Change logs

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

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

## Update pre-release branch

The release branch name should have release-x.x format. All minor and pre-releases
should be on the same branch. To update an existing branch with master (only for
latest pre-release):

```bash
export RELEASE_BRANCH=release-x.y
git checkout $RELEASE_BRANCH
git fetch upstream
git rebase upstream/$RELEASE_BRANCH
git pull upstream master
```
## README

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.
Update the compatibility matrix and maintenance status in the README file.

## Patch a release branch

Expand Down Expand Up @@ -84,36 +135,6 @@ 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.

## Update release tags

Release tags are in the "scripts/constants.py" file. These are the constants you may
need to update:

CLIENT_VERSION: Client version should follow x.y.zDn where x,y,z are version
numbers (integers) and D is one of "a" for alpha or "b" for beta and n is the
pre-release number. For a final release, the "Dn" part should be omitted. Examples:
1.0.0a1, 2.0.1b2, 1.5.1.

DEVELOPMENT_STATUS: Update it to one of the values of "Development Status"
in [this list](https://pypi.python.org/pypi?%3Aaction=list_classifiers).

after changing constants to proper versions, update the client using this
command:

```bash
scripts/update-client.sh
```

and commit changes (should be only version number changes) to the release branch.
Name the commit something like "Update version constants for XXX release".

***After you finished the steps above, refer to the section "Hot issues" and
apply the manual fixes.***

```bash
git push upstream $RELEASE_BRANCH
```

## Make distribution packages

First make sure you are using a clean version of python. Use virtualenv and
Expand Down
Loading

0 comments on commit 38a0ab4

Please sign in to comment.