@@ -72,145 +72,151 @@ The process for cutting a minor release is as follows:
7272
73732 . Create or update the release branch
7474
75- If this is the first alpha release (` alpha.0 ` ), then you will need to create
76- the release branch:
75+ If this is the first alpha release (` alpha.0 ` ), then you will need to create
76+ the release branch:
7777
78- ``` bash
79- git fetch --all
80- git checkout -b release-1.0 origin/master
81- ```
78+ ``` bash
79+ git fetch --all
80+ git checkout -b release-1.0 origin/master
81+ ```
8282
83- If there has already been an alpha release, the release branch will
84- already exist, so you will need to update it with the latest commits
85- from the master branch, as follows:
83+ If there has already been an alpha release, the release branch will
84+ already exist, so you will need to update it with the latest commits
85+ from the master branch, as follows:
8686
87- ``` bash
88- git fetch --all
89- git branch --force release-1.0 origin/release-1.0
90- git checkout release-1.0
91- git merge --ff-only origin/master
92- ```
87+ ` ` ` bash
88+ git fetch --all
89+ git branch --force release-1.0 origin/release-1.0
90+ git checkout release-1.0
91+ git merge --ff-only origin/master
92+ ` ` `
9393
94943. Push it to the ` jetstack/cert-manager` repository
9595
96- > Note: make sure that the ` origin ` remote points to the upstream < https://github.com/jetstack/cert-manager.git > with ` git remote -v ` .
96+ Note 1: run ` git remote -v` to check that ` origin` points to the
97+ upstream < https://github.com/jetstack/cert-manager.git> .
9798
98- > Note 2: uou need to be an "admin" of the GitHub project to be able to
99- > push to the release branch.
99+ Note 2: uou need to be an " admin" of the GitHub project to be able to
100+ push to the release branch.
100101
101- ``` bash
102- git push --set-upstream origin
103- ```
102+ ` ` ` bash
103+ git push --set-upstream origin
104+ ` ` `
104105
1051064. Generate and edit the release notes:
106107
107108 1. Run as follows, substituting the current and last versions where appropriate:
108109
109- ``` bash
110- export GITHUB_TOKEN=* your-token*
111- export RELEASE_VERSION=1.0.0
112- export BRANCH=release-1.0
113- export END_REV=release-1.0
114- export START_REV=v0.16.1
115- (cd && GO111MODULE=on go get k8s.io/release/cmd/release-notes@v0.7.0)
116- release-notes --repo cert-manager --org jetstack --required-author " jetstack-bot" --output release-notes.md --repo-path cert-manager --debug
117- ```
118-
119- > Note: the GitHub token does not need any scope. The token is
120- required only to avoid rate-limits imposed on anonymous API users.
110+ ` ` ` bash
111+ export GITHUB_TOKEN=* your-token*
112+ export RELEASE_VERSION=1.0.0
113+ export BRANCH=release-1.0
114+ export END_REV=release-1.0
115+ export START_REV=v0.16.1
116+ (cd && GO111MODULE=on go get k8s.io/release/cmd/release-notes@v0.7.0)
117+ release-notes --debug --repo-path cert-manager \
118+ --org jetstack --repo cert-manager \
119+ --required-author " jetstack-bot" \
120+ --output release-notes.md
121+ ` ` `
122+
123+ Note: the GitHub token does not need any scope. The token is
124+ required only to avoid rate-limits imposed on anonymous API users.
121125
122126 2. Sanity check the notes, checking that the notes contain details of all
123127 the features and bug fixes that you expect to be in the release. Add
124128 additional blurb, notable items and characterize change log.
125129
126- You can see the commits that will go into this release by using the
127- [GitHub compare](https://github.com/jetstack/cert-manager/compare). For
128- example, while releasing ` v1.0.0` , you want to compare it with the
129- latest pre-released version ` v1.0.0-beta.1` :
130+ You can see the commits that will go into this release by using the
131+ [GitHub compare](https://github.com/jetstack/cert-manager/compare). For
132+ example, while releasing ` v1.0.0` , you want to compare it with the
133+ latest pre-released version ` v1.0.0-beta.1` :
130134
131- > < https://github.com/jetstack/cert-manager/compare/v1.0.0-beta.1...master>
135+ < https://github.com/jetstack/cert-manager/compare/v1.0.0-beta.1...master>
132136
133137
1341385. Run ` cmrel stage`
135139
136140 1. In this example we stage a release using the ' release-1.0' branch,
137141 setting the release version to ` v1.0.0` :
138142
139- ` ` ` bash
140- cmrel stage --branch=release-1.0 --release-version=v1.0.0
141- ` ` `
143+ ` ` ` bash
144+ cmrel stage --branch=release-1.0 --release-version=v1.0.0
145+ ` ` `
142146
143- This step takes ~ 10 minutes. It will build all Docker images and
144- create all the manifest files and upload them to a storage bucket on
145- Google Cloud. These artifacts will be published and released in the
146- next steps.
147+ This step takes ~ 10 minutes. It will build all Docker images and
148+ create all the manifest files and upload them to a storage bucket on
149+ Google Cloud. These artifacts will be published and released in the
150+ next steps.
147151
148- The final line of output contains URL of the bucket
149- containing the release artifacts. The final segment in that URL
150- contains the ` RELEASE_NAME` , which you will need in the next step.
152+ The final line of output contains URL of the bucket containing the
153+ release artifacts. The final segment in that URL contains the
154+ ` RELEASE_NAME` , which you will need in the next step.
151155
152156 2. While the build is running, send a first Slack message to
153157 ` # cert-manager-dev` :
154158
155- > Releasing ` 1.2.0-alpha.2` 🧵
159+ _Releasing ` 1.2.0-alpha.2` 🧵_
156160
157- ⚠️ Please have a quick look at the build log as it might contain some
158- unredacted data that we forgot to redact. We try to make sure the
159- sensitive data is properly redacted but sometimes we forget to update
160- this.
161+ ⚠️ Note: please have a quick look at the build log as it might
162+ contain some unredacted data that we forgot to redact. We try to
163+ make sure the sensitive data is properly redacted but sometimes we
164+ forget to update this.
161165
162166 3. Send a second Slack message in reply to this first message with the
163167 Cloud Build job link that ` cmrel` displayed in " View logs at" . For
164168 example, the message would look like:
165169
166- > Stage step : < https://console.cloud.google.com/cloud-build/builds/7641734d-fc3c-42e7-9e4c-85bfc4d1d547? project=1021342095237>
170+ _Follow the cmrel stage build : < https://console.cloud.google.com/cloud-build/builds/7641734d-fc3c-42e7-9e4c-85bfc4d1d547? project=1021342095237> _
167171
1681726. Run ` cmrel publish`
169173
170174 1. First do a dry-run, to ensure that all the staged resources are valid.
171175
172- ` ` ` bash
173- cmrel publish --release-name < RELEASE_NAME>
174- ` ` `
176+ ` ` ` bash
177+ cmrel publish --release-name < RELEASE_NAME>
178+ ` ` `
175179
176180 Where ` < RELEASE_NAME> ` is the unique build ID printed by the earlier ` cmrel stage` command.
177- E.g. Given ` gs://cert-manager-release/stage/gcb/release/v1.0.0-219b7934ac499c7818526597cf635a922bddd22e` ,
178- the ` RELEASE_NAME` would be ` v1.0.0-219b7934ac499c7818526597cf635a922bddd22e` .
181+
182+ For example, given the bucket
183+ ` gs://cert-manager-release/stage/gcb/release/v1.0.0-219b793` , the
184+ ` RELEASE_NAME` would be ` v1.0.0-219b793` .
179185
180186 You can view the progress by clicking the Google Cloud Build URL in the output of this command.
181187
182188 2. While the build is running, send a third Slack message in reply to
183189 the first message:
184190
185- > Publish dry-run step : < https://console.cloud.google.com/cloud-build/builds/16f6f875 -0a23-4fff-b24d-3de0af207463? project=1021342095237>
191+ _Follow the cmrel publish dry-run build : < https://console.cloud.google.com/cloud-build/builds16f6f875 -0a23-4fff-b24d-3de0af207463? project=1021342095237> _
186192
187193 3. Next publish the release artifacts for real.
188194
189- If the last step succeeded, you can now re-run the ` cmrel publish`
190- with the ` --nomock` argument to actually publish the release
191- artifacts to GitHub, ` Quay.io` , [ArtifactHub][] etc.
195+ If the last step succeeded, you can now re-run the ` cmrel publish`
196+ with the ` --nomock` argument to actually publish the release
197+ artifacts to GitHub, ` Quay.io` , [ArtifactHub][] etc.
192198
193- ` ` ` bash
194- cmrel publish --nomock --release-name < RELEASE_NAME>
195- ` ` `
199+ ` ` ` bash
200+ cmrel publish --nomock --release-name < RELEASE_NAME>
201+ ` ` `
196202
197- NOTE : At this stage there will be a draft release on GitHub and a
198- live release on [ArtifactHub][]. So you must now complete the release
199- process quickly otherwise users of the latest release on
200- [ArtifactHub][] will encounter errors, because the manual CRD install
201- URL will not be available yet.
203+ Note : At this stage there will be a draft release on GitHub and a
204+ live release on [ArtifactHub][]. So you must now complete the
205+ release process quickly otherwise users of the latest release on
206+ [ArtifactHub][] will encounter errors, because the manual CRD
207+ install URL will not be available yet.
202208
203209 4. While the build is running, send a fourth Slack message in reply to
204210 the first message:
205211
206- > Publish step : < https://console.cloud.google.com/cloud-build/builds/b6fef12b-2e81-4486-9f1f-d00592351789? project=1021342095237>
212+ _Follow the cmrel publish build : < https://console.cloud.google.com/cloud-build/builds/b6fef12b-2e81-4486-9f1f-d00592351789? project=1021342095237> _
207213
2082147. Publish the GitHub release
209215
210216 1. Visit the draft GitHub release and paste in the release notes that you generated earlier.
211217
212- You will need to manually edit the content to match the style of earlier releases.
213- In particular, remember to remove package-related changes.
218+ You will need to manually edit the content to match the style of earlier releases.
219+ In particular, remember to remove package-related changes.
214220
215221 2. Tick the box " This is a pre-release" if your release is an alpha.
216222 (not necessary for final releases)
@@ -222,7 +228,7 @@ The process for cutting a minor release is as follows:
222228 the check box " Also send to ` # cert-manager-dev` " so that the message is
223229 well visible. Also cross-post the message on ` # cert-manager` .
224230
225- > < https://github.com/jetstack/cert-manager/releases/tag/v1.0.0> 🎉
231+ _ < https://github.com/jetstack/cert-manager/releases/tag/v1.0.0> 🎉_
226232
227233# ## Final Release
228234
0 commit comments