diff --git a/pkg/model/planner.go b/pkg/model/planner.go index 35be015..0519765 100644 --- a/pkg/model/planner.go +++ b/pkg/model/planner.go @@ -137,6 +137,20 @@ func (wp *workflowPlanner) GetEvents() []string { return events } +// MaxRunNameLen determines the max name length of all jobs +func (p *Plan) MaxRunNameLen() int { + maxRunNameLen := 0 + for _, stage := range p.Stages { + for _, run := range stage.Runs { + runNameLen := len(run.String()) + if runNameLen > maxRunNameLen { + maxRunNameLen = runNameLen + } + } + } + return maxRunNameLen +} + // GetJobIDs will get all the job names in the stage func (s *Stage) GetJobIDs() []string { names := make([]string, 0) diff --git a/pkg/runner/runner.go b/pkg/runner/runner.go index 4230c29..dc774d4 100644 --- a/pkg/runner/runner.go +++ b/pkg/runner/runner.go @@ -50,15 +50,7 @@ func New(runnerConfig *Config) (Runner, error) { } func (runner *runnerImpl) NewPlanExecutor(plan *model.Plan) common.Executor { - maxJobNameLen := 0 - for _, stage := range plan.Stages { - for _, run := range stage.Runs { - jobNameLen := len(run.String()) - if jobNameLen > maxJobNameLen { - maxJobNameLen = jobNameLen - } - } - } + maxJobNameLen := plan.MaxRunNameLen() pipeline := make([]common.Executor, 0) for _, stage := range plan.Stages {