
    hb                     "   S SK r S SKrS SKrS SKrS SKJr  S SKJr  S SKJr  Sr	\ R                  " 5       r\R                  SSS9  \R                  " \R                  S	S
9  S rS r\S:X  a#  \R%                  5       r\" \R(                  5        gg)    N)date)Path)tabulateiT  z--slack_channel_nameztrl-push-ci)defaultz)%(asctime)s - %(levelname)s - %(message)s)levelformatc           	      0   / n/ nSn [        U 5       nU H  n [        R                  " U5      nUR                  SS5      nSU;   a  US   S OSnUR                  SS5      n	U(       am  U	S:X  a6  US	-  nUR	                  XxU R
                  R                  S
5      S   /5        M  UR	                  XxU R
                  R                  S
5      S   /5        M  M     S S S 5        XU4$ ! [        R                   a(  n
[        R                  " SU  SU
 35         S n
A
GM  S n
A
ff = f! , (       d  f       NQ= f! [         a&  n
[        R                  " SU  SU
 35         S n
A
NS n
A
f[         a&  n
[        R                  " SU  SU
 35         S n
A
NS n
A
ff = f)Nr   nodeid durationz.4fzN/Aoutcomefailed   _zCould not decode line in : z	Log file z not found: zError processing log file )openjsonloadsgetappendstemsplitJSONDecodeErrorloggingwarningFileNotFoundErrorerror	Exception)logfailed_testspassed_testssection_num_failedflinedata	test_namer   r   es              M/home/james-whalen/.local/lib/python3.13/site-packages/scripts/log_reports.pyprocess_log_filer)   "   s   LL?#Y!L::d+D $2 6I<F$<N$z"23!7TYH"hhy"5G "h..!3.(//chhnnUXFYZ[F\0]^(//chhnnUXFYZ[F\0]^ !  , '999 ++ LOO&?uBqc$JKKL Y"  8	#l1#677 ?23%r!=>>?sv   D7 D&B
C'$D&&/C'D&D7 'D#;DD&D##D&&
D40D7 4D7 7
FE""F/FFc           	         / nSn/ n[        [        5       R                  S5      5      nU(       d  [        R                  " S5        g U Hn  n[        U5      u  pgnU(       + =(       a    U(       + n	X(-  nUR                  U	5        UR                  [        U5      X/5         [        R                  " U5        Mp     SSS[        R                  R                  S	S
5       S3S.S./nUS:  Ga  S
nU H  u  pnUS:  ah  USU SU S3-  nU Vs/ s H9  nUS   R                  S5      S S US   R                  S5      S   S S S-   /-   PM;     nnUS[        USS/SS9-   S-   -  n[!        U5      (       d  M  USU S3-  nM     [        R                  " SU 35        [#        SU 35        [%        U5      [&        :  a  SU S3nUR                  SS US.S.5        UR                  SS S!S.S"SS#S.S$[        R                  S%    3S&.S'.5        UR                  S(SS)[        R                  R                  S	5       S*[(        R*                  " 5        3S./S+.5        SS,KJn  U" [        R                  R                  S-5      S.9nUR1                  S/U  3XS09  g UR                  SSS1S2S3.S.5        [        R                  " S45        g ! [         a(  n
[        R                  " SU SU
 35         S n
A
GM  S n
A
ff = fs  snf )5Nr   z*.logzNo log files found.zCould not remove log file r   header
plain_textu   🤗 Results of the 	TEST_TYPEr   z TRL tests.)typetext*z failed test(s)*
z::      z..z
```
zTest Locationz	Test Namegrid)headerstablefmtz
*z1: Warning! Empty file - check GitHub action job*
zTotal failed tests: z### u   ❌ There are zA failed tests in total! Please check the action results directly.sectionmrkdwnz*For more details:*buttonzCheck Action resultsz0https://github.com/huggingface/trl/actions/runs/GITHUB_RUN_ID)r.   r/   url)r.   r/   	accessorycontextzOn Push main z results for )r.   elements)	WebClientSLACK_API_TOKEN)token#)channelr/   blocksu/   ✅ No failures! All tests passed successfully.T)r.   r/   emojiz%All tests passed. No errors detected.)listr   globr   infor)   r   strosremoveOSErrorr   environr   r   r   anyprintlenMAX_LEN_MESSAGEr   today	slack_sdkr?   chat_postMessage)slack_channel_name
group_infototal_num_failedtotal_empty_files	log_filesr   r   passedr"   
empty_filer'   payloadmessagename
num_failedr    testfailed_tabler?   slack_clients                       r(   mainrc   A   sS   JTV[[)*I*+-=c-B**Z.J
.  ,3s8%7@A	EIIcN " )5I"**..YdfhJiIjju3vw	
G !.8*DlA~QtfBzl2DEE`l `lX\DGMM$'+tAw}}T/B2/Fs/Kd/R.SS`l    |o{5S^def  $%%S&XYY /9  	+,<+=>?WIw</) !1 22st  		Hg3VWX!!)3HI$%1;QRMbjjYhNiMjk
	
 	! !-"/

{0K/LMZ^ZdZdZfYg h
	
 	( rzz~~6G'HI%%2D1E.FW%e 	!(M!		
 	<=]  	EOO8RsCDD	E  s   !KA K=
K:K55K:__main__)argparser   r   rJ   datetimer   pathlibr   r   rQ   ArgumentParserparseradd_argumentbasicConfigINFOr)   rc   __name__
parse_argsargsrU        r(   <module>rr      s       	    		 	 	"   *M  B   ',,/Z [:>c>L zD	 	 ! rq   