Skip to content

Commit ee5399b

Browse files
committed
Fixup markdown formatting
1 parent 58a3691 commit ee5399b

File tree

1 file changed

+46
-22
lines changed

1 file changed

+46
-22
lines changed

lib/ci/ci_result_parser.js

Lines changed: 46 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -343,10 +343,13 @@ class TestBuild extends Job {
343343
}
344344

345345
formatAsJson() {
346-
const result = this.failures.map(item => Object.assign({
347-
source: this.sourceURL,
348-
upstream: this.jobUrl
346+
const { jobUrl, failures, sourceURL } = this;
347+
348+
const result = failures.map(item => Object.assign({
349+
source: sourceURL,
350+
upstream: jobUrl
349351
}, item));
352+
350353
return JSON.parse(JSON.stringify(result));
351354
}
352355
}
@@ -799,28 +802,18 @@ class CITGMBuild extends TestBuild {
799802
return { result };
800803
}
801804

802-
formatAsJson() {
803-
const { results } = this;
804-
805-
const result = results.all.map(item => Object.assign({
806-
source: this.sourceURL,
807-
upstream: this.jobUrl
808-
}, item));
809-
810-
return JSON.parse(JSON.stringify(result));
811-
}
812-
813805
parseResults(data) {
814-
const results = { all: [], failures: [] };
806+
const results = { all: {}, failures: {} };
815807

816808
data.forEach(platform => {
817809
const cases = flatten(platform.result.suites[0].cases);
818-
const nodeName = getNodeName(platform.child.url);
810+
const url = platform.child.url;
811+
const nodeName = getNodeName(url);
819812

820-
results.all.push({ [nodeName]: cases });
813+
results.all[nodeName] = { url, modules: cases };
821814

822815
const failedModules = cases.filter(c => c.status === 'FAILED');
823-
results.failures.push({ [nodeName]: failedModules });
816+
results.failures[nodeName] = { url, modules: failedModules };
824817
});
825818

826819
return results;
@@ -831,14 +824,45 @@ class CITGMBuild extends TestBuild {
831824

832825
cli.separator('Failures');
833826
const output = {};
834-
for (const failure of results.failures) {
835-
const platform = Object.keys(failure)[0];
836-
const modules = failure[platform].map(f => f.name);
837-
output[platform] = modules;
827+
for (const platform in results.failures) {
828+
const modules = results.failures[platform].modules;
829+
const failures = modules.map(f => f.name);
830+
831+
output[platform] = failures;
838832
}
839833

840834
console.table(output);
841835
}
836+
837+
formatAsJson() {
838+
const { jobUrl, results, sourceURL } = this;
839+
840+
const result = {
841+
source: sourceURL,
842+
upstream: jobUrl,
843+
...results.failures
844+
};
845+
846+
return JSON.parse(JSON.stringify(result));
847+
}
848+
849+
formatAsMarkdown() {
850+
const { jobUrl, result, results } = this;
851+
852+
if (result === SUCCESS) {
853+
return `Job ${jobUrl} is green.`;
854+
}
855+
856+
let output = `Failures in job ${jobUrl}\n\n`;
857+
for (const failure in results.failures) {
858+
const data = results.failures[failure];
859+
output += `### [${failure}](${data.url})\n\n`;
860+
861+
const failures = data.modules.map(f => f.name);
862+
output += `${failures.join('\n')}\n\n`;
863+
}
864+
return output;
865+
}
842866
}
843867

844868
function filterBuild(builds, type) {

0 commit comments

Comments
 (0)