@@ -13,10 +13,7 @@ Releases are staged by another procedure, separate from this.
13
13
- [ SSH access] ( #check-your-access )
14
14
- [ Publish the release] ( #publish-the-release )
15
15
- [ Update the source repositories] ( #update-the-source-repositories )
16
- - [ Upload release files to OpenSSL downloads] ( #upload-release-files-to-openssl-downloads ) [ only public releases]
17
- - [ Upload release files to Github] ( #upload-release-files-to-github )
18
- - [ Web method] ( #web-method )
19
- - [ GH CLI method] ( #gh-cli-method )
16
+ - [ Publish GitHub release] ( #publish-github-release )
20
17
- [ Update the release metadata] ( #update-the-release-metadata )
21
18
- [ Post-publishing tasks] ( #post-publishing-tasks )
22
19
- [ Check automations] ( #check-automations )
@@ -87,82 +84,18 @@ instructed by `$TOOLS/release-tools/stage-release.sh`, which was performed
87
84
when [ staging the releases] ( HOWTO-stage-a-release.md ) . You may want to
88
85
sanity check the pushes by inserting the ` -n ` (dry-run) option.
89
86
90
- ## Upload release files to OpenSSL downloads
87
+ ## Publish GitHub release
91
88
92
- * BE CAREFUL* This section makes everything visible and is therefore largely
93
- irreversible. If you are performing a dry run then DO NOT perform any steps
94
- in this section.
95
-
96
- * NOTE* This section should only be performed for public releases, i.e.
97
- releases made from
` [email protected] :openssl/openssl.git` or
98
- ` [email protected] :openssl/security.git` .
99
-
100
- Everything in this section is to be done as the ` openssl ` user on
101
- ` dev.openssl.org ` , so if you haven't done that yet, you now * must* perform
102
- the steps described in [ SSH access] ( #ssh-access ) above.
103
-
104
- Check that the release has been uploaded properly. The release tarballs and
105
- associated files should be in ` ~openssl/dist/new ` . They should be owned by
106
- the ` upload ` userid and world-readable.
107
-
108
- Copy the tarballs to appropriate directories. This can be done using the
109
- do-release.pl script. See ` $TOOLS/release-tools/DO-RELEASE.md ` for a
110
- description of the options. For example:
111
-
112
- perl ~openssl/do-release.pl --copy --move
113
-
114
- This will copy the relevant files to the website and move them from
115
- ` ~openssl/dist/new ` to ` ~openssl/dist/old ` so they will not seen by a
116
- subsequent release. Alternatively if you want to perform one release at a
117
- time or copy/move the files manually, see below.
118
-
119
- The ` do-release.pl ` script will display the commands you will need to issue
120
- to send the announcement emails later. Keep a note of those commands for
121
- future reference.
122
-
123
- Verify that the tarballs are available for download:
124
-
125
- ls /srv/ftp/source
126
-
127
- ## Upload release files to Github
128
-
129
- Upload the release files to the "Releases" section on github. Do this by
130
- visiting the release URL that corresponds to the source repository that the
131
- release was made from, or by using [ the Github CLI tool] (https://cli.github.com/ ] :
132
-
133
- - For releases from
` [email protected] :openssl/openssl.git` or
134
- ` [email protected] :openssl/security.git` :
135
-
136
- URL: https://github.com/openssl/openssl/releases
137
-
138
- GH CLI ` --repo ` : github.com/openssl/openssl
139
-
140
- - For releases from
` [email protected] :openssl/premium.git` :
141
-
142
- URL: https://github.openssl.org/openssl/extended-releases/releases
143
-
144
- GH CLI ` --repo ` : github.openssl.org/openssl/openssl
145
-
146
- In both tools, you will need to make a title and a short description.
147
-
148
- For the title, use something like "OpenSSL 3.1.0".
89
+ When a tag is pushed to the GitHub repository the automation creates a draft
90
+ release in https://github.com/openssl/openssl/releases . Check the signed
91
+ announcement .asc file. Check that the tarball length and hashes match in
92
+ the .md5, .sha1, .sha256.
149
93
150
94
For the release notes [ ^ 1 ] , we currently use the same text as is added in the
151
- ` newsflash.md ` file to announce the release
152
- (see [ Update the release data locally] ( #update-the-release-data-locally ) below)
95
+ ` newsflash.md ` file to announce the release.
153
96
154
97
[ ^ 1 ] : The release notes field has previously been described as "description"
155
98
156
- ### Web method
157
-
158
- Click the "Draft a new release" button. Give the release a title and a
159
- release note as recommended above. Upload the four release files, e.g.
160
-
161
- - ` openssl-3.1.0.tar.gz `
162
- - ` openssl-3.1.0.tar.gz.asc `
163
- - ` openssl-3.1.0.tar.gz.sha1 `
164
- - ` openssl-3.1.0.tar.gz.sha256 `
165
-
166
99
If this is an alpha or beta release, check the "Set as a pre-release"
167
100
checkbox.
168
101
@@ -171,27 +104,6 @@ checkbox.
171
104
172
105
Finish up by clicking "Publish release".
173
106
174
- ### GH CLI method
175
-
176
- This is an example:
177
-
178
- gh release create \
179
- --repo github.com/openssl/openssl --verify-tag --draft \
180
- --title "OpenSSL 3.1.0" \
181
- --notes "Final version of OpenSSL 3.1.0 is now available: please download and upgrade!"
182
- openssl-3.1.0 \
183
- openssl-3.1.0.tar.gz \
184
- openssl-3.1.0.tar.gz.asc \
185
- openssl-3.1.0.tar.gz.sha1 \
186
- openssl-3.1.0.tar.gz.sha256 \
187
-
188
- The first non-option argument ` openssl-3.1.0 ` is the tag, the rest are the
189
- files to upload.
190
-
191
- If this is an alpha or beta release, additionally use the option ` --prerelease ` .
192
-
193
- If this is the latest release version, additionally use ` --latest ` .
194
-
195
107
## Update the release metadata
196
108
197
109
* The changes in this section should be made in your clone of the release
@@ -216,19 +128,6 @@ Await approval from reviewers, then merge the pull request.
216
128
217
129
# Post-publishing tasks
218
130
219
- ## Check automations
220
-
221
- The updates performed when [ publishing the releases] ( #publish-the-release ) ,
222
- automations on < https://automation.openssl.org/ > should kick in. Typically,
223
- the builders named "doc" and "web" should be seen working within minutes
224
- (pending other builder that mirror the repositories that have been updated).
225
-
226
- These builders update different aspects of the web site, and will finish off
227
- by invalidating the corresponding pages in the CDN cache, to ensure that
228
- they are reloaded by the CDN.
229
-
230
- You can also look at the result at < https://www-origin.openssl.org > .
231
-
232
131
## Check the website
233
132
234
133
Verify that the release notes, which are built from the CHANGES.md file
@@ -237,49 +136,34 @@ automation; if you see a problem, check if the web build job has been
237
136
performed yet, you may have to wait a few minutes before it kicks in.
238
137
239
138
Wait for a while for the CDN flush to work (normally within a few minutes).
240
- Have a look at the website and news announcement at:
241
-
242
- - < https://www.openssl.org/ >
243
- - < https://www.openssl.org/news/ >
244
139
245
140
Check the download page has updated properly:
246
141
247
- - < https://www. openssl.org/source/ >
142
+ - < https://openssl-library .org/source >
248
143
249
144
Check the notes look sensible at:
250
145
251
- - < https://www. openssl.org/news/newslog.html >
146
+ - < https://openssl-library .org/news/newslog >
252
147
253
148
Also check the notes here:
254
149
255
- - < https://www.openssl.org/news/openssl-1.0.2-notes.html >
256
- - < https://www.openssl.org/news/openssl-1.1.0-notes.html >
257
- - < https://www.openssl.org/news/openssl-1.1.1-notes.html >
258
- - < https://www.openssl.org/news/openssl-3.0-notes.html >
259
- - < https://www.openssl.org/news/openssl-3.1-notes.html >
150
+ - < https://openssl-library.org/news/openssl-3.0-notes >
151
+ - < https://openssl-library.org/news/openssl-3.1-notes >
152
+ - < https://openssl-library.org/news/openssl-3.2-notes >
153
+ - < https://openssl-library.org/news/openssl-3.3-notes >
260
154
261
155
## Send the announcement mail
262
156
263
157
Send out the announcements. Generic release announcement messages will be
264
158
created automatically by the build script and the commands you need to use
265
- to send them were displayed when you executed do-release.pl above. They
159
+ to send them were displayed when you executed ` do-release.pl ` above. They
266
160
should be sent from the account of the person that owns the key used for
267
- signing the release announcement. Ensure that mutt is configured correctly -
268
- send a test email first if necessary.
269
-
270
- If do-release.pl was used with ` --move ` be sure to move the announcement
271
- text files away from the staging directory * after they have been sent* .
272
- This is done as follows (with VERSION replaced with the version of OpenSSL
273
- to announce):
274
-
275
- sudo -u openssl \
276
- mv ~openssl/dist/new/openssl-VERSION.txt.asc ~openssl/dist/old
161
+ signing the release announcement.
277
162
278
163
## Send out the Security Advisory
279
164
280
165
* The secadv file mentioned in this section is the Security Advisory
281
- that you copied into the release data repo, up in the section
282
- [ Update the release data locally] ( #update-the-release-data-locally ) *
166
+ that you copied into the release data repo*
283
167
284
168
* This section is only applicable if this is a security release*
285
169
@@ -323,14 +207,6 @@ When done, remove the email file:
323
207
324
208
rm /tmp/secadv_FILENAME.txt.asc
325
209
326
- Approve the openssl-announce email. Go to
327
- < https://mta.openssl.org/mailman/admindb/openssl-announce >
328
- and approve the messages.
329
-
330
- For premium releases, approve the support-announce email as well. Go to
331
- < https://mta.openssl.org/mailman/admindb/support-announce > and approve the
332
- messages.
333
-
334
210
Check that the mailing list messages have arrived.
335
211
336
212
## MITRE / CVE.org
0 commit comments