Update RELEASING doc
This commit is contained in:
parent
dcbebf05b3
commit
22727fb813
106
RELEASING.md
106
RELEASING.md
|
|
@ -1,25 +1,95 @@
|
||||||
# Cutting a release
|
# Cutting a release
|
||||||
|
|
||||||
|
## Tags
|
||||||
|
|
||||||
|
First, see what has been tagged:
|
||||||
|
|
||||||
```
|
```
|
||||||
$ git tag
|
$ git tag
|
||||||
v2.0.0
|
v3.2.0
|
||||||
v2.0.1
|
v3.2.1
|
||||||
v2.0.2
|
v3.2.2
|
||||||
v2.0.3
|
v3.3.0
|
||||||
v2.0.4
|
v3.3.1
|
||||||
|
|
||||||
# Pick the next release number
|
|
||||||
|
|
||||||
$ git tag -am "v2.0.5" v2.0.5
|
|
||||||
|
|
||||||
$ make manifest-list
|
|
||||||
<...lots of output...>
|
|
||||||
Successfully tagged staging-k8s.gcr.io/git-sync:v2.0.5__linux_amd64
|
|
||||||
<...lots of output...>
|
|
||||||
v2.0.5__linux_amd64: digest: sha256:74cd8777ba08c7b725cd2f6de34a638ba50b48cde59f829e1dc982c8c8c9959a size: 951
|
|
||||||
pushed: staging-k8s.gcr.io/git-sync:v2.0.5__linux_amd64
|
|
||||||
<...lots of output...>
|
|
||||||
Digest: sha256:4d338888373809661b5a29314ca8024379b77c0afb53fd66d6821cf628f75438 433
|
|
||||||
```
|
```
|
||||||
|
|
||||||
|
Pick the next release number and tag it.
|
||||||
|
|
||||||
|
```
|
||||||
|
$ git tag -am v3.3.2 v3.3.2
|
||||||
|
```
|
||||||
|
|
||||||
|
## Build and push to staging
|
||||||
|
|
||||||
|
To build git-sync you need [docker buildx](https://github.com/docker/buildx)
|
||||||
|
and to cut a release you need
|
||||||
|
[manifest-tool](https://github.com/estesp/manifest-tool). At the time of this
|
||||||
|
writing, manifest-tool is broken at head and doesn't support go modules yet:
|
||||||
|
|
||||||
|
```
|
||||||
|
$ GO111MODULE=off go get github.com/estesp/manifest-tool/cmd/manifest-tool
|
||||||
|
|
||||||
|
$ cd "$(go env GOPATH)/src/github.com/estesp/manifest-tool"
|
||||||
|
|
||||||
|
$ git checkout v1.0.3
|
||||||
|
Note: switching to 'v1.0.3'.
|
||||||
|
|
||||||
|
You are in 'detached HEAD' state. You can look around, make experimental
|
||||||
|
changes and commit them, and you can discard any commits you make in this
|
||||||
|
state without impacting any branches by switching back to a branch.
|
||||||
|
|
||||||
|
If you want to create a new branch to retain commits you create, you may
|
||||||
|
do so (now or later) by using -c with the switch command. Example:
|
||||||
|
|
||||||
|
git switch -c <new-branch-name>
|
||||||
|
|
||||||
|
Or undo this operation with:
|
||||||
|
|
||||||
|
git switch -
|
||||||
|
|
||||||
|
Turn off this advice by setting config variable advice.detachedHead to false
|
||||||
|
|
||||||
|
HEAD is now at 505479b Merge pull request #101 from estesp/prep-1.0.3
|
||||||
|
|
||||||
|
$ GO111MODULE=off go install .
|
||||||
|
```
|
||||||
|
|
||||||
|
The following step will build for all platforms and push the container images
|
||||||
|
to our staging repo (gcr.io/k8s-staging-git-sync).
|
||||||
|
|
||||||
|
```
|
||||||
|
$ make manifest-list
|
||||||
|
<...lots of output...>
|
||||||
|
Successfully tagged gcr.io/k8s-staging-git-sync/git-sync:v3.3.2__linux_amd64
|
||||||
|
<...lots of output...>
|
||||||
|
v3.3.2__linux_amd64: digest: sha256:74cd8777ba08c7b725cd2f6de34a638ba50b48cde59f829e1dc982c8c8c9959a size: 951
|
||||||
|
pushed: gcr.io/k8s-staging-git-sync/git-sync:v3.3.2__linux_amd64
|
||||||
|
<...lots of output...>
|
||||||
|
Digest: sha256:853ae812df916e59a7b27516f791ea952d503ad26bc8660deced8cd528f128ae 433
|
||||||
|
```
|
||||||
|
|
||||||
|
Take note of this final sha256.
|
||||||
|
|
||||||
|
## Promote the images
|
||||||
|
|
||||||
|
Make a PR against
|
||||||
|
https://github.com/kubernetes/k8s.io/blob/main/k8s.gcr.io/images/k8s-staging-git-sync/images.yaml
|
||||||
|
and add the sha256 and tag name from above. For example:
|
||||||
|
|
||||||
|
```
|
||||||
|
- name: git-sync
|
||||||
|
dmap:
|
||||||
|
+ "sha256:853ae812df916e59a7b27516f791ea952d503ad26bc8660deced8cd528f128ae": ["v3.3.2"]
|
||||||
|
"sha256:95bfb980d3b640f6015f0d1ec25c8c0161d0babcf83d31d4c0453dd2b59923db": ["v3.3.1"]
|
||||||
|
"sha256:5f3d12cb753c6cd00c3ef9cc6f5ce4e584da81d5210c15653644ece675f19ec6": ["v3.3.0"]
|
||||||
|
"sha256:6a543fb2d1e92008aad697da2672478dcfac715e3dddd33801d772da6e70cf24": ["v3.2.2"]
|
||||||
|
```
|
||||||
|
|
||||||
|
When that PR is merged, the promoter bot will copy the images from staging to
|
||||||
|
the final prod location (e.g. k8s.gcr.io/git-sync/git-sync:v3.3.2).
|
||||||
|
|
||||||
|
## Make a GitHub release
|
||||||
|
|
||||||
Lastly, make a release through the [github UI](https://github.com/kubernetes/git-sync/releases).
|
Lastly, make a release through the [github UI](https://github.com/kubernetes/git-sync/releases).
|
||||||
|
Include all the notable changes since the last release and the final container
|
||||||
|
image location.
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue