55import  re 
66from  datetime  import  date , datetime 
77
8- # Removed HF Hub imports 
98from  slack_sdk  import  WebClient 
109from  tabulate  import  tabulate 
1110
2019    help = "Directory containing test reports (will search recursively in all subdirectories)" ,
2120)
2221parser .add_argument ("--output_file" , default = None , help = "Path to save the consolidated report (markdown format)" )
23- # Removed HF dataset related arguments 
2422
2523
2624def  parse_stats_file (file_path ):
@@ -524,7 +522,7 @@ def generate_report(consolidated_data):
524522
525523
526524def  create_slack_payload (consolidated_data ):
527-     """Create a Slack message payload from consolidated data.""" 
525+     """Create a concise  Slack message payload from consolidated data.""" 
528526    total  =  consolidated_data ["total_stats" ]
529527    success_rate  =  f"{ (total ['passed' ] /  total ['tests' ] *  100 ):.2f}  %"  if  total ["tests" ] >  0  else  "N/A" 
530528
@@ -536,51 +534,68 @@ def create_slack_payload(consolidated_data):
536534    else :
537535        emoji  =  "❌" 
538536
537+     # Create a more compact summary section 
538+     summary  =  f"{ emoji }   *Diffusers Nightly Tests:* { success_rate }   success ({ total ['passed' ]}  /{ total ['tests' ]}   tests" 
539+     if  total ["skipped" ] >  0 :
540+         summary  +=  f", { total ['skipped' ]}   skipped" 
541+     summary  +=  ")" 
542+ 
539543    payload  =  [
540-         {"type" : "header" , "text" : {"type" : "plain_text" , "text" : f"{ emoji }   Diffusers Nightly Test Report" }},
541-         {
542-             "type" : "section" ,
543-             "fields" : [
544-                 {"type" : "mrkdwn" , "text" : f"*Total Tests:* { total ['tests' ]}  " },
545-                 {"type" : "mrkdwn" , "text" : f"*Passed:* { total ['passed' ]}  " },
546-                 {"type" : "mrkdwn" , "text" : f"*Failed:* { total ['failed' ]}  " },
547-                 {"type" : "mrkdwn" , "text" : f"*Skipped:* { total ['skipped' ]}  " },
548-                 {"type" : "mrkdwn" , "text" : f"*Success Rate:* { success_rate }  " },
549-             ],
550-         },
544+         {"type" : "section" , "text" : {"type" : "mrkdwn" , "text" : summary }},
551545    ]
552546
553-     # Removed comparison section 
554- 
555-     # Add failed test suites summary 
547+     # Add failed test suites summary (compact version) 
556548    failed_suites  =  [
557549        (name , data ) for  name , data  in  consolidated_data ["test_suites" ].items () if  data ["stats" ]["failed" ] >  0 
558550    ]
559551
560552    if  failed_suites :
561-         message  =  "*Failed Test Suites:*\n " 
562-         for  suite_name , suite_data  in  failed_suites :
563-             message  +=  f"• { suite_name }  : { suite_data ['stats' ]['failed' ]}   failed tests\n " 
564- 
565-         if  len (message ) >  MAX_LEN_MESSAGE :
566-             message  =  message [:MAX_LEN_MESSAGE ] +  "..." 
553+         # If many failed suites, just show the count and top few 
554+         if  len (failed_suites ) >  5 :
555+             message  =  f"*Failed Test Suites ({ len (failed_suites )}  ):* " 
556+             # Show only first 3 with counts 
557+             for  i , (suite_name , suite_data ) in  enumerate (failed_suites [:3 ]):
558+                 short_name  =  suite_name .split ("/" )[- 1 ] if  "/"  in  suite_name  else  suite_name 
559+                 message  +=  f"{ short_name }   ({ suite_data ['stats' ]['failed' ]}  ), " 
560+             message  +=  "..." 
561+         else :
562+             # Show all failed suites if 5 or fewer 
563+             message  =  "*Failed Suites:* " 
564+             for  suite_name , suite_data  in  failed_suites :
565+                 short_name  =  suite_name .split ("/" )[- 1 ] if  "/"  in  suite_name  else  suite_name 
566+                 message  +=  f"{ short_name }   ({ suite_data ['stats' ]['failed' ]}  ), " 
567+             message  =  message .rstrip (", " )
567568
568569        payload .append ({"type" : "section" , "text" : {"type" : "mrkdwn" , "text" : message }})
569570
570-     # Add slowest tests summary 
571+     # Add slowest tests summary (more concise)  
571572    slowest_tests  =  consolidated_data .get ("slowest_tests" , [])
572573    if  slowest_tests :
573574        # Filter out "< 0.05 secs were omitted" entries 
574575        filtered_tests  =  [test  for  test  in  slowest_tests  if  "secs were omitted"  not  in   test ["test" ]]
575576
576-         # Take top 5 for Slack message to avoid clutter 
577-         top5_slowest  =  filtered_tests [:5 ]
577+         # Take only top 3 for a more concise message 
578+         top_slowest  =  filtered_tests [:3 ]
579+ 
580+         if  top_slowest :
581+             slowest_message  =  "*Slowest Tests:* " 
582+             for  i , test  in  enumerate (top_slowest , 1 ):
583+                 # Extract just the test name without the full path 
584+                 if  "::"  in  test ["test" ]:
585+                     parts  =  test ["test" ].split ("::" )
586+                     if  len (parts ) >=  3 :
587+                         # Format: test_method (TestClass) - duration 
588+                         test_name  =  f"{ parts [- 1 ]}   ({ parts [- 2 ]}  )" 
589+                     else :
590+                         test_name  =  parts [- 1 ]
591+                 else :
592+                     test_name  =  test ["test" ].split ("/" )[- 1 ] if  "/"  in  test ["test" ] else  test ["test" ]
578593
579-         if   top5_slowest : 
580-             slowest_message   =   "*Top 5 Slowest Tests:* \n " 
581-             for   i ,  test   in   enumerate ( top5_slowest ,  1 ): 
582-                 test_name   =   test [ "test" ]. split ( "::" )[ - 1 ]  if   "::"   in   test [ "test" ]  else   test [ "test" ] 
583-                 slowest_message  +=  f"{ i } .  `{ test_name }  ` -  { test ['duration' ]:.2f } s ( { test [ 'suite' ] } ) \n " 
594+                  # Add duration and make comma-separated instead of numbered list 
595+                  if   i   <   len ( top_slowest ): 
596+                      slowest_message   +=   f"` { test_name } ` ( { test [ 'duration' ]:.1f } s), " 
597+                 else : 
598+                      slowest_message  +=  f"`{ test_name }  ` ( { test ['duration' ]:.1f } s) " 
584599
585600            payload .append ({"type" : "section" , "text" : {"type" : "mrkdwn" , "text" : slowest_message }})
586601
@@ -592,20 +607,20 @@ def create_slack_payload(consolidated_data):
592607                "text" : {"type" : "mrkdwn" , "text" : "*For more details:*" },
593608                "accessory" : {
594609                    "type" : "button" ,
595-                     "text" : {"type" : "plain_text" , "text" : "Check Action results " , "emoji" : True },
610+                     "text" : {"type" : "plain_text" , "text" : "View full report " , "emoji" : True },
596611                    "url" : f"https://github.com/huggingface/diffusers/actions/runs/{ os .environ ['GITHUB_RUN_ID' ]}  " ,
597612                },
598613            }
599614        )
600615
601-     # Add date 
616+     # Add date in more compact form  
602617    payload .append (
603618        {
604619            "type" : "context" ,
605620            "elements" : [
606621                {
607622                    "type" : "plain_text" ,
608-                     "text" : f"Nightly test results  for { date .today ()}  " ,
623+                     "text" : f"Results  for { date .today ()}  " ,
609624                },
610625            ],
611626        }
@@ -614,9 +629,6 @@ def create_slack_payload(consolidated_data):
614629    return  payload 
615630
616631
617- # Removed HF dataset related functions 
618- 
619- 
620632def  main (args ):
621633    # Make sure reports directory exists 
622634    if  not  os .path .isdir (args .reports_dir ):
@@ -630,8 +642,6 @@ def main(args):
630642    if  consolidated_data ["total_stats" ]["tests" ] ==  0 :
631643        print (f"Warning: No test results found in '{ args .reports_dir }  ' or its subdirectories." )
632644
633-     # Removed comparison section 
634- 
635645    # Generate markdown report 
636646    report  =  generate_report (consolidated_data )
637647
0 commit comments