11import argparse
22import os
3- import sys
3+
44from src .benchmark .utils import read_metrics , to_markdown_table
55
66
77def parse_args ():
88 parser = argparse .ArgumentParser ()
9- parser .add_argument ("--path" , type = str , required = True , help = "Report path." )
10- parser .add_argument ("--write-gh-job-summary" , action = "store_true" , help = "Write to GitHub job summary." )
11- parser .add_argument ("--update-readme" , action = "store_true" , help = "Update statistics report in README.md." )
9+ parser .add_argument (
10+ "--path" , type = str , required = True , help = "The path of benchmark report."
11+ )
12+ parser .add_argument (
13+ "--output" , type = str , required = False , help = "The output path of the Markdown report."
14+ )
15+ parser .add_argument (
16+ "--write-gh-job-summary" , action = "store_true" , help = "Write to GitHub job summary."
17+ )
18+ parser .add_argument (
19+ "--update-readme" , action = "store_true" , help = "Update statistics report in README.md."
20+ )
1221 return parser .parse_args ()
1322
1423
@@ -18,6 +27,11 @@ def generate_report(path: str):
1827 return html_table
1928
2029
30+ def save_output_report (path : str , report ):
31+ with open (path , "w" ) as f :
32+ f .write (report )
33+
34+
2135def write_job_summary (report ):
2236 summary_path = os .environ ["GITHUB_STEP_SUMMARY" ]
2337 with open (summary_path , "a" ) as f :
@@ -55,6 +69,12 @@ def update_readme(report):
5569 # Generate statistics report
5670 report = generate_report (args .path )
5771
72+ # Output to markdown report
73+ if args .output :
74+ save_output_report (args .output , report )
75+ else :
76+ print (report )
77+
5878 # Write to workflow job summary
5979 if args .write_gh_job_summary :
6080 write_job_summary (report )
0 commit comments