package cilogs import ( "time" "tangled.org/core/api/org_tangled" ) // helper functions against generated code func workflowElapsed(wf *org_tangled.CiDefs_WorkflowRun, now time.Time) time.Duration { if wf.StartedAt == nil { return 0 } started, err := time.Parse(time.RFC3339, *wf.StartedAt) if err != nil { return 0 } if wf.FinishedAt == nil { return now.Sub(started) } finished, err := time.Parse(time.RFC3339, *wf.FinishedAt) if err != nil { return 0 } return finished.Sub(started) } func workflowName(wf *org_tangled.CiDefs_WorkflowRun) string { if wf.Name != nil { return *wf.Name } return wf.Id } var finishedStatuses = map[string]bool{ "failed": true, "timeout": true, "cancelled": true, "success": true, } func pipelineFinished(p *org_tangled.CiDefs_Pipeline) bool { for _, wf := range p.Workflows { if !finishedStatuses[wf.Status] { return false } } return true }