cmd/debugnewvm: add --just-make flag, more timing info in log
For debugging builder make.bash speed.
Updates golang/go#29223
Change-Id: I030c61ec3fdd7af45c6a96ea5cede0bbb54f97bc
Reviewed-on: https://go-review.googlesource.com/c/160317
Reviewed-by: Dmitri Shuralyov <dmitshur@golang.org>
diff --git a/cmd/debugnewvm/debugnewvm.go b/cmd/debugnewvm/debugnewvm.go
index f256074..3b343eb 100644
--- a/cmd/debugnewvm/debugnewvm.go
+++ b/cmd/debugnewvm/debugnewvm.go
@@ -31,7 +31,8 @@
serial = flag.Bool("serial", true, "watch serial")
pauseAfterUp = flag.Duration("pause-after-up", 0, "pause for this duration before buildlet is destroyed")
- runBuild = flag.String("run-build", "", "optional builder name to run all.bash for")
+ runBuild = flag.String("run-build", "", "optional builder name to run all.bash or make.bash for")
+ makeOnly = flag.Bool("make-only", false, "if a --run-build builder name is given, this controls whether make.bash or all.bash is run")
buildRev = flag.String("rev", "master", "if --run-build is specified, the git hash or branch name to build")
)
@@ -144,20 +145,26 @@
log.Fatalf("Putting VERSION file: %v", err)
}
- allScript := bconf.AllScript()
- log.Printf("Running %s ...", allScript)
- remoteErr, err := bc.Exec(path.Join("go", allScript), buildlet.ExecOpts{
+ script := bconf.AllScript()
+ if *makeOnly {
+ script = bconf.MakeScript()
+ }
+ t0 := time.Now()
+ log.Printf("Running %s ...", script)
+ remoteErr, err := bc.Exec(path.Join("go", script), buildlet.ExecOpts{
Output: os.Stdout,
ExtraEnv: bconf.Env(),
Debug: true,
Args: bconf.AllScriptArgs(),
})
if err != nil {
- log.Fatalf("error trying to run %s: %v", allScript, err)
+ log.Fatalf("error trying to run %s: %v", script, err)
}
if remoteErr != nil {
- log.Printf("remote failure running %s: %v", allScript, remoteErr)
+ log.Printf("remote failure running %s: %v", script, remoteErr)
buildFailed = true
+ } else {
+ log.Printf("ran %s in %v", script, time.Since(t0).Round(time.Second))
}
}