Skip to content

Commit 6bac38c

Browse files
authored
Merge pull request #59533 from margelo/@chrispader/e2e-performance-pipeline-follow-up
[NO QA] fix: Markdown for meaningless changes is invalid in E2E Performance pipeline
2 parents c217111 + 0fdb614 commit 6bac38c

File tree

1 file changed

+12
-7
lines changed

1 file changed

+12
-7
lines changed

tests/e2e/compare/output/markdown.ts

Lines changed: 12 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -54,11 +54,14 @@ const buildDetailsTable = (entries: Entry[], numberOfTables = 1) => {
5454
return [''];
5555
}
5656

57-
const entriesPerTable = Math.floor(entries.length / numberOfTables);
57+
// We always need at least one table
58+
const safeNumberOfTables = numberOfTables === 0 ? 1 : numberOfTables;
59+
60+
const entriesPerTable = Math.floor(entries.length / safeNumberOfTables);
5861
const tables: string[] = [];
59-
for (let i = 0; i < numberOfTables; i++) {
62+
for (let i = 0; i < safeNumberOfTables; i++) {
6063
const start = i * entriesPerTable;
61-
const end = i === numberOfTables - 1 ? entries.length : start + entriesPerTable;
64+
const end = i === safeNumberOfTables - 1 ? entries.length : start + entriesPerTable;
6265
const tableEntries = entries.slice(start, end);
6366

6467
const rows = tableEntries.map((entry) => [entry.name, buildDurationDetailsEntry(entry)]);
@@ -119,14 +122,16 @@ const buildMarkdown = (data: Data, skippedTests: string[], numberOfExtraFiles?:
119122
}
120123

121124
if (skippedTests.length > 0) {
122-
mainFile += `⚠️ Some tests did not pass successfully, so some results are omitted from final report: ${skippedTests.join(', ')}`;
125+
mainFile += `\n\n⚠️ Some tests did not pass successfully, so some results are omitted from final report: ${skippedTests.join(', ')}`;
123126
}
124127

125128
mainFile += '\n\n### Significant Changes To Duration';
126129
mainFile += `\n${buildSummaryTable(data.significance)}`;
127130
mainFile += `\n${buildDetailsTable(data.significance, 1).at(0)}`;
128131

129-
const meaninglessDetailsTables = buildDetailsTable(data.meaningless, nExtraFiles);
132+
// We always need at least one table
133+
const numberOfMeaninglessDetailsTables = nExtraFiles === 0 ? 1 : nExtraFiles;
134+
const meaninglessDetailsTables = buildDetailsTable(data.meaningless, numberOfMeaninglessDetailsTables);
130135

131136
if (nExtraFiles === 0) {
132137
mainFile += '\n\n### Meaningless Changes To Duration';
@@ -139,10 +144,10 @@ const buildMarkdown = (data: Data, skippedTests: string[], numberOfExtraFiles?:
139144
const extraFiles: string[] = [];
140145
for (let i = 0; i < nExtraFiles; i++) {
141146
let extraFile = '## Performance Comparison Report 📊';
142-
extraFile += nExtraFiles > 0 ? ` (${i + 2}/${nExtraFiles + 1})` : '';
147+
extraFile += ` (${i + 2}/${nExtraFiles + 1})`;
143148

144149
extraFile += '\n\n### Meaningless Changes To Duration';
145-
extraFile += nExtraFiles > 0 ? ` (${i + 1}/${nExtraFiles + 1})` : '';
150+
extraFile += nExtraFiles >= 2 ? ` (${i + 1}/${nExtraFiles})` : '';
146151

147152
extraFile += `\n${buildSummaryTable(data.meaningless, true)}`;
148153
extraFile += `\n${meaninglessDetailsTables.at(i)}`;

0 commit comments

Comments
 (0)