You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
internal/task: add workflow to pre-announce x fixes
Similar to the minor release pre-announcement workflow, add a workflow
which allows us to pre-announce fixes to golang.org/x/ (or other)
modules. This lets us standardize the process, and send messages in the
same way we do for other security content.
Additionally, factor out the announcement email sending logic, which
was duplicated across announcement and pre-announcement workflows.
Change-Id: Id0bda3cb47b5107ab6b66da57a0d8641c4770db4
Reviewed-on: https://go-review.googlesource.com/c/build/+/642296
Auto-Submit: Roland Shoemaker <[email protected]>
Reviewed-by: Dmitri Shuralyov <[email protected]>
Reviewed-by: Dmitri Shuralyov <[email protected]>
LUCI-TryBot-Result: Go LUCI <[email protected]>
// Proceeding would risk sending a duplicate email, so error out instead.
171
-
returnSentMail{}, fmt.Errorf("stopping early due to error checking for an existing Google Groups thread: %w", err)
172
-
} elseifthreadURL!="" {
173
-
// This should never happen since this task runs once per release.
174
-
// It can happen under unusual circumstances, for example if the task crashes after
175
-
// mailing but before completion, or if parts of the release workflow are restarted,
176
-
// or if a human mails the announcement email manually out of band.
177
-
//
178
-
// So if we see that the email exists, consider it as "task completed successfully"
179
-
// and pretend we were the ones that sent it, so the high level workflow can keep going.
180
-
ctx.Printf("a Google Groups thread with matching subject %q already exists at %q, so we'll consider that as it being sent successfully", m.Subject, threadURL)
181
-
returnSentMail{m.Subject}, nil
182
-
}
183
-
184
-
// Send the announcement email to the destination mailing lists.
returnSentMail{}, fmt.Errorf("stopping early due to error checking for an existing Google Groups thread: %w", err)
247
-
} elseifthreadURL!="" {
248
-
ctx.Printf("a Google Groups thread with matching subject %q already exists at %q, so we'll consider that as it being sent successfully", m.Subject, threadURL)
249
-
returnSentMail{m.Subject}, nil
250
-
}
251
-
252
-
// Send the pre-announcement email to the destination mailing lists.
returnSentMail{}, fmt.Errorf("stopping early due to error checking for an existing Google Groups thread: %w", err)
799
+
} elseifthreadURL!="" {
800
+
// This should never happen since this task runs once per release.
801
+
// It can happen under unusual circumstances, for example if the task crashes after
802
+
// mailing but before completion, or if parts of the release workflow are restarted,
803
+
// or if a human mails the announcement email manually out of band.
804
+
//
805
+
// So if we see that the email exists, consider it as "task completed successfully"
806
+
// and pretend we were the ones that sent it, so the high level workflow can keep going.
807
+
ctx.Printf("a Google Groups thread with matching subject %q already exists at %q, so we'll consider that as it being sent successfully", m.Subject, threadURL)
808
+
returnSentMail{m.Subject}, nil
809
+
}
810
+
811
+
// Send the announcement email to the destination mailing lists.
<p>We plan to issue a security fix for the package golang.org/x/crypto/ssh in the golang.org/x/crypto module during US business hours on Tuesday, July 12.</p>
437
+
<p>This will cover the following CVEs:</p>
438
+
<ul>
439
+
<li>CVE-2025-1234</li>
440
+
<li>CVE-2025-1235</li>
441
+
</ul>
442
+
<p>Following our security policy, this is the pre-announcement of the fix.</p>
443
+
<p>Thanks,<br>
444
+
Roland for the Go team</p>
445
+
446
+
announcement body text:
447
+
Hello gophers,
448
+
449
+
We plan to issue a security fix for the package golang.org/x/crypto/ssh in the golang.org/x/crypto module during US business hours on Tuesday, July 12.
450
+
451
+
This will cover the following CVEs:
452
+
453
+
- CVE-2025-1234
454
+
455
+
- CVE-2025-1235
456
+
457
+
Following our security policy, this is the pre-announcement of the fix.
<p>We plan to issue a security fix for the packages golang.org/x/crypto/ssh, golang.org/x/crypto/ocsp, and golang.org/x/crypto/xts in the golang.org/x/crypto module during US business hours on Tuesday, July 12.</p>
475
+
<p>This will cover the following CVEs:</p>
476
+
<ul>
477
+
<li>CVE-2025-1234</li>
478
+
<li>CVE-2025-1235</li>
479
+
</ul>
480
+
<p>Following our security policy, this is the pre-announcement of the fix.</p>
481
+
<p>Thanks,<br>
482
+
Roland for the Go team</p>
483
+
484
+
announcement body text:
485
+
Hello gophers,
486
+
487
+
We plan to issue a security fix for the packages golang.org/x/crypto/ssh, golang.org/x/crypto/ocsp, and golang.org/x/crypto/xts in the golang.org/x/crypto module during US business hours on Tuesday, July 12.
488
+
489
+
This will cover the following CVEs:
490
+
491
+
- CVE-2025-1234
492
+
493
+
- CVE-2025-1235
494
+
495
+
Following our security policy, this is the pre-announcement of the fix.
We plan to issue a security fix for the package{{$numPkgs := len .Packages}}{{if gt $numPkgs 1}}s{{end}} {{join .Packages}} in the {{.Module}} module during US business hours on {{.Target.Format "Monday, January 2"}}.
6
+
7
+
This will cover the following CVEs:
8
+
9
+
{{range .CVEs}}- {{.}}
10
+
{{end}}
11
+
12
+
Following our security policy, this is the pre-announcement of the fix.
13
+
14
+
Thanks,
15
+
{{with .Names}}{{join .}} for the{{else}}The{{end}} Go team
0 commit comments