@@ -57,6 +57,7 @@ class ReportSizeDeltas:
57
57
58
58
class ReportKeys :
59
59
"""Key names used in the sketches report dictionary"""
60
+ boards = "boards"
60
61
board = "board"
61
62
commit_hash = "commit_hash"
62
63
commit_url = "commit_url"
@@ -254,14 +255,16 @@ def get_sketches_reports(self, artifact_folder_object):
254
255
# Combine sketches reports into an array
255
256
with open (file = artifact_folder + "/" + report_filename ) as report_file :
256
257
report_data = json .load (report_file )
257
- if self .ReportKeys .sketches not in report_data :
258
+ if self .ReportKeys .boards not in report_data :
258
259
# Sketches reports use the old format, skip
259
260
print ("Old format sketches report found, skipping" )
260
261
continue
261
262
262
- if self .ReportKeys .sizes in report_data :
263
- # The report contains deltas data
264
- sketches_reports .append (report_data )
263
+ for fqbn_data in report_data [self .ReportKeys .boards ]:
264
+ if self .ReportKeys .sizes in fqbn_data :
265
+ # The report contains deltas data
266
+ sketches_reports .append (report_data )
267
+ break
265
268
266
269
if not sketches_reports :
267
270
print ("No size deltas data found in workflow artifact for this PR. The compile-examples action's "
@@ -279,46 +282,52 @@ def generate_report(self, sketches_reports):
279
282
280
283
# Generate summary report data
281
284
summary_report_data = [[fqbn_column_heading ]]
282
- for row_number , fqbn_data in enumerate (iterable = sketches_reports , start = 1 ):
283
- # Add a row to the report
284
- row = ["" for _ in range (len (summary_report_data [0 ]))]
285
- row [0 ] = fqbn_data [self .ReportKeys .board ]
286
- summary_report_data .append (row )
287
-
288
- # Populate the row with data
289
- for size_data in fqbn_data [self .ReportKeys .sizes ]:
290
- # Determine column number for this memory type
291
- column_number = get_report_column_number (report = summary_report_data ,
292
- column_heading = size_data [self .ReportKeys .name ])
293
-
294
- # Add the memory data to the cell
295
- summary_report_data [row_number ][column_number ] = (
296
- get_summary_value (
297
- minimum = size_data [self .ReportKeys .delta ][self .ReportKeys .absolute ][self .ReportKeys .minimum ],
298
- maximum = size_data [self .ReportKeys .delta ][self .ReportKeys .absolute ][self .ReportKeys .maximum ])
299
- )
300
-
301
- # Generate detailed report data
302
- full_report_data = [[fqbn_column_heading ]]
303
- for row_number , fqbn_data in enumerate (iterable = sketches_reports , start = 1 ):
304
- # Add a row to the report
305
- row = ["" for _ in range (len (full_report_data [0 ]))]
306
- row [0 ] = fqbn_data [self .ReportKeys .board ]
307
- full_report_data .append (row )
308
-
309
- # Populate the row with data
310
- for sketch in fqbn_data [self .ReportKeys .sketches ]:
311
- for size_data in sketch [self .ReportKeys .sizes ]:
285
+ row_number = 0
286
+ for fqbns_data in sketches_reports :
287
+ for fqbn_data in fqbns_data [self .ReportKeys .boards ]:
288
+ row_number += 1
289
+ # Add a row to the report
290
+ row = ["" for _ in range (len (summary_report_data [0 ]))]
291
+ row [0 ] = fqbn_data [self .ReportKeys .board ]
292
+ summary_report_data .append (row )
293
+
294
+ # Populate the row with data
295
+ for size_data in fqbn_data [self .ReportKeys .sizes ]:
312
296
# Determine column number for this memory type
313
- column_number = get_report_column_number (
314
- report = full_report_data ,
315
- column_heading = sketch [self .ReportKeys .name ] + "<br>" + size_data [self .ReportKeys .name ])
297
+ column_number = get_report_column_number (report = summary_report_data ,
298
+ column_heading = size_data [self .ReportKeys .name ])
316
299
317
300
# Add the memory data to the cell
318
- full_report_data [row_number ][column_number ] = (
319
- size_data [self .ReportKeys .delta ][self .ReportKeys .absolute ]
301
+ summary_report_data [row_number ][column_number ] = (
302
+ get_summary_value (
303
+ minimum = size_data [self .ReportKeys .delta ][self .ReportKeys .absolute ][self .ReportKeys .minimum ],
304
+ maximum = size_data [self .ReportKeys .delta ][self .ReportKeys .absolute ][self .ReportKeys .maximum ])
320
305
)
321
306
307
+ # Generate detailed report data
308
+ full_report_data = [[fqbn_column_heading ]]
309
+ row_number = 0
310
+ for fqbns_data in sketches_reports :
311
+ for fqbn_data in fqbns_data [self .ReportKeys .boards ]:
312
+ row_number += 1
313
+ # Add a row to the report
314
+ row = ["" for _ in range (len (full_report_data [0 ]))]
315
+ row [0 ] = fqbn_data [self .ReportKeys .board ]
316
+ full_report_data .append (row )
317
+
318
+ # Populate the row with data
319
+ for sketch in fqbn_data [self .ReportKeys .sketches ]:
320
+ for size_data in sketch [self .ReportKeys .sizes ]:
321
+ # Determine column number for this memory type
322
+ column_number = get_report_column_number (
323
+ report = full_report_data ,
324
+ column_heading = sketch [self .ReportKeys .name ] + "<br>" + size_data [self .ReportKeys .name ])
325
+
326
+ # Add the memory data to the cell
327
+ full_report_data [row_number ][column_number ] = (
328
+ size_data [self .ReportKeys .delta ][self .ReportKeys .absolute ]
329
+ )
330
+
322
331
# Add comment heading
323
332
report_markdown = self .report_key_beginning + sketches_reports [0 ][self .ReportKeys .commit_hash ] + "**\n \n "
324
333
0 commit comments