From d1c243f84100f7d5e2291ec0e731c54b0ec9d2be Mon Sep 17 00:00:00 2001 From: Martin Holst Swende Date: Fri, 25 Mar 2022 15:43:07 +0100 Subject: [PATCH] internal/build: prevent travis timeout during ppa upload (#24589) --- internal/build/util.go | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/internal/build/util.go b/internal/build/util.go index b2442666c..f2e03819b 100644 --- a/internal/build/util.go +++ b/internal/build/util.go @@ -31,6 +31,7 @@ import ( "path/filepath" "strings" "text/template" + "time" ) var DryRunFlag = flag.Bool("n", false, "dry run, don't execute commands") @@ -137,7 +138,23 @@ func UploadSFTP(identityFile, host, dir string, files []string) error { for _, f := range files { fmt.Fprintln(in, "put", f, path.Join(dir, filepath.Base(f))) } + // Avoid travis timout after 10m of inactivity by printing something + // every 8 minutes. + done := make(chan bool) + go func() { + for { + select { + case <-time.After(8 * time.Minute): + fmt.Println("keepalive log") + continue + case <-done: + return + } + + } + }() stdin.Close() + defer close(done) return sftp.Wait() }