mirror of
https://github.com/google/blockly.git
synced 2026-01-11 02:47:09 +01:00
chore: add a pretty summary to CI (#6780)
This commit is contained in:
committed by
GitHub
parent
856285c6ff
commit
86f3fde69c
@@ -34,6 +34,7 @@ const ANSI_RESET = '\x1b[0m';
|
||||
let successCount = 0;
|
||||
let failCount = 0;
|
||||
let firstErr;
|
||||
const results = {};
|
||||
|
||||
/**
|
||||
* Run an arbitrary Gulp task as a test.
|
||||
@@ -59,6 +60,7 @@ function runTestTask(id, task) {
|
||||
successCount++;
|
||||
if (process.env.CI) console.log('::endgroup::');
|
||||
console.log(`${BOLD_GREEN}SUCCESS:${ANSI_RESET} ${id}`);
|
||||
results[id] = {success: true};
|
||||
resolve(result);
|
||||
})
|
||||
.catch((err) => {
|
||||
@@ -70,17 +72,38 @@ function runTestTask(id, task) {
|
||||
console.error(err.message);
|
||||
if (process.env.CI) console.log('::endgroup::');
|
||||
console.log(`${BOLD_RED}FAILED:${ANSI_RESET} ${id}`);
|
||||
results[id] = {success: false, message: err.message};
|
||||
// Always continue.
|
||||
resolve(err);
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
function createSummary() {
|
||||
let summary = '# Test Summary\n\n';
|
||||
summary += '|Test Name|Passed?|Error message|\n';
|
||||
summary += '|---------|-------|-------------|\n';
|
||||
for (const test in results) {
|
||||
summary += `|${test}|${results[test].success
|
||||
? ':white_check_mark:' : ':x:'}|${results[test].message ?? ''}|\n`;
|
||||
}
|
||||
summary += `\n\n## Total: ${successCount} passed. ${failCount} failed.`;
|
||||
return summary;
|
||||
}
|
||||
|
||||
/**
|
||||
* Print test results and fail the task if needed.
|
||||
*/
|
||||
function reportTestResult() {
|
||||
console.log('=======================================');
|
||||
if (process.env.CI && process.env.GITHUB_STEP_SUMMARY) {
|
||||
try {
|
||||
fs.writeFileSync(process.env.GITHUB_STEP_SUMMARY, createSummary());
|
||||
} catch(e) {
|
||||
// Don't fail CI just because we couldn't write the summary.
|
||||
console.log('Failed to write job summary', e);
|
||||
}
|
||||
}
|
||||
// Check result.
|
||||
if (failCount === 0) {
|
||||
console.log(
|
||||
|
||||
Reference in New Issue
Block a user