@@ -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 
` [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.
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