@@ -248,6 +248,8 @@ def compare_command_logic(args, project_name, project_version):
248248 testname_regex = args .testname_regex
249249 auto_approve = args .auto_approve
250250 running_platform = args .running_platform
251+ baseline_target_version = args .baseline_target_version
252+ comparison_target_version = args .comparison_target_version
251253
252254 if running_platform is not None :
253255 logging .info (
@@ -306,6 +308,8 @@ def compare_command_logic(args, project_name, project_version):
306308 to_ts_ms ,
307309 use_metric_context_path ,
308310 running_platform ,
311+ baseline_target_version ,
312+ comparison_target_version ,
309313 )
310314 prepare_regression_comment (
311315 auto_approve ,
@@ -529,6 +533,8 @@ def compute_regression_table(
529533 to_ts_ms = None ,
530534 use_metric_context_path = None ,
531535 running_platform = None ,
536+ baseline_target_version = None ,
537+ comparison_target_version = None ,
532538):
533539 START_TIME_NOW_UTC , _ , _ = get_start_time_vars ()
534540 START_TIME_LAST_MONTH_UTC = START_TIME_NOW_UTC - datetime .timedelta (days = 31 )
@@ -552,7 +558,11 @@ def compute_regression_table(
552558 comparison_branch ,
553559 baseline_tag ,
554560 comparison_tag ,
561+ baseline_target_version ,
562+ comparison_target_version ,
555563 )
564+ logging .info (f"Using baseline filter { by_str_baseline } ={ baseline_str } " )
565+ logging .info (f"Using comparison filter { by_str_comparison } ={ comparison_str } " )
556566 (
557567 prefix ,
558568 testcases_setname ,
@@ -712,6 +722,8 @@ def get_by_strings(
712722 comparison_branch ,
713723 baseline_tag ,
714724 comparison_tag ,
725+ baseline_target_version = None ,
726+ comparison_target_version = None ,
715727):
716728 baseline_covered = False
717729 comparison_covered = False
@@ -738,6 +750,16 @@ def get_by_strings(
738750 by_str_baseline = "version"
739751 baseline_str = baseline_tag
740752
753+ if baseline_target_version is not None :
754+ if comparison_covered :
755+ logging .error (
756+ "--baseline-branch, --baseline-tag and --baseline-target-version are mutually exclusive. Pick one..."
757+ )
758+ exit (1 )
759+ baseline_covered = True
760+ by_str_baseline = "target+version"
761+ baseline_str = baseline_target_version
762+
741763 if comparison_tag is not None :
742764 # check if we had already covered comparison
743765 if comparison_covered :
@@ -748,16 +770,27 @@ def get_by_strings(
748770 comparison_covered = True
749771 by_str_comparison = "version"
750772 comparison_str = comparison_tag
773+ if comparison_target_version is not None :
774+ # check if we had already covered comparison
775+ if comparison_covered :
776+ logging .error (
777+ "--comparison-branch, --comparison-tag, and --comparison-target-table are mutually exclusive. Pick one..."
778+ )
779+ exit (1 )
780+ comparison_covered = True
781+ by_str_comparison = "target+version"
782+ comparison_str = comparison_target_version
751783
752784 if baseline_covered is False :
753785 logging .error (
754- "You need to provider either " + "( --baseline-branch or --baseline-tag ) "
786+ "You need to provider either "
787+ + "( --baseline-branch, --baseline-tag, or --baseline-target-version ) "
755788 )
756789 exit (1 )
757790 if comparison_covered is False :
758791 logging .error (
759792 "You need to provider either "
760- + "( --comparison-branch or --comparison-tag ) "
793+ + "( --comparison-branch, --comparison-tag, or --comparison-target-version ) "
761794 )
762795 exit (1 )
763796 return baseline_str , by_str_baseline , comparison_str , by_str_comparison
@@ -822,6 +855,7 @@ def from_rts_to_regression_table(
822855 filters_comparison = [
823856 "{}={}" .format (by_str_comparison , comparison_str ),
824857 "metric={}" .format (metric_name ),
858+ "hash==" ,
825859 "{}={}" .format (test_filter , test_name ),
826860 "deployment_name={}" .format (comparison_deployment_name ),
827861 "triggering_env={}" .format (tf_triggering_env ),
0 commit comments