github.com/benchkram/bob@v0.0.0-20240314204020-b7a57f2f9be9/bob/playbook/summary.go (about) 1 package playbook 2 3 import ( 4 "fmt" 5 6 "github.com/benchkram/bob/bobtask/processed" 7 "github.com/benchkram/bob/pkg/boblog" 8 "github.com/benchkram/bob/pkg/format" 9 "github.com/logrusorgru/aurora" 10 ) 11 12 // summary prints the tasks processing details as a summary of the playbook. 13 func (p *Playbook) summary(processedTasks []*processed.Task) { 14 15 boblog.Log.V(1).Info("") 16 boblog.Log.V(1).Info(aurora.Bold("● ● ● ●").BrightGreen().String()) 17 18 t := fmt.Sprintf("Ran %d tasks in %s", len(processedTasks), format.DisplayDuration(p.ExecutionTime())) 19 20 boblog.Log.V(1).Info(aurora.Bold(t).BrightGreen().String()) 21 for _, t := range processedTasks { 22 stat, err := p.TaskStatus(t.Name()) 23 if err != nil { 24 fmt.Println(err) 25 continue 26 } 27 28 execTime := "" 29 status := stat.State() 30 execTime = fmt.Sprintf("\t(%s)", format.DisplayDuration(stat.ExecutionTime())) 31 32 taskName := t.Name() 33 boblog.Log.V(1).Info(fmt.Sprintf(" %-*s\t%s%s", p.namePad, taskName, status.Summary(), execTime)) 34 35 } 36 boblog.Log.V(1).Info("") 37 }