This is an automated email from the ASF dual-hosted git repository. abeizn pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/incubator-devlake.git
commit af27f01a30213c0ad6a3e392eaaeb190e1b85e3a Author: abeizn <[email protected]> AuthorDate: Fri Aug 5 19:11:53 2022 +0800 feat: github cicd convertor --- plugins/github/tasks/cicd_job_convertor.go | 17 +++++++++-------- plugins/github/tasks/cicd_pipeline_convertor.go | 12 +++++++----- plugins/github/tasks/cicd_run_enricher.go | 2 -- 3 files changed, 16 insertions(+), 15 deletions(-) diff --git a/plugins/github/tasks/cicd_job_convertor.go b/plugins/github/tasks/cicd_job_convertor.go index b5318959..034a2ca7 100644 --- a/plugins/github/tasks/cicd_job_convertor.go +++ b/plugins/github/tasks/cicd_job_convertor.go @@ -89,7 +89,6 @@ func ConvertTasks(taskCtx core.SubTaskContext) error { domainjob := &devops.CICDTask{ DomainEntity: domainlayer.DomainEntity{Id: jobIdGen.Generate(data.Options.ConnectionId, repoId, line.ID)}, Name: line.Name, - Status: line.Status, Type: line.Type, StatedDate: *line.StartedAt, FinishedDate: line.CompletedAt, @@ -97,18 +96,20 @@ func ConvertTasks(taskCtx core.SubTaskContext) error { if len(tmp) > 0 { domainjob.PipelineId = fmt.Sprintf("%s:%s:%d:%d:%s:%s", "github", "GithubPipeline", data.Options.ConnectionId, repoId, tmp[0].HeadBranch, line.HeadSha) } - if line.Status == "completed" { - domainjob.DurationSec = uint64(line.CompletedAt.Sub(*line.StartedAt).Seconds()) - } + if line.Conclusion == "success" { domainjob.Result = devops.SUCCESS - } else if line.Conclusion == "cancelled" { - domainjob.Result = devops.ABORT - } else { + } else if line.Conclusion == "failure" || line.Conclusion == "startup_failure" { domainjob.Result = devops.FAILURE + } else { + domainjob.Result = devops.ABORT } + if line.Status != "completed" { - domainjob.Result = devops.IN_PROGRESS + domainjob.Status = devops.IN_PROGRESS + } else { + domainjob.Status = devops.DONE + domainjob.DurationSec = uint64(line.CompletedAt.Sub(*line.StartedAt).Seconds()) } return []interface{}{ diff --git a/plugins/github/tasks/cicd_pipeline_convertor.go b/plugins/github/tasks/cicd_pipeline_convertor.go index eb28abed..85b8d8bb 100644 --- a/plugins/github/tasks/cicd_pipeline_convertor.go +++ b/plugins/github/tasks/cicd_pipeline_convertor.go @@ -75,7 +75,6 @@ func ConvertPipelines(taskCtx core.SubTaskContext) error { CommitSha: line.Commit, Branch: line.Branch, Repo: strconv.Itoa(repoId), - Status: line.Status, Type: line.Type, DurationSec: uint64(line.Duration), CreatedDate: *line.StartedDate, @@ -83,13 +82,16 @@ func ConvertPipelines(taskCtx core.SubTaskContext) error { } if line.Result == "success" { domainPipeline.Result = devops.SUCCESS - } else if line.Result == "cancelled" { - domainPipeline.Result = devops.ABORT - } else { + } else if line.Result == "failure" || line.Result == "startup_failure" { domainPipeline.Result = devops.FAILURE + } else { + domainPipeline.Result = devops.ABORT } + if line.Status != "completed" { - domainPipeline.Result = devops.IN_PROGRESS + domainPipeline.Status = devops.IN_PROGRESS + } else { + domainPipeline.Status = devops.DONE } return []interface{}{ diff --git a/plugins/github/tasks/cicd_run_enricher.go b/plugins/github/tasks/cicd_run_enricher.go index ccd330f6..21054aaa 100644 --- a/plugins/github/tasks/cicd_run_enricher.go +++ b/plugins/github/tasks/cicd_run_enricher.go @@ -25,8 +25,6 @@ import ( githubModels "github.com/apache/incubator-devlake/plugins/github/models" ) -const TOOL_PIPELINE_TABLE = "_tool_github_pipelines" - var EnrichPipelinesMeta = core.SubTaskMeta{ Name: "enrichPipelines", EntryPoint: EnrichPipelines,
