in cli/bpbuild/cmd.go [89:143]
func setAvgTimeFlagDefaults() error {
// if no explicit repo name specified via flag, try to auto discover
if avgTimeFlags.repoName == "" {
Log.Info("No repo specified, attempting to detect repo name from current dir")
path, err := os.Getwd()
if err != nil {
return fmt.Errorf("error getting working dir: %w", err)
}
r, err := getRepoName(path)
if err != nil {
return fmt.Errorf("error finding repo name: %w", err)
}
if r == "" {
return fmt.Errorf("unable to detect repo name, please specify a name using --repo")
}
avgTimeFlags.repoName = r
Log.Info("Found repo", "default", avgTimeFlags.repoName)
}
// if no explicit build step specified via flag, prompt user with possible options from CloudBuild configs.
if avgTimeFlags.buildStepID == "" {
Log.Info("No build ID specified, attempting to find and prompt for build step ID from build file.")
buildFile, err := getBuildFromFile(avgTimeFlags.buildFilePath)
if err != nil {
return fmt.Errorf("error finding build file: %w", err)
}
steps := getBuildStepIDs(buildFile)
avgTimeFlags.buildStepID = util.PromptSelect("Select build step to compute average", steps)
}
// if no explicit start time, default to starting computation from one month ago.
if avgTimeFlags.lookUpStart == "" {
avgTimeFlags.lookUpStart = time.Now().AddDate(0, -1, 0).Format("01-02-2006")
Log.Info("No start time specified.", "default", avgTimeFlags.lookUpStart)
}
startTime, err := getTimeFromStr(avgTimeFlags.lookUpStart)
if err != nil {
return fmt.Errorf("error converting %s to time: %w", avgTimeFlags.lookUpStart, err)
}
avgTimeFlags.lookUpStartTime = startTime
// if no explicit end time, default to ending computation to now.
if avgTimeFlags.lookUpEnd == "" {
avgTimeFlags.lookUpEnd = time.Now().Format("01-02-2006")
Log.Info("No end time specified.", "default", avgTimeFlags.lookUpEnd)
}
endTime, err := getTimeFromStr(avgTimeFlags.lookUpEnd)
if err != nil {
return fmt.Errorf("error converting %s to time: %w", avgTimeFlags.lookUpEnd, err)
}
avgTimeFlags.lookUpEndTime = endTime
return nil
}