This is an automated email from the ASF dual-hosted git repository.
klesh pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/incubator-devlake.git
The following commit(s) were added to refs/heads/main by this push:
new bd838991c fix(circleci-plugin): deployments matching job name (#7910)
bd838991c is described below
commit bd838991c65be49133165d1c69d84a003074bf22
Author: Nick Williams <[email protected]>
AuthorDate: Wed Aug 21 05:18:23 2024 +0100
fix(circleci-plugin): deployments matching job name (#7910)
* fix(circleci-plugin): set job pipeline_id column to generated workflow id
for correct cicd_deployments generation
* refactor(circleci-plugin): rename IdGen function to better represent it
deals with workflows
* test(circleci-plugin): update cicd_tasks snapshot table to exepcted
pipeline_id values
---
.../circleci/e2e/snapshot_tables/cicd_tasks.csv | 18 +++++++++---------
backend/plugins/circleci/tasks/job_converter.go | 7 ++++---
backend/plugins/circleci/tasks/shared.go | 2 +-
backend/plugins/circleci/tasks/workflow_converter.go | 2 +-
4 files changed, 15 insertions(+), 14 deletions(-)
diff --git a/backend/plugins/circleci/e2e/snapshot_tables/cicd_tasks.csv
b/backend/plugins/circleci/e2e/snapshot_tables/cicd_tasks.csv
index e58108926..722138f62 100644
--- a/backend/plugins/circleci/e2e/snapshot_tables/cicd_tasks.csv
+++ b/backend/plugins/circleci/e2e/snapshot_tables/cicd_tasks.csv
@@ -1,10 +1,10 @@
id,name,pipeline_id,result,status,original_status,original_result,type,environment,duration_sec,queued_duration_sec,created_date,queued_date,started_date,finished_date,cicd_scope_id
-circleci:CircleciJob:1:6731159f-5275-4bfa-ba70-39d343d63814:ab8c3282-0e74-4a41-834e-152a71280bed,build,23622ee4-e150-4920-9d66-81533fa765a4,FAILURE,DONE,failed,,,PRODUCTION,3,,2023-03-25T17:52:20.000+00:00,,2023-03-25T17:52:20.000+00:00,2023-03-25T17:52:23.000+00:00,circleci:CircleciProject:1:abcd
-circleci:CircleciJob:1:7370985a-9de3-4a47-acbc-e6a1fe8e5812:a00f80bc-f759-4900-97a5-2d121d80bde8,build,866e967d-f826-4470-aed6-fc0c92e98703,FAILURE,DONE,failed,,,PRODUCTION,16,,2023-03-25T17:56:27.000+00:00,,2023-03-25T17:56:27.000+00:00,2023-03-25T17:56:43.000+00:00,circleci:CircleciProject:1:abcd
-circleci:CircleciJob:1:89054eb2-8e85-4f5c-9a93-66d753a0e970:c46092f9-6f82-4a52-8d8b-bd70d365dfc2,say-hello,625ca634-68fe-4515-91f0-7ba8af51dc99,SUCCESS,DONE,success,,,PRODUCTION,3,,2023-03-25T17:39:25.000+00:00,,2023-03-25T17:39:25.000+00:00,2023-03-25T17:39:28.000+00:00,circleci:CircleciProject:1:abcd
-circleci:CircleciJob:1:8971a56b-5547-4824-94dd-07bb467524c5:7b96e45b-b10e-47a0-95d0-96580b88bdda,say-hello,87aad008-1ad5-486a-8174-fdeed846561a,SUCCESS,DONE,success,,,PRODUCTION,3,,2023-03-25T17:12:20.000+00:00,,2023-03-25T17:12:20.000+00:00,2023-03-25T17:12:23.000+00:00,circleci:CircleciProject:1:abcd
-circleci:CircleciJob:1:8fe60291-68f7-40e2-acec-d99bff4da713:afde48dd-7319-4973-b3c8-e00308ff7667,say-hello,afef32b3-5ffe-48d2-8d9e-46dcedd82554,SUCCESS,DONE,success,,,PRODUCTION,2,,2023-03-25T17:12:20.000+00:00,,2023-03-25T17:12:20.000+00:00,2023-03-25T17:12:22.000+00:00,circleci:CircleciProject:1:abcd
-circleci:CircleciJob:1:b9ab7bbe-2f30-4c59-b4e2-eb2005bffb14:76c1f2cc-27ea-47aa-8167-48d2633abdba,build,70f3eb15-3b94-4f80-b65e-f23f4b74c33a,FAILURE,DONE,failed,,,PRODUCTION,12,,2023-03-25T17:54:11.000+00:00,,2023-03-25T17:54:11.000+00:00,2023-03-25T17:54:23.000+00:00,circleci:CircleciProject:1:abcd
-circleci:CircleciJob:1:c7df82a6-0d2b-4e19-a36a-3f3aa9fd3943:a4af3dd5-a3ae-48e8-b634-e2d63aafbb5b,build,2c45280f-7fb3-4025-b703-a547c4a94916,FAILURE,DONE,failed,,,PRODUCTION,3,,2023-03-25T17:50:22.000+00:00,,2023-03-25T17:50:22.000+00:00,2023-03-25T17:50:25.000+00:00,circleci:CircleciProject:1:abcd
-circleci:CircleciJob:1:fc76deef-bcdd-4856-8e96-a8e2d1c5a85f:004e3e27-17d7-4ccb-9b21-a7f55bcf2b3e,build,afe0cabe-e7ee-4eb7-bf13-bb6170d139f0,FAILURE,DONE,failed,,,PRODUCTION,13,,2023-03-25T18:06:15.000+00:00,,2023-03-25T18:06:15.000+00:00,2023-03-25T18:06:28.000+00:00,circleci:CircleciProject:1:abcd
-circleci:CircleciJob:1:fd0bd4f5-264f-4e3c-a151-06153c018f78:2ff3594e-9da1-4306-aefa-77b72a97971e,build,7fcc1623-edcc-4a76-ad20-cd81aa83519f,SUCCESS,DONE,success,,,PRODUCTION,13,,2023-03-25T18:13:25.000+00:00,,2023-03-25T18:13:25.000+00:00,2023-03-25T18:13:38.000+00:00,circleci:CircleciProject:1:abcd
+circleci:CircleciJob:1:6731159f-5275-4bfa-ba70-39d343d63814:ab8c3282-0e74-4a41-834e-152a71280bed,build,circleci:CircleciWorkflow:1:6731159f-5275-4bfa-ba70-39d343d63814,FAILURE,DONE,failed,,,PRODUCTION,3,,2023-03-25T17:52:20.000+00:00,,2023-03-25T17:52:20.000+00:00,2023-03-25T17:52:23.000+00:00,circleci:CircleciProject:1:abcd
+circleci:CircleciJob:1:7370985a-9de3-4a47-acbc-e6a1fe8e5812:a00f80bc-f759-4900-97a5-2d121d80bde8,build,circleci:CircleciWorkflow:1:7370985a-9de3-4a47-acbc-e6a1fe8e5812,FAILURE,DONE,failed,,,PRODUCTION,16,,2023-03-25T17:56:27.000+00:00,,2023-03-25T17:56:27.000+00:00,2023-03-25T17:56:43.000+00:00,circleci:CircleciProject:1:abcd
+circleci:CircleciJob:1:89054eb2-8e85-4f5c-9a93-66d753a0e970:c46092f9-6f82-4a52-8d8b-bd70d365dfc2,say-hello,circleci:CircleciWorkflow:1:89054eb2-8e85-4f5c-9a93-66d753a0e970,SUCCESS,DONE,success,,,PRODUCTION,3,,2023-03-25T17:39:25.000+00:00,,2023-03-25T17:39:25.000+00:00,2023-03-25T17:39:28.000+00:00,circleci:CircleciProject:1:abcd
+circleci:CircleciJob:1:8971a56b-5547-4824-94dd-07bb467524c5:7b96e45b-b10e-47a0-95d0-96580b88bdda,say-hello,circleci:CircleciWorkflow:1:8971a56b-5547-4824-94dd-07bb467524c5,SUCCESS,DONE,success,,,PRODUCTION,3,,2023-03-25T17:12:20.000+00:00,,2023-03-25T17:12:20.000+00:00,2023-03-25T17:12:23.000+00:00,circleci:CircleciProject:1:abcd
+circleci:CircleciJob:1:8fe60291-68f7-40e2-acec-d99bff4da713:afde48dd-7319-4973-b3c8-e00308ff7667,say-hello,circleci:CircleciWorkflow:1:8fe60291-68f7-40e2-acec-d99bff4da713,SUCCESS,DONE,success,,,PRODUCTION,2,,2023-03-25T17:12:20.000+00:00,,2023-03-25T17:12:20.000+00:00,2023-03-25T17:12:22.000+00:00,circleci:CircleciProject:1:abcd
+circleci:CircleciJob:1:b9ab7bbe-2f30-4c59-b4e2-eb2005bffb14:76c1f2cc-27ea-47aa-8167-48d2633abdba,build,circleci:CircleciWorkflow:1:b9ab7bbe-2f30-4c59-b4e2-eb2005bffb14,FAILURE,DONE,failed,,,PRODUCTION,12,,2023-03-25T17:54:11.000+00:00,,2023-03-25T17:54:11.000+00:00,2023-03-25T17:54:23.000+00:00,circleci:CircleciProject:1:abcd
+circleci:CircleciJob:1:c7df82a6-0d2b-4e19-a36a-3f3aa9fd3943:a4af3dd5-a3ae-48e8-b634-e2d63aafbb5b,build,circleci:CircleciWorkflow:1:c7df82a6-0d2b-4e19-a36a-3f3aa9fd3943,FAILURE,DONE,failed,,,PRODUCTION,3,,2023-03-25T17:50:22.000+00:00,,2023-03-25T17:50:22.000+00:00,2023-03-25T17:50:25.000+00:00,circleci:CircleciProject:1:abcd
+circleci:CircleciJob:1:fc76deef-bcdd-4856-8e96-a8e2d1c5a85f:004e3e27-17d7-4ccb-9b21-a7f55bcf2b3e,build,circleci:CircleciWorkflow:1:fc76deef-bcdd-4856-8e96-a8e2d1c5a85f,FAILURE,DONE,failed,,,PRODUCTION,13,,2023-03-25T18:06:15.000+00:00,,2023-03-25T18:06:15.000+00:00,2023-03-25T18:06:28.000+00:00,circleci:CircleciProject:1:abcd
+circleci:CircleciJob:1:fd0bd4f5-264f-4e3c-a151-06153c018f78:2ff3594e-9da1-4306-aefa-77b72a97971e,build,circleci:CircleciWorkflow:1:fd0bd4f5-264f-4e3c-a151-06153c018f78,SUCCESS,DONE,success,,,PRODUCTION,13,,2023-03-25T18:13:25.000+00:00,,2023-03-25T18:13:25.000+00:00,2023-03-25T18:13:38.000+00:00,circleci:CircleciProject:1:abcd
diff --git a/backend/plugins/circleci/tasks/job_converter.go
b/backend/plugins/circleci/tasks/job_converter.go
index 9d0f806b9..2cb8de120 100644
--- a/backend/plugins/circleci/tasks/job_converter.go
+++ b/backend/plugins/circleci/tasks/job_converter.go
@@ -18,6 +18,9 @@ limitations under the License.
package tasks
import (
+ "reflect"
+ "time"
+
"github.com/apache/incubator-devlake/core/dal"
"github.com/apache/incubator-devlake/core/errors"
"github.com/apache/incubator-devlake/core/models/domainlayer"
@@ -25,8 +28,6 @@ import (
"github.com/apache/incubator-devlake/core/plugin"
helper "github.com/apache/incubator-devlake/helpers/pluginhelper/api"
"github.com/apache/incubator-devlake/plugins/circleci/models"
- "reflect"
- "time"
)
var ConvertJobsMeta = plugin.SubTaskMeta{
@@ -66,7 +67,7 @@ func ConvertJobs(taskCtx plugin.SubTaskContext) errors.Error {
},
CicdScopeId:
getProjectIdGen().Generate(data.Options.ConnectionId, data.Project.Id),
Name: userTool.Name,
- PipelineId: userTool.PipelineId,
+ PipelineId:
getWorkflowIdGen().Generate(data.Options.ConnectionId, userTool.WorkflowId),
TaskDatesInfo: devops.TaskDatesInfo{
CreatedDate: createdAt,
QueuedDate:
userTool.QueuedAt.ToNullableTime(),
diff --git a/backend/plugins/circleci/tasks/shared.go
b/backend/plugins/circleci/tasks/shared.go
index 89b9321a7..c42a3f9c9 100644
--- a/backend/plugins/circleci/tasks/shared.go
+++ b/backend/plugins/circleci/tasks/shared.go
@@ -49,7 +49,7 @@ func getProjectIdGen() *didgen.DomainIdGenerator {
return projectIdGen
}
-func getPipelineIdGen() *didgen.DomainIdGenerator {
+func getWorkflowIdGen() *didgen.DomainIdGenerator {
if pipelineIdGen == nil {
pipelineIdGen =
didgen.NewDomainIdGenerator(&models.CircleciWorkflow{})
}
diff --git a/backend/plugins/circleci/tasks/workflow_converter.go
b/backend/plugins/circleci/tasks/workflow_converter.go
index 412bd4181..78223f5cf 100644
--- a/backend/plugins/circleci/tasks/workflow_converter.go
+++ b/backend/plugins/circleci/tasks/workflow_converter.go
@@ -60,7 +60,7 @@ func ConvertWorkflows(taskCtx plugin.SubTaskContext)
errors.Error {
createdAt := userTool.CreatedDate.ToTime()
pipeline := &devops.CICDPipeline{
DomainEntity: domainlayer.DomainEntity{
- Id:
getPipelineIdGen().Generate(data.Options.ConnectionId, userTool.Id),
+ Id:
getWorkflowIdGen().Generate(data.Options.ConnectionId, userTool.Id),
},
Name: userTool.Name,
DurationSec: userTool.DurationSec,