From 55e3b0c9100c453fa32055dc2c76bd7ebfa23a17 Mon Sep 17 00:00:00 2001 From: GitLab Bot Date: Tue, 21 Dec 2021 12:14:15 +0000 Subject: Add latest changes from gitlab-org/gitlab@master --- danger/datateam/Dangerfile | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) (limited to 'danger') diff --git a/danger/datateam/Dangerfile b/danger/datateam/Dangerfile index 263fd4aa8e3..a4ccd65510d 100644 --- a/danger/datateam/Dangerfile +++ b/danger/datateam/Dangerfile @@ -6,14 +6,28 @@ DATA_WAREHOUSE_LABELS = [ "Data Warehouse::Not Impacted" ].freeze +FILE_PATH_REGEX = %r{((ee|jh)/)?config/metrics(/.+\.yml)}.freeze +PERFORMANCE_INDICATOR_REGEX = %r{gmau|smau|paid_gmau|umau}.freeze + CHANGED_SCHEMA_MESSAGE = <<~MSG -Notification to the Data Team about changes to the db/structure.sql file, add label `Data Warehouse::Impact Check`. +Notification to the Data Team about changes to files with possible impact on Data Warehouse, add label `Data Warehouse::Impact Check`. /label ~"Data Warehouse::Impact Check" +The following files require a review: + MSG db_schema_updated = !git.modified_files.grep(%r{\Adb/structure\.sql}).empty? + +metrics_definitions_files = git.modified_files.grep(FILE_PATH_REGEX) + +data_warehouse_impact_files = metrics_definitions_files.select do |file| + helper.changed_lines(file).grep(PERFORMANCE_INDICATOR_REGEX).any? +end.compact + +data_warehouse_impact_files << 'db/structure.sql' if db_schema_updated + no_data_warehouse_labels = (gitlab.mr_labels & DATA_WAREHOUSE_LABELS).empty? -markdown(CHANGED_SCHEMA_MESSAGE) if db_schema_updated && no_data_warehouse_labels +markdown(CHANGED_SCHEMA_MESSAGE + helper.markdown_list(data_warehouse_impact_files)) if data_warehouse_impact_files.any? && no_data_warehouse_labels -- cgit v1.2.3