@@ -17,7 +17,7 @@ The release manager must:
17
17
Whenever a new Kubernetes minor version is released, our kubernetes-csi CI jobs
18
18
must be updated.
19
19
20
- [ Our CI jobs] ( https://k8s- testgrid.appspot.com /sig-storage-csi-ci ) have the
20
+ [ Our CI jobs] ( https://testgrid.k8s.io /sig-storage-csi-ci ) have the
21
21
naming convention ` <hostpath-deployment-version>-on-<kubernetes-version> ` .
22
22
23
23
1 . Jobs should be actively monitored to find and fix failures in sidecars and
@@ -46,63 +46,59 @@ naming convention `<hostpath-deployment-version>-on-<kubernetes-version>`.
46
46
## Release Process
47
47
1 . Identify all issues and ongoing PRs that should go into the release, and
48
48
drive them to resolution.
49
- 1 . Download the latest version of the
50
- [ K8s release notes generator] ( https://github.com/kubernetes/release/tree/HEAD/cmd/release-notes )
51
- 1 . Create a
52
- [ Github personal access token] ( https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token )
53
- with ` repo:public_repo ` access
54
- 1 . Generate release notes for the release. Replace arguments with the relevant
55
- information.
56
- * Clean up old cached information (also needed if you are generating release
57
- notes for multiple repos)
58
- ``` bash
59
- rm -rf /tmp/k8s-repo
60
- ```
61
- * For new minor releases on master:
62
- ` ` ` bash
63
- GITHUB_TOKEN=< token> release-notes \
64
- --discover=mergebase-to-latest \
65
- --org=kubernetes-csi \
66
- --repo=external-provisioner \
67
- --required-author=" " \
68
- --markdown-links \
69
- --output out.md
70
- ` ` `
71
- * For new patch releases on a release branch:
72
- ` ` ` bash
73
- GITHUB_TOKEN=< token> release-notes \
74
- --discover=patch-to-latest \
75
- --branch=release-1.1 \
76
- --org=kubernetes-csi \
77
- --repo=external-provisioner \
78
- --required-author=" " \
79
- --markdown-links \
80
- --output out.md
81
- ` ` `
82
- 1. Compare the generated output to the new commits for the release to check if
83
- any notable change missed a release note.
84
- 1. Reword release notes as needed. Make sure to check notes for breaking
85
- changes and deprecations.
86
- 1. If release is a new major/minor version, create a new ` CHANGELOG-< major> .< minor> .md`
87
- file. Otherwise, add the release notes to the top of the existing CHANGELOG
88
- file for that minor version.
89
- 1. Submit a PR for the CHANGELOG changes.
90
- 1. Submit a PR for README changes, in particular, Compatibility, Feature status,
91
- and any other sections that may need updating.
49
+ 1 . Update dependencies for sidecars via
50
+ [ go-modules-update.sh] ( https://github.com/kubernetes-csi/csi-driver-host-path/blob/HEAD/release-tools/go-modules-update.sh ) ,
51
+ and get PRs approved and merged.
92
52
1 . Check that all [ canary CI
93
- jobs](https://k8s- testgrid.appspot.com /sig-storage-csi-ci) are passing,
53
+ jobs] ( https://testgrid.k8s.io /sig-storage-csi-ci ) are passing,
94
54
and that test coverage is adequate for the changes that are going into the release.
55
+ 1 . Check that the post-\< sidecar\> -push-images builds are succeeding.
56
+ [ Example] ( https://testgrid.k8s.io/sig-storage-image-build#post-external-snapshotter-push-images )
57
+ 1 . Generate release notes.
58
+ 1 . Download the latest version of the [ K8s release notes generator] ( https://github.com/kubernetes/release/tree/HEAD/cmd/release-notes )
59
+ 1 . Create a
60
+ [ Github personal access token] ( https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token )
61
+ with ` repo:public_repo ` access
62
+ 1 . For patch release, use the script generate_patch_release_notes.sh. Read the instructions at the top of the
63
+ script. The script also creates PRs for each branch.
64
+ 1 . For new minor releases, follow these steps and replace arguments with the relevant
65
+ information.
66
+ * Clean up old cached information (also needed if you are generating release
67
+ notes for multiple repos)
68
+ ``` bash
69
+ rm -rf /tmp/k8s-repo
70
+ ```
71
+ * For new minor releases on master:
72
+ ` ` ` bash
73
+ GITHUB_TOKEN=< token> release-notes \
74
+ --discover=mergebase-to-latest \
75
+ --org=kubernetes-csi \
76
+ --repo=external-provisioner \
77
+ --required-author=" " \
78
+ --markdown-links \
79
+ --output out.md
80
+ ` ` `
81
+ 1. Compare the generated output to the new commits for the release to check if
82
+ any notable change missed a release note.
83
+ 1. Reword release notes as needed, ideally in the original PRs so that the
84
+ release notes can be regnerated. Make sure to check notes for breaking
85
+ changes and deprecations.
86
+ 1. If release is a new major/minor version, create a new ` CHANGELOG-< major> .< minor> .md`
87
+ file.
88
+ 1. Submit a PR for the CHANGELOG changes.
89
+ 1. Submit a PR for README changes, in particular, Compatibility, Feature status,
90
+ and any other sections that may need updating.
95
91
1. Make sure that no new PRs have merged in the meantime, and no PRs are in
96
92
flight and soon to be merged.
97
93
1. Create a new release following a previous release as a template. Be sure to select the correct
98
94
branch. This requires Github release permissions as required by the prerequisites.
99
95
[external-provisioner example](https://github.com/kubernetes-csi/external-provisioner/releases/new)
100
96
1. If release was a new major/minor version, create a new ` release-< minor> `
101
97
branch at that commit.
102
- 1. Check [image build status](https://k8s- testgrid.appspot.com /sig-storage-image-build).
103
- 1. Promote images from k8s-staging-sig-storage to k8s.gcr .io/sig-storage. From
98
+ 1. Check [image build status](https://testgrid.k8s.io /sig-storage-image-build).
99
+ 1. Promote images from k8s-staging-sig-storage to registry.k8s .io/sig-storage. From
104
100
the [k8s image
105
- repo](https://github.com/kubernetes/k8s.io/tree/HEAD/k8s.gcr .io/images/k8s-staging-sig-storage),
101
+ repo](https://github.com/kubernetes/k8s.io/tree/HEAD/registry.k8s .io/images/k8s-staging-sig-storage),
106
102
run ` ./generate.sh > images.yaml` , and send a PR with the updated images.
107
103
Once merged, the image promoter will copy the images from staging to prod.
108
104
1. Update [kubernetes-csi/docs](https://github.com/kubernetes-csi/docs) sidecar
@@ -118,7 +114,7 @@ naming convention `<hostpath-deployment-version>-on-<kubernetes-version>`.
118
114
119
115
The following jobs are triggered after tagging to produce the corresponding
120
116
image(s):
121
- https://k8s- testgrid.appspot.com /sig-storage-image-build
117
+ https://testgrid.k8s.io /sig-storage-image-build
122
118
123
119
Clicking on a failed build job opens that job in https://prow.k8s.io. Next to
124
120
the job title is a rerun icon (circle with arrow). Clicking it opens a popup
0 commit comments