internal/build: fix crash in MustRunCommandWithOutput (#28709)

This commit is contained in:
Felix Lange 2023-12-20 07:56:41 +01:00 committed by GitHub
parent 9258a44b8f
commit 7124057bad
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -68,23 +68,18 @@ func MustRunCommand(cmd string, args ...string) {
MustRun(exec.Command(cmd, args...))
}
// MustRunCommandWithOutput runs the given command, and ensures that some output will be
// printed while it runs. This is useful for CI builds where the process will be stopped
// when there is no output.
func MustRunCommandWithOutput(cmd string, args ...string) {
var done chan bool
// This is a little loop to generate some output, so CI does not tear down the
// process after 300 seconds.
interval := time.NewTicker(time.Minute)
defer interval.Stop()
go func() {
for i := 0; i < 15; i++ {
for range interval.C {
fmt.Printf("Waiting for command %q\n", cmd)
select {
case <-time.After(time.Minute):
break
case <-done:
return
}
}
}()
MustRun(exec.Command(cmd, args...))
close(done)
}
var warnedAboutGit bool