Skip to content

Commit

Permalink
internal/build: fix crash in MustRunCommandWithOutput (#28709)
Browse files Browse the repository at this point in the history
  • Loading branch information
fjl authored Dec 20, 2023
1 parent 9258a44 commit 7124057
Showing 1 changed file with 6 additions and 11 deletions.
17 changes: 6 additions & 11 deletions internal/build/util.go
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down

0 comments on commit 7124057

Please sign in to comment.