You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: RELEASE.md
+20-19Lines changed: 20 additions & 19 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -4,15 +4,26 @@ Please note this guide is only intended for the admins of this repository, and r
4
4
5
5
Creating a new release of network proxy involves releasing a new version of the client library (konnectivity-client) and new images for the proxy agent and server. Generally we also want to upgrade kubernetes/kubernetes with the latest version of the images and library, but this is a GCE specific change.
6
6
7
-
1. The first step involves creating a new git tag for the release, following semver for go libraries. A tag is required for both the repository and the konnectivity-client library. For example releasing the `0.99.0` version will have two tags `v0.99.0` and `konnectivity-client/v0.99.0` on the appropriate commit. The minor version number (the `y` in `x.y.z`) should match the minor version of the Kubernetes version that is utilized by the apiserver-network-proxy. The patch level version number (the `z` in `x.y.z`) should increase by one unless a new minor version is being created, in which case it should be `0`.
7
+
1. If increasing the minor version (the `y` in `x.y.z`), a new release branch must be created. The name of this branch should be `release-x.y` where `x` and `y` correspond to the major and minor release numbers for apiserver-network-proxy. For example, if increasing the apiserver-network-proxy from verision `0.98.4` to `0.99.0` a new branch should be created named `release-0.99`.
8
+
9
+
After making the new tag for the release version, use the following command to create the new branch:
10
+
11
+
```
12
+
# assuming a release version of 0.99.0
13
+
export RELEASE=release-0.99
14
+
git checkout -b "${RELEASE}"
15
+
git push upstream "${RELEASE}"
16
+
```
17
+
18
+
2. The first step involves creating a new git tag for the release, following semver for go libraries. A tag is required for both the repository and the konnectivity-client library. For example releasing the `0.99.0` version will have two tags `v0.99.0` and `konnectivity-client/v0.99.0` on the appropriate commit. The minor version number (the `y` in `x.y.z`) should match the minor version of the Kubernetes version that is utilized by the apiserver-network-proxy. The patch level version number (the `z` in `x.y.z`) should increase by one unless a new minor version is being created, in which case it should be `0`.
8
19
9
20
In the master branch, choose the appropriate commit, and determine a patch version based on the required Kubernetes version and the current patch level.
10
21
11
22
Example commands for `HEAD` of `master` branch. (Assumes you have `git remote add upstream [email protected]:kubernetes-sigs/apiserver-network-proxy.git`.)
12
23
13
24
```
14
-
# Assuming v0.1.1 exists
15
-
export TAG=v0.1.2
25
+
# Assuming v0.2.1 exists
26
+
export TAG=v0.2.2
16
27
export MESSAGE="Meaningful description of change."
17
28
18
29
git fetch upstream
@@ -27,35 +38,25 @@ Creating a new release of network proxy involves releasing a new version of the
27
38
Example commands for `HEAD` of `release-0.0` branch:
28
39
29
40
```
30
-
# Assuming v0.0.35 exists
31
-
export TAG=v0.0.36
41
+
# Assuming v0.1.35 exists, then it is on the release-0.1 branch
42
+
export RELEASE=release-0.1
43
+
export TAG=v0.1.36
32
44
export MESSAGE="Meaningful description of change."
33
45
34
46
git fetch upstream
35
-
git tag -a "${TAG}" -m "${MESSAGE}" upstream/release-0.0
36
-
git tag -a "konnectivity-client/${TAG}" -m "${MESSAGE}" upstream/release-0.0
47
+
git tag -a "${TAG}" -m "${MESSAGE}" upstream/${RELEASE}
48
+
git tag -a "konnectivity-client/${TAG}" -m "${MESSAGE}" upstream/${RELEASE}
37
49
git push upstream "${TAG}"
38
50
git push upstream "konnectivity-client/${TAG}"
39
51
```
40
52
41
53
Once the two tags are created, the konnectivity-client can be imported as a library in kubernetes/kubernetes and other go programs.
42
54
43
-
2. If increasing the minor version (the `y` in `x.y.z`), a new release branch must be created. The name of this branch should be `release-x.y` where `x` and `y` correspond to the major and minor release numbers for apiserver-network-proxy. For example, if increasing the apiserver-network-proxy from verision `0.98.4` to `0.99.0` a new branch should be created named `release-0.99`.
44
-
45
-
After making the new tag for the release version, use the following command to create the new branch:
46
-
47
-
```
48
-
# assuming a release version of 0.99.0
49
-
export RELEASE=release-0.99
50
-
git checkout -b "${RELEASE}"
51
-
git push upstream "${RELEASE}"
52
-
```
53
-
54
55
3. To publish the proxy server and proxy agent images, they must be promoted from the k8s staging repo. An example PR can be seen here: [https://github.com/kubernetes/k8s.io/pull/5686](https://github.com/kubernetes/k8s.io/pull/5686)
55
56
56
57
The SHA in the PR corresponds to the SHA of the image within the k8s staging repo. (This is under the **Name** column)
57
58
58
-
The images can be found here for the [proxy server](http://console.cloud.google.com/gcr/images/k8s-staging-kas-network-proxy/GLOBAL/proxy-server?gcrImageListsize=30) and [proxy agent](http://console.cloud.google.com/gcr/images/k8s-staging-kas-network-proxy/GLOBAL/proxy-agent?gcrImageListsize=30).
59
+
The images can be found here for the [proxy server](https://console.cloud.google.com/artifacts/docker/k8s-staging-kas-network-proxy/us/gcr.io/proxy-server?gcrImageListsize=30) and [proxy agent](https://console.cloud.google.com/artifacts/docker/k8s-staging-kas-network-proxy/us/gcr.io/proxy-agent?gcrImageListsize=30).
59
60
60
61
Please ensure that the commit shown on the tag of the image matches the one shown in the tags page in the network proxy repo.
0 commit comments