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