@@ -13,10 +13,7 @@ Releases are staged by another procedure, separate from this.
1313 - [ SSH access] ( #check-your-access )
1414- [ Publish the release] ( #publish-the-release )
1515 - [ 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 )
2017 - [ Update the release metadata] ( #update-the-release-metadata )
2118- [ Post-publishing tasks] ( #post-publishing-tasks )
2219 - [ Check automations] ( #check-automations )
@@ -87,82 +84,18 @@ instructed by `$TOOLS/release-tools/stage-release.sh`, which was performed
8784when [ staging the releases] ( HOWTO-stage-a-release.md ) . You may want to
8885sanity check the pushes by inserting the ` -n ` (dry-run) option.
8986
90- ## Upload release files to OpenSSL downloads
87+ ## Publish GitHub release
9188
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 ` git@github.openssl.org:openssl/openssl.git ` or
98- ` git@github.com: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 ` git@github.openssl.org:openssl/openssl.git ` or
134- ` git@github.com: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 ` git@github.openssl.org: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.
14993
15094For 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.
15396
15497[ ^ 1 ] : The release notes field has previously been described as "description"
15598
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-
16699If this is an alpha or beta release, check the "Set as a pre-release"
167100checkbox.
168101
@@ -171,27 +104,6 @@ checkbox.
171104
172105Finish up by clicking "Publish release".
173106
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-
195107## Update the release metadata
196108
197109* 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.
216128
217129# Post-publishing tasks
218130
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-
232131## Check the website
233132
234133Verify 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
237136performed yet, you may have to wait a few minutes before it kicks in.
238137
239138Wait 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/ >
244139
245140Check the download page has updated properly:
246141
247- - < https://www. openssl.org/source/ >
142+ - < https://openssl-library .org/source >
248143
249144Check the notes look sensible at:
250145
251- - < https://www. openssl.org/news/newslog.html >
146+ - < https://openssl-library .org/news/newslog >
252147
253148Also check the notes here:
254149
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 >
260154
261155## Send the announcement mail
262156
263157Send out the announcements. Generic release announcement messages will be
264158created 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
266160should 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.
277162
278163## Send out the Security Advisory
279164
280165* 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*
283167
284168* This section is only applicable if this is a security release*
285169
@@ -323,14 +207,6 @@ When done, remove the email file:
323207
324208 rm /tmp/secadv_FILENAME.txt.asc
325209
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-
334210Check that the mailing list messages have arrived.
335211
336212## MITRE / CVE.org
0 commit comments