This is an automated email from the ASF dual-hosted git repository. klesh pushed a commit to branch kw-7193-clt-ignores-the-1st-deployment in repository https://gitbox.apache.org/repos/asf/incubator-devlake.git
commit a1e626faf4fc7072d74a01b8833c62e6e3c5f865 Author: Klesh Wong <[email protected]> AuthorDate: Tue Apr 23 17:14:47 2024 +0800 fix: CLT ignores the first deployment --- .../dora/e2e/change_lead_time/commits_diffs.csv | 13 ++++++----- .../e2e/change_lead_time/project_pr_metrics.csv | 1 + .../e2e/change_lead_time/pull_request_comments.csv | 27 +++++++++++----------- .../e2e/change_lead_time/pull_request_commits.csv | 27 +++++++++++----------- .../dora/e2e/change_lead_time/pull_requests.csv | 15 ++++++------ .../dora/tasks/change_lead_time_calculator.go | 1 + 6 files changed, 45 insertions(+), 39 deletions(-) diff --git a/backend/plugins/dora/e2e/change_lead_time/commits_diffs.csv b/backend/plugins/dora/e2e/change_lead_time/commits_diffs.csv index 7f74dccae..440a68a4a 100644 --- a/backend/plugins/dora/e2e/change_lead_time/commits_diffs.csv +++ b/backend/plugins/dora/e2e/change_lead_time/commits_diffs.csv @@ -1,6 +1,7 @@ -old_commit_sha,new_commit_sha,commit_sha -commit1,commit5,pr_merge_commit1 -commit1,commit5,pr_merge_commit2 -commit2,commit6,pr_merge_commit3 -commit7,commit8,pr_merge_commit4 -,commit11,pr_merge_commit5 \ No newline at end of file +old_commit_sha,new_commit_sha,commit_sha +commit1,commit5,pr_merge_commit1 +commit1,commit5,pr_merge_commit2 +commit2,commit6,pr_merge_commit3 +commit7,commit8,pr_merge_commit4 +,commit11,pr_merge_commit5 +,commit1,pr_merge_commit0 diff --git a/backend/plugins/dora/e2e/change_lead_time/project_pr_metrics.csv b/backend/plugins/dora/e2e/change_lead_time/project_pr_metrics.csv index a86106a9b..45396a783 100644 --- a/backend/plugins/dora/e2e/change_lead_time/project_pr_metrics.csv +++ b/backend/plugins/dora/e2e/change_lead_time/project_pr_metrics.csv @@ -1,4 +1,5 @@ id,project_name,first_commit_sha,pr_coding_time,first_review_id,pr_pickup_time,pr_review_time,deployment_commit_id,pr_deploy_time,pr_cycle_time +pr0,project1,pr0_commit0,1440,,,,,, pr1,project1,08d2f2b6de0fa8de4d0e2b55b4b9a2e244214029,1440,comment02,5,55,5,2978,4478 pr2,project1,2537845559d8db99e9cda6190f32b50ec979c722,,comment04,1,60,5,1538,1598 pr3,project1,55f445997abbd5918da59d202d28762cd56fbd44,5883,comment07,,5760,6,, diff --git a/backend/plugins/dora/e2e/change_lead_time/pull_request_comments.csv b/backend/plugins/dora/e2e/change_lead_time/pull_request_comments.csv index 1e8b3f3d7..916a6f57d 100644 --- a/backend/plugins/dora/e2e/change_lead_time/pull_request_comments.csv +++ b/backend/plugins/dora/e2e/change_lead_time/pull_request_comments.csv @@ -1,13 +1,14 @@ -id,pull_request_id,created_date,account_id -comment01,pr1,2023-4-11 4:53:47,a -comment02,pr1,2023-4-11 4:56:47,b -comment03,pr1,2023-4-11 4:59:47,c -comment04,pr2,2023-4-12 4:51:49,d -comment05,pr2,2023-4-12 5:51:47,e -comment06,pr2,2023-4-12 8:51:47,f -comment07,pr3,2023-4-10 6:53:51,g -comment08,pr3,2023-4-12 6:53:51,h -comment09,pr3,2023-4-12 6:53:51,i -comment10,pr4,2023-4-14 8:55:01,j -comment11,pr4,2023-4-14 8:55:01,k -comment12,pr5,2022-09-07 23:07:13,l \ No newline at end of file +id,pull_request_id,created_date,account_id +comment00,pr0,2022-1-11 8:51:47,a +comment01,pr1,2023-4-11 4:53:47,a +comment02,pr1,2023-4-11 4:56:47,b +comment03,pr1,2023-4-11 4:59:47,c +comment04,pr2,2023-4-12 4:51:49,d +comment05,pr2,2023-4-12 5:51:47,e +comment06,pr2,2023-4-12 8:51:47,f +comment07,pr3,2023-4-10 6:53:51,g +comment08,pr3,2023-4-12 6:53:51,h +comment09,pr3,2023-4-12 6:53:51,i +comment10,pr4,2023-4-14 8:55:01,j +comment11,pr4,2023-4-14 8:55:01,k +comment12,pr5,2022-09-07 23:07:13,l diff --git a/backend/plugins/dora/e2e/change_lead_time/pull_request_commits.csv b/backend/plugins/dora/e2e/change_lead_time/pull_request_commits.csv index 066df8a15..a6e112d9f 100644 --- a/backend/plugins/dora/e2e/change_lead_time/pull_request_commits.csv +++ b/backend/plugins/dora/e2e/change_lead_time/pull_request_commits.csv @@ -1,13 +1,14 @@ -commit_sha,pull_request_id,commit_authored_date,_raw_data_remark -08d2f2b6de0fa8de4d0e2b55b4b9a2e244214029,pr1,2023-4-10 4:51:47, -0edd5d0e0d18516d3309fec90553c3ee7380c149,pr1,2023-4-11 4:51:47, -209168a4b12d91a7ad1f3711fe05b39d5bd8e260,pr1,2023-4-12 4:51:47, -2537845559d8db99e9cda6190f32b50ec979c722,pr2,2023-4-13 4:51:47, -3aba559962e04949a1731f7d5155c7aac2e900ce,pr2,2023-4-14 4:51:47, -3ec3e113ed36a5a8978af295683085054e4dfdd9,pr2,2023-4-15 4:51:47, -4b71faf666833c0c7b915a512811e2c5e746d3de,pr3,2023-4-09 4:51:47, -4f8cdefc9a9d53af16dd482c61623312eb9e9b5e,pr3,2023-4-08 4:51:47, -55f445997abbd5918da59d202d28762cd56fbd44,pr3,2023-4-07 4:51:47, -56b895f0443730c6d7abfbc51a05ab35abd2971f,pr4,2023-4-06 4:51:47, -5ad0c09c447c19338f1dfbb65d89a3728962b3b7,pr4,2023-4-05 4:51:47, -62535543802631a0d3daf0b0b78c6a7e05e508fb,pr5,2023-4-04 4:51:47, \ No newline at end of file +commit_sha,pull_request_id,commit_authored_date,_raw_data_remark +pr0_commit0,pr0,2022-1-10 4:51:47, +08d2f2b6de0fa8de4d0e2b55b4b9a2e244214029,pr1,2023-4-10 4:51:47, +0edd5d0e0d18516d3309fec90553c3ee7380c149,pr1,2023-4-11 4:51:47, +209168a4b12d91a7ad1f3711fe05b39d5bd8e260,pr1,2023-4-12 4:51:47, +2537845559d8db99e9cda6190f32b50ec979c722,pr2,2023-4-13 4:51:47, +3aba559962e04949a1731f7d5155c7aac2e900ce,pr2,2023-4-14 4:51:47, +3ec3e113ed36a5a8978af295683085054e4dfdd9,pr2,2023-4-15 4:51:47, +4b71faf666833c0c7b915a512811e2c5e746d3de,pr3,2023-4-09 4:51:47, +4f8cdefc9a9d53af16dd482c61623312eb9e9b5e,pr3,2023-4-08 4:51:47, +55f445997abbd5918da59d202d28762cd56fbd44,pr3,2023-4-07 4:51:47, +56b895f0443730c6d7abfbc51a05ab35abd2971f,pr4,2023-4-06 4:51:47, +5ad0c09c447c19338f1dfbb65d89a3728962b3b7,pr4,2023-4-05 4:51:47, +62535543802631a0d3daf0b0b78c6a7e05e508fb,pr5,2023-4-04 4:51:47, diff --git a/backend/plugins/dora/e2e/change_lead_time/pull_requests.csv b/backend/plugins/dora/e2e/change_lead_time/pull_requests.csv index 82aced07c..46a205077 100644 --- a/backend/plugins/dora/e2e/change_lead_time/pull_requests.csv +++ b/backend/plugins/dora/e2e/change_lead_time/pull_requests.csv @@ -1,7 +1,8 @@ -id,base_repo_id,author_id,merge_commit_sha,created_date,merged_date,_raw_data_remark,base_commit_sha,head_commit_sha -pr1,repo1,a,pr_merge_commit1,2023-4-11 4:51:47,2023-4-11 5:51:47,deployment_commit 5,, -pr2,repo1,a,pr_merge_commit2,2023-4-12 4:51:47,2023-4-12 5:51:47,deployment_commit 5,, -pr3,repo1,a,pr_merge_commit3,2023-4-11 6:53:51,2023-4-14 6:53:51,deployment_commit 6,, -pr4,repo1,,pr_merge_commit4,2023-4-13 7:55:01,2023-4-13 8:55:01,,, -pr5,repo1,,pr_merge_commit5,2023-4-13 7:55:01,2023-4-13 8:55:01,,, -pr6,repo1,,pr_merge_commit6,2023-4-13 7:55:01,,,, \ No newline at end of file +id,base_repo_id,author_id,merge_commit_sha,created_date,merged_date,_raw_data_remark,base_commit_sha,head_commit_sha +pr0,repo1,a,pr_merge_commit0,2022-1-11 4:51:47,2022-2-10 4:51:47,deployment_commit 0,, +pr1,repo1,a,pr_merge_commit1,2023-4-11 4:51:47,2023-4-11 5:51:47,deployment_commit 5,, +pr2,repo1,a,pr_merge_commit2,2023-4-12 4:51:47,2023-4-12 5:51:47,deployment_commit 5,, +pr3,repo1,a,pr_merge_commit3,2023-4-11 6:53:51,2023-4-14 6:53:51,deployment_commit 6,, +pr4,repo1,,pr_merge_commit4,2023-4-13 7:55:01,2023-4-13 8:55:01,,, +pr5,repo1,,pr_merge_commit5,2023-4-13 7:55:01,2023-4-13 8:55:01,,, +pr6,repo1,,pr_merge_commit6,2023-4-13 7:55:01,,,, diff --git a/backend/plugins/dora/tasks/change_lead_time_calculator.go b/backend/plugins/dora/tasks/change_lead_time_calculator.go index 8e29f1678..c8c518318 100644 --- a/backend/plugins/dora/tasks/change_lead_time_calculator.go +++ b/backend/plugins/dora/tasks/change_lead_time_calculator.go @@ -211,6 +211,7 @@ func getDeploymentCommit(mergeSha string, projectName string, db dal.Dal) (*devo dal.Join("LEFT JOIN cicd_deployment_commits p ON (dc.prev_success_deployment_commit_id = p.id)"), dal.Join("LEFT JOIN project_mapping pm ON (pm.table = 'cicd_scopes' AND pm.row_id = dc.cicd_scope_id)"), dal.Join("INNER JOIN commits_diffs cd ON (cd.new_commit_sha = dc.commit_sha AND cd.old_commit_sha = COALESCE (p.commit_sha, ''))"), + dal.Where("dc.prev_success_deployment_commit_id <> ''"), dal.Where("dc.environment = 'PRODUCTION'"), // TODO: remove this when multi-environment is supported dal.Where("pm.project_name = ? AND cd.commit_sha = ? AND dc.RESULT = ?", projectName, mergeSha, devops.RESULT_SUCCESS), dal.Orderby("dc.started_date, dc.id ASC"),
