From 7d54e4494e18e60bc539376e94b5a27b2f4459e6 Mon Sep 17 00:00:00 2001 From: Shelley Vohr Date: Thu, 9 Jul 2020 21:36:16 -0700 Subject: [PATCH 1/8] refactor: pull some builds into own files --- bin/ncu-ci | 12 +- lib/ci/build-types/citgm_build.js | 160 +++++++++ lib/ci/build-types/job.js | 116 +++++++ lib/ci/build-types/test_build.js | 178 ++++++++++ lib/ci/ci_result_parser.js | 546 +++--------------------------- lib/ci/ci_utils.js | 32 ++ lib/ci/jenkins_constants.js | 39 +++ 7 files changed, 576 insertions(+), 507 deletions(-) create mode 100644 lib/ci/build-types/citgm_build.js create mode 100644 lib/ci/build-types/job.js create mode 100644 lib/ci/build-types/test_build.js create mode 100644 lib/ci/ci_utils.js create mode 100644 lib/ci/jenkins_constants.js diff --git a/bin/ncu-ci b/bin/ncu-ci index 1007ed48..804e5f99 100755 --- a/bin/ncu-ci +++ b/bin/ncu-ci @@ -113,7 +113,7 @@ const argv = yargs builder: (yargs) => { yargs .positional('jobid', { - describe: 'id of the job', + describe: 'id of the first job', type: 'number' }); }, @@ -361,10 +361,18 @@ class JobCommand extends CICommand { } async initialize() { - this.queue.push({ + const { queue, argv } = this; + + queue.push({ type: commandToType[this.command], +<<<<<<< HEAD jobid: this.argv.jobid, noBuild: this.argv.nobuild || false +||||||| merged common ancestors + jobid: this.argv.jobid +======= + jobid: argv.jobid +>>>>>>> refactor: pull some builds into own files }); } } diff --git a/lib/ci/build-types/citgm_build.js b/lib/ci/build-types/citgm_build.js new file mode 100644 index 00000000..513b3178 --- /dev/null +++ b/lib/ci/build-types/citgm_build.js @@ -0,0 +1,160 @@ +'use strict'; + +const { TestBuild } = require('./test_build'); +const { flatten } = require('../../utils'); +const { getNodeName, pad } = require('../ci_utils'); + +const { + CITGM_MAIN_TREE, + CITGM_REPORT_TREE +} = require('../jenkins_constants'); +const { + FAILURE_TYPES: { NCU_FAILURE }, + FAILURE_CONSTRUCTORS: { + [NCU_FAILURE]: NCUFailure + } +} = require('./ci_failure_parser'); + +class CITGMBuild extends TestBuild { + constructor(cli, request, id) { + // There will always be at least one job id. + const path = `job/citgm-smoker/${id}/`; + const tree = CITGM_MAIN_TREE; + + super(cli, request, path, tree); + + this.id = id; + } + + async getResults() { + const { apiUrl, id } = this; + + let headerData; + try { + headerData = await this.getBuildData('Summary'); + } catch (err) { + this.failures = [ + new NCUFailure({ url: this.apiUrl }, err.message) + ]; + return this.failures; + } + const { result } = headerData; + + this.setBuildData(headerData); + + // CITGM jobs store results in a different location than + // they do summary data, so we need to update the endpoint + // and issue a second API call in order to fetch result data. + this.tree = CITGM_REPORT_TREE; + this.path = `job/citgm-smoker/${id}/testReport/`; + + let resultData; + try { + resultData = await this.getBuildData('Results'); + } catch (err) { + this.failures = [ + new NCUFailure({ url: apiUrl }, err.message) + ]; + return this.failures; + } + + this.results = this.parseResults(resultData); + + // Update id again so that it correctly displays in Summary output. + this.path = `job/citgm-smoker/${id}/`; + + return { result }; + } + + parseResults(data) { + const { childReports, totalCount, skipCount, failCount } = data; + const results = { all: {}, failures: {}, statistics: {} }; + + const passCount = totalCount - failCount - skipCount; + results.statistics.passed = passCount; + results.statistics.total = totalCount; + results.statistics.skipped = skipCount; + results.statistics.failed = failCount; + + childReports.forEach(platform => { + const cases = flatten(platform.result.suites[0].cases); + const url = platform.child.url; + const nodeName = getNodeName(url); + + results.all[nodeName] = { url, modules: cases }; + + const failedModules = cases.filter(c => c.status === 'FAILED'); + results.failures[nodeName] = { url, modules: failedModules }; + }); + + return results; + } + + displayBuilds() { + const { cli, results } = this; + const { failed, skipped, passed, total } = results.statistics; + + cli.separator('Statistics'); + console.table({ + Failed: failed, + Skipped: skipped, + Passed: passed, + Total: total + }); + + cli.separator('Failures'); + const output = {}; + for (const platform in results.failures) { + const modules = results.failures[platform].modules; + const failures = modules.map(f => f.name); + + output[platform] = failures; + } + + console.table(output); + } + + formatAsJson() { + const { jobUrl, results, sourceURL } = this; + + const result = { + source: sourceURL, + upstream: jobUrl, + ...results.statistics, + ...results.failures + }; + + return JSON.parse(JSON.stringify(result)); + } + + formatAsMarkdown() { + const { jobUrl, result, results, id } = this; + + let output = `# CITGM Data for [${id}](${jobUrl})\n\n`; + + const { failed, skipped, passed, total } = results.statistics; + + output += `## Statistics for job [${id}](${jobUrl})\n\n`; + output += '| FAILED | SKIPPED | PASSED | TOTAL |\n'; + output += '| -------- | --------- | -------- | ------- |\n'; + output += `| ${pad(failed, 8)} | ${pad(skipped, 9)} |`; + output += ` ${pad(passed, 8)} | ${pad(total, 7)} |\n\n`; + + if (result === 'success') { + output += `Job [${id}](${jobUrl}) is green.`; + return output; + } + + output += `## Failures in job [${id}](${jobUrl})\n\n`; + for (const failure in results.failures) { + const data = results.failures[failure]; + output += `### [${failure}](${data.url})\n\n`; + + const failures = data.modules.map(f => `* ${f.name}`); + output += `${failures.join('\n')}\n\n`; + } + return output; + } +} + +module.exports = { CITGMBuild }; diff --git a/lib/ci/build-types/job.js b/lib/ci/build-types/job.js new file mode 100644 index 00000000..7a162da6 --- /dev/null +++ b/lib/ci/build-types/job.js @@ -0,0 +1,116 @@ +'use strict'; + +const qs = require('querystring'); +const { CI_DOMAIN } = require('../ci_type_parser'); +const Cache = require('../../cache'); +const CIFailureParser = require('../ci_failure_parser'); +const { + FAILURE_TYPES: { NCU_FAILURE }, + FAILURE_CONSTRUCTORS: { + [NCU_FAILURE]: NCUFailure + }, + CIResult +} = CIFailureParser; + +class Job { + constructor(cli, request, path, tree) { + this.cli = cli; + this.request = request; + this.path = path; + this.tree = tree; + } + + get jobUrl() { + const { path } = this; + return `https://${CI_DOMAIN}/${path}`; + } + + get apiUrl() { + const { tree, jobUrl } = this; + const query = tree ? `?tree=${qs.escape(tree)}` : ''; + return `${jobUrl}api/json${query}`; + } + + get consoleUrl() { + const { path } = this; + return `https://${CI_DOMAIN}/${path}consoleText`; + } + + get consoleUIUrl() { + const { path } = this; + return `https://${CI_DOMAIN}/${path}console`; + } + + async getBuildData(type = 'Build') { + const { cli, path } = this; + cli.startSpinner(`Querying data for ${path}`); + const data = await this.getAPIData(); + cli.stopSpinner(`${type} data downloaded`); + return data; + } + + getCause(actions) { + if (actions && actions.find(item => item.causes)) { + const action = actions.find(item => item.causes); + return action.causes[0]; + } + } + + async getAPIData() { + const { apiUrl, cli, request, path } = this; + cli.updateSpinner(`Querying API for ${path}`); + return request.json(apiUrl); + } + + async getConsoleText() { + const { cli, consoleUrl, request, path } = this; + cli.updateSpinner(`Querying console text for ${path}`); + const data = await request.text(consoleUrl); + return data.replace(/\r/g, ''); + } + + getCacheKey() { + return this.path + .replace(/job\//, '') + .replace(/\//g, '-') + .replace(/-$/, ''); + } + + async parseConsoleText() { + let text; + try { + text = await this.getConsoleText(); + } catch (err) { + this.failures = [ + new NCUFailure({ + url: this.consoleUrl, builtOn: this.builtOn + }, err.message) + ]; + return this.failures; + } + + const parser = new CIFailureParser(this, text); + let results = parser.parse(); + if (!results) { + results = [ + new CIResult({ url: this.jobUrl, builtOn: this.builtOn }, 'Unknown') + ]; + } + + this.failures = results; + return results; + } +} + +// TODO(joyeecheung): do not cache pending jobs +const jobCache = new Cache(); +jobCache.wrap(Job, { + getConsoleText() { + return { key: this.getCacheKey(), ext: '.txt' }; + }, + getAPIData() { + return { key: this.getCacheKey(), ext: '.json' }; + } +}); + +module.exports = { Job, jobCache }; diff --git a/lib/ci/build-types/test_build.js b/lib/ci/build-types/test_build.js new file mode 100644 index 00000000..14addca7 --- /dev/null +++ b/lib/ci/build-types/test_build.js @@ -0,0 +1,178 @@ +const chalk = require('chalk'); + +const { Job } = require('./job'); +const { shortSha } = require('../../utils'); +const { + fold, + getNodeName, + statusType +} = require('../ci_utils'); +const { CI_DOMAIN } = require('../ci_type_parser'); + +const resultName = (result) => { + return result === null ? 'PENDING' : result.toUpperCase(); +}; + +const getUrl = (path) => { + const urlPath = path.replace(`https://${CI_DOMAIN}/`, '').replace('api/json', ''); + return `https://${CI_DOMAIN}/${urlPath}`; +}; + +class TestBuild extends Job { + constructor(cli, request, path, tree) { + super(cli, request, path, tree); + + // Should be assigned in getResults() + this.result = null; + this.params = {}; + this.change = {}; + this.date = undefined; + this.builds = { + failed: [], aborted: [], pending: [], unstable: [] + }; + this.failures = []; + this.builtOn = undefined; + } + + setBuildData({ result, changeSet, actions, timestamp, builtOn }) { + const params = actions.find(item => typeof item.parameters === 'object'); + params.parameters.forEach(pair => { + this.params[pair.name] = pair.value; + }); + + this.change = changeSet.items[0] || {}; + this.date = new Date(timestamp); + this.result = result; + this.builtOn = builtOn; + } + + get sourceURL() { + const { params } = this; + + if (params.PR_ID) { // from a node-test-pull-request build + const owner = params.TARGET_GITHUB_ORG; + const repo = params.TARGET_REPO_NAME; + const prid = params.PR_ID; + return `https://github.com/${owner}/${repo}/pull/${prid}/`; + } + + if (params.GITHUB_ORG) { // from a node-test-commit build + const owner = params.GITHUB_ORG; + const repo = params.REPO_NAME; + const prm = params.GIT_REMOTE_REF.match(/refs\/pull\/(\d+)\/head/); + if (prm) { + return `https://github.com/${owner}/${repo}/pull/${prm[1]}/`; + } else { + const result = + `https://api.github.com/repos/${owner}/${repo}/git/` + + params.GIT_REMOTE_REF; + return result; + } + } + } + + get commit() { + const { change } = this; + if (!change.commitId) { + return 'Unknown'; + } + return `[${shortSha(change.commitId)}] ${change.msg}`; + } + + get author() { + const { change } = this; + if (!change.author) { + return 'Unknown'; + } + return `${change.author.fullName} <${change.authorEmail}>`; + } + + displayHeader() { + const { cli, result, change } = this; + cli.separator('Summary'); + cli.table('Result', resultName(result)); + cli.table('URL', this.jobUrl); + cli.table('Source', this.sourceURL); + cli.table('Commit', this.commit); + cli.table('Date', change.date); + cli.table('Author', this.author); + } + + displayFailure(failure) { + const { cli } = this; + const { url, reason } = failure; + cli.separator(getNodeName(url)); + cli.table('URL', url); + if (failure.type) { + cli.table('Type', failure.type); + } + if (failure.builtOn) { + cli.table('Built On', failure.builtOn); + } + if (!reason.includes('\n') && reason.length < 40) { + cli.table('Reason', chalk.red(reason)); + } else { + cli.table('Reason', ''); + const lines = reason.split('\n'); + cli.log(` ${chalk.red(lines[0])}`); + for (let i = 1; i < lines.length; ++i) { + cli.log(` ${lines[i]}`); + } + } + } + + displayBuilds() { + const { cli, failures, builds } = this; + for (const failure of failures) { + this.displayFailure(failure); + } + cli.separator('Other builds'); + for (const aborted of builds.aborted) { + cli.table('Aborted', getUrl(aborted.url)); + } + for (const pending of builds.pending) { + cli.table('Pending', getUrl(pending.url)); + } + for (const unstable of builds.unstable) { + cli.table('Unstable', getUrl(unstable.url)); + } + } + + display() { + this.displayHeader(); + this.displayBuilds(); + } + + formatAsMarkdown() { + if (this.result === statusType.SUCCESS) { + return `Job ${this.jobUrl} is green.`; + } + const { failures } = this; + let output = `Failures in job ${this.jobUrl}\n\n`; + for (const failure of failures) { + output += `#### [${getNodeName(failure.url)}](${failure.url})`; + if (!failure.reason.includes('\n') && failure.reason.length < 20) { + const builtOn = failure.builtOn ? `On ${failure.builtOn}: ` : ''; + output += `\n\n${builtOn}${failure.reason}\n`; + } else { + output += '\n\n'; + const builtOn = failure.builtOn ? ` on ${failure.builtOn}:` : ''; + output += fold(`See failures${builtOn}`, failure.reason) + '\n\n'; + } + } + return output; + } + + formatAsJson() { + const { jobUrl, failures, sourceURL } = this; + + const result = failures.map(item => Object.assign({ + source: sourceURL, + upstream: jobUrl + }, item)); + + return JSON.parse(JSON.stringify(result)); + } +} + +module.exports = { TestBuild }; diff --git a/lib/ci/ci_result_parser.js b/lib/ci/ci_result_parser.js index 3ac57007..47721494 100644 --- a/lib/ci/ci_result_parser.js +++ b/lib/ci/ci_result_parser.js @@ -1,9 +1,6 @@ 'use strict'; -const { - parsePRFromURL -} = require('../links'); -const Cache = require('../cache'); +const { parsePRFromURL } = require('../links'); const CIFailureParser = require('./ci_failure_parser'); const { FAILURE_TYPES: { @@ -17,7 +14,6 @@ const { [NCU_FAILURE]: NCUFailure, [RESUME_FAILURE]: ResumeFailure }, - CIResult, FAILURE_TYPES_NAME } = CIFailureParser; const { @@ -26,337 +22,27 @@ const { CI_TYPES } = require('./ci_type_parser'); const { - flatten, - shortSha -} = require('../utils'); + BUILD_TREE, + COMMIT_TREE, + FANNED_TREE, + LINTER_TREE, + PR_TREE, + RUN_TREE +} = require('./jenkins_constants'); +const { fold, statusType, pad } = require('./ci_utils'); + +const { Job, jobCache } = require('./build-types/job'); +const { TestBuild } = require('./build-types/test_build'); +const { CITGMBuild } = require('./build-types/citgm_build'); +const { flatten } = require('../utils'); const qs = require('querystring'); const _ = require('lodash'); const chalk = require('chalk'); -const SUCCESS = 'SUCCESS'; -const FAILURE = 'FAILURE'; -const ABORTED = 'ABORTED'; -const UNSTABLE = 'UNSTABLE'; - -// com.tikal.jenkins.plugins.multijob.MultiJobBuild -const BUILD_FIELDS = 'builtOn,buildNumber,jobName,result,url'; -const ACTION_TREE = 'actions[parameters[name,value]]'; -const CHANGE_FIELDS = 'commitId,author[absoluteUrl,fullName],authorEmail,' + - 'msg,date'; -const CHANGE_TREE = `changeSet[items[${CHANGE_FIELDS}]]`; -const PR_TREE = - `result,url,number,${ACTION_TREE},${CHANGE_TREE},builtOn,` + - `subBuilds[${BUILD_FIELDS},build[subBuilds[${BUILD_FIELDS}]]]`; -const COMMIT_TREE = - `result,url,number,${ACTION_TREE},${CHANGE_TREE},builtOn,` + - `subBuilds[${BUILD_FIELDS}]`; -const CITGM_MAIN_TREE = - `result,url,number,${ACTION_TREE},${CHANGE_TREE},builtOn`; - -// com.tikal.jenkins.plugins.multijob.MultiJobBuild -const FANNED_TREE = - `result,url,number,subBuilds[phaseName,${BUILD_FIELDS}]`; - -// hudson.matrix.MatrixBuild -const BUILD_TREE = 'result,runs[url,number,result],builtOn'; -const LINTER_TREE = 'result,url,number,builtOn'; -const CAUSE_TREE = 'upstreamBuild,upstreamProject,shortDescription,_class'; -const RUN_TREE = `actions[causes[${CAUSE_TREE}]],builtOn`; - -// hudson.tasks.test.MatrixTestResult -const RESULT_TREE = 'result[suites[cases[name,status]]]'; -const CITGM_REPORT_TREE = - `failCount,skipCount,totalCount,childReports[child[url],${RESULT_TREE}]`; - function getPath(url) { return url.replace(`https://${CI_DOMAIN}/`, '').replace('api/json', ''); } -function getUrl(path) { - return `https://${CI_DOMAIN}/${getPath(path)}`; -} - -function resultName(result) { - return result === null ? 'PENDING' : result.toUpperCase(); -} - -function fold(summary, code) { - const dataBlock = '```\n' + code + '\n```'; - const summaryBlock = `\n${summary}\n`; - return `
${summaryBlock}\n${dataBlock}\n
`; -} - -function getNodeName(url) { - const re = /\/nodes=(.+?)\//; - if (re.test(url)) { - return url.match(re)[1]; - } - const parts = url.split('/'); - return parts[parts.length - 3]; -} - -class Job { - constructor(cli, request, path, tree) { - this.cli = cli; - this.request = request; - this.path = path; - this.tree = tree; - } - - get jobUrl() { - const { path } = this; - return `https://${CI_DOMAIN}/${path}`; - } - - get apiUrl() { - const { tree } = this; - const query = tree ? `?tree=${qs.escape(tree)}` : ''; - return `${this.jobUrl}api/json${query}`; - } - - get consoleUrl() { - const { path } = this; - return `https://${CI_DOMAIN}/${path}consoleText`; - } - - get consoleUIUrl() { - const { path } = this; - return `https://${CI_DOMAIN}/${path}console`; - } - - async getBuildData(type = 'Build') { - const { cli, path } = this; - cli.startSpinner(`Querying data for ${path}`); - const data = await this.getAPIData(); - cli.stopSpinner(`${type} data downloaded`); - return data; - } - - getCause(actions) { - if (actions && actions.find(item => item.causes)) { - const action = actions.find(item => item.causes); - return action.causes[0]; - } - } - - async getAPIData() { - const { cli, request, path } = this; - const url = this.apiUrl; - cli.updateSpinner(`Querying API for ${path}`); - return request.json(url); - } - - async getConsoleText() { - const { cli, request, path } = this; - cli.updateSpinner(`Querying console text for ${path}`); - const data = await request.text(this.consoleUrl); - return data.replace(/\r/g, ''); - } - - getCacheKey() { - return this.path - .replace(/job\//, '') - .replace(/\//g, '-') - .replace(/-$/, ''); - } - - async parseConsoleText() { - let text; - try { - text = await this.getConsoleText(); - } catch (err) { - this.failures = [ - new NCUFailure({ - url: this.consoleUrl, builtOn: this.builtOn - }, err.message) - ]; - return this.failures; - } - - const parser = new CIFailureParser(this, text); - let results = parser.parse(); - if (!results) { - results = [ - new CIResult({ url: this.jobUrl, builtOn: this.builtOn }, 'Unknown') - ]; - } - - this.failures = results; - return results; - } -} - -// TODO(joyeecheung): do not cache pending jobs -const jobCache = new Cache(); -jobCache.wrap(Job, { - getConsoleText() { - return { key: this.getCacheKey(), ext: '.txt' }; - }, - getAPIData() { - return { key: this.getCacheKey(), ext: '.json' }; - } -}); - -class TestBuild extends Job { - constructor(cli, request, path, tree) { - super(cli, request, path, tree); - - // Should be assigned in getResults() - this.result = null; - this.params = {}; - this.change = {}; - this.date = undefined; - this.builds = { - failed: [], aborted: [], pending: [], unstable: [] - }; - this.failures = []; - this.builtOn = undefined; - } - - setBuildData({ result, changeSet, actions, timestamp, builtOn }) { - const params = actions.find(item => typeof item.parameters === 'object'); - params.parameters.forEach(pair => { - this.params[pair.name] = pair.value; - }); - - this.change = changeSet.items[0] || {}; - this.date = new Date(timestamp); - this.result = result; - this.builtOn = builtOn; - } - - get sourceURL() { - const { params } = this; - - if (params.PR_ID) { // from a node-test-pull-request build - const owner = params.TARGET_GITHUB_ORG; - const repo = params.TARGET_REPO_NAME; - const prid = params.PR_ID; - return `https://github.com/${owner}/${repo}/pull/${prid}/`; - } - - if (params.GITHUB_ORG) { // from a node-test-commit build - const owner = params.GITHUB_ORG; - const repo = params.REPO_NAME; - const prm = params.GIT_REMOTE_REF.match(/refs\/pull\/(\d+)\/head/); - if (prm) { - return `https://github.com/${owner}/${repo}/pull/${prm[1]}/`; - } else { - const result = - `https://api.github.com/repos/${owner}/${repo}/git/` + - params.GIT_REMOTE_REF; - return result; - } - } - } - - get commit() { - const { change } = this; - if (!change.commitId) { - return 'Unknown'; - } - return `[${shortSha(change.commitId)}] ${change.msg}`; - } - - get author() { - const { change } = this; - if (!change.author) { - return 'Unknown'; - } - return `${change.author.fullName} <${change.authorEmail}>`; - } - - displayHeader() { - const { cli, result, change } = this; - cli.separator('Summary'); - cli.table('Result', resultName(result)); - cli.table('URL', this.jobUrl); - cli.table('Source', this.sourceURL); - cli.table('Commit', this.commit); - cli.table('Date', change.date); - cli.table('Author', this.author); - } - - displayFailure(failure) { - const { cli } = this; - const { url, reason } = failure; - cli.separator(getNodeName(url)); - cli.table('URL', url); - if (failure.type) { - cli.table('Type', failure.type); - } - if (failure.builtOn) { - cli.table('Built On', failure.builtOn); - } - if (!reason.includes('\n') && reason.length < 40) { - cli.table('Reason', chalk.red(reason)); - } else { - cli.table('Reason', ''); - const lines = reason.split('\n'); - cli.log(` ${chalk.red(lines[0])}`); - for (let i = 1; i < lines.length; ++i) { - cli.log(` ${lines[i]}`); - } - } - } - - displayBuilds() { - const { cli, failures, builds } = this; - for (const failure of failures) { - if (failure !== undefined) { - this.displayFailure(failure); - } - } - cli.separator('Other builds'); - for (const aborted of builds.aborted) { - cli.table('Aborted', getUrl(aborted.url)); - } - for (const pending of builds.pending) { - cli.table('Pending', getUrl(pending.url)); - } - for (const unstable of builds.unstable) { - cli.table('Unstable', getUrl(unstable.url)); - } - } - - display() { - this.displayHeader(); - this.displayBuilds(); - } - - formatAsMarkdown() { - if (this.result === SUCCESS) { - return `Job ${this.jobUrl} is green.`; - } - const { failures } = this; - let output = `Failures in job ${this.jobUrl}\n\n`; - for (const failure of failures) { - if (failure === undefined) continue; - output += `#### [${getNodeName(failure.url)}](${failure.url})`; - if (!failure.reason.includes('\n') && failure.reason.length < 20) { - const builtOn = failure.builtOn ? `On ${failure.builtOn}: ` : ''; - output += `\n\n${builtOn}${failure.reason}\n`; - } else { - output += '\n\n'; - const builtOn = failure.builtOn ? ` on ${failure.builtOn}:` : ''; - output += fold(`See failures${builtOn}`, failure.reason) + '\n\n'; - } - } - return output; - } - - formatAsJson() { - const { jobUrl, failures, sourceURL } = this; - - const result = failures.map(item => Object.assign({ - source: sourceURL, - upstream: jobUrl - }, item)); - - return JSON.parse(JSON.stringify(result)); - } -} - function getHighlight(f) { if (!f.reason) { f.reason = 'failure not found'; @@ -394,10 +80,6 @@ function getMachineUrl(name) { return `[${name}](https://${CI_DOMAIN}/computer/${name}/)`; } -function pad(any, length) { - return (any + '').padEnd(length); -} - const kHealthKeys = ['success', 'pending', 'aborted', 'failed', 'unstable']; class Health { constructor(builds) { @@ -597,17 +279,25 @@ class CommitBuild extends TestBuild { } getBuilds({ result, subBuilds }) { - if (result === SUCCESS) { + if (result === statusType.SUCCESS) { const builds = this.builds = { failed: [], aborted: [], pending: [], unstable: [] }; - return { result: SUCCESS, builds }; + return { result: statusType.SUCCESS, builds }; } - const failed = subBuilds.filter(build => build.result === FAILURE); - const aborted = subBuilds.filter(build => build.result === ABORTED); - const pending = subBuilds.filter(build => build.result === null); - const unstable = subBuilds.filter(build => build.result === UNSTABLE); + const failed = subBuilds.filter(build => { + return build.result === statusType.FAILURE; + }); + const aborted = subBuilds.filter(build => { + return build.result === statusType.ABORTED; + }); + const pending = subBuilds.filter(build => { + return build.result === null; + }); + const unstable = subBuilds.filter(build => { + return build.result === statusType.UNSTABLE; + }); // build: { buildNumber, jobName, result, url } const builds = this.builds = { failed, aborted, pending, unstable }; @@ -630,7 +320,7 @@ class CommitBuild extends TestBuild { } this.setBuildData(data); // No builds at all - if (data.result === FAILURE && !data.subBuilds.length) { + if (data.result === statusType.FAILURE && !data.subBuilds.length) { const failure = new BuildFailure(this, 'Failed to trigger sub builds'); this.failures = [failure]; return { @@ -642,7 +332,7 @@ class CommitBuild extends TestBuild { const { result, builds } = this.getBuilds(data); - if (result !== FAILURE) { + if (result !== statusType.FAILURE) { return { result, builds, failures: [] }; } @@ -759,164 +449,6 @@ class PRBuild extends TestBuild { } } -class CITGMBuild extends TestBuild { - constructor(cli, request, job) { - const { jobid, noBuild } = job; - const path = noBuild - ? `job/citgm-smoker-nobuild/${jobid}/` - : `job/citgm-smoker/${jobid}/`; - - const tree = CITGM_MAIN_TREE; - - super(cli, request, path, tree); - - this.id = jobid; - this.noBuild = noBuild; - } - - async getResults() { - let headerData; - try { - headerData = await this.getBuildData('Summary'); - } catch (err) { - this.failures = [ - new NCUFailure({ url: this.apiUrl }, err.message) - ]; - return this.failures; - } - const { result } = headerData; - - this.setBuildData(headerData); - - // CITGM jobs store results in a different location than - // they do summary data, so we need to update the endpoint - // and issue a second API call in order to fetch result data. - this.tree = CITGM_REPORT_TREE; - this.updatePath(true); - - let resultData; - try { - resultData = await this.getBuildData('Results'); - } catch (err) { - this.failures = [ - new NCUFailure({ url: this.apiUrl }, err.message) - ]; - return this.failures; - } - - this.results = this.parseResults(resultData); - - // Update id again so that it correctly displays in Summary output. - this.updatePath(false); - - return { result }; - } - - parseResults(data) { - const { childReports, totalCount, skipCount, failCount } = data; - const results = { all: {}, failures: {}, statistics: {} }; - - const passCount = totalCount - failCount - skipCount; - results.statistics.passed = passCount; - results.statistics.total = totalCount; - results.statistics.skipped = skipCount; - results.statistics.failed = failCount; - - childReports.forEach(platform => { - const cases = flatten(platform.result.suites[0].cases); - const url = platform.child.url; - const nodeName = getNodeName(url); - - results.all[nodeName] = { url, modules: cases }; - - const failedModules = cases.filter(c => c.status === 'FAILED'); - results.failures[nodeName] = { url, modules: failedModules }; - }); - - return results; - } - - updatePath(testReport) { - const { id, noBuild } = this; - if (testReport) { - this.path = noBuild - ? `job/citgm-smoker-nobuild/${id}/testReport/` - : `job/citgm-smoker/${id}/testReport/`; - } else { - this.path = noBuild - ? `job/citgm-smoker-nobuild/${id}/` - : `job/citgm-smoker/${id}/`; - } - } - - displayBuilds() { - const { cli, results } = this; - const { failed, skipped, passed, total } = results.statistics; - - cli.separator('Statistics'); - console.table({ - Failed: failed, - Skipped: skipped, - Passed: passed, - Total: total - }); - - cli.separator('Failures'); - const output = {}; - for (const platform in results.failures) { - const modules = results.failures[platform].modules; - const failures = modules.map(f => f.name); - - output[platform] = failures; - } - - console.table(output); - } - - formatAsJson() { - const { jobUrl, results, sourceURL } = this; - - const result = { - source: sourceURL, - upstream: jobUrl, - ...results.statistics, - ...results.failures - }; - - return JSON.parse(JSON.stringify(result)); - } - - formatAsMarkdown() { - const { jobUrl, result, results, id } = this; - - let output = `# CITGM Data for [${id}](${jobUrl})\n\n`; - - const { failed, skipped, passed, total } = results.statistics; - - output += `## Statistics for job [${id}](${jobUrl})\n\n`; - output += '| FAILED | SKIPPED | PASSED | TOTAL |\n'; - output += '| -------- | --------- | -------- | ------- |\n'; - output += `| ${pad(failed, 8)} | ${pad(skipped, 9)} |`; - output += ` ${pad(passed, 8)} | ${pad(total, 7)} |\n\n`; - - if (result === SUCCESS) { - output += `Job [${id}](${jobUrl}) is green.`; - return output; - } - - output += `## Failures in job [${id}](${jobUrl})\n\n`; - for (const failure in results.failures) { - const data = results.failures[failure]; - output += `### [${failure}](${data.url})\n\n`; - - const failures = data.modules.map(f => `* ${f.name}`); - const items = failures.length > 0 ? `${failures.join('\n')}` : 'None.'; - output += `${items}\n\n`; - } - return output; - } -} - class DailyBuild extends TestBuild { constructor(cli, request, id) { const path = `job/node-daily-master/${id}/`; @@ -955,11 +487,11 @@ async function listBuilds(cli, request, type) { const result = await request.json(url); const builds = result.builds; - const failed = filterBuild(builds, FAILURE); - const aborted = filterBuild(builds, ABORTED); + const failed = filterBuild(builds, statusType.FAILURE); + const aborted = filterBuild(builds, statusType.ABORTED); const pending = filterBuild(builds, null); - const unstable = filterBuild(builds, UNSTABLE); - const success = filterBuild(builds, SUCCESS); + const unstable = filterBuild(builds, statusType.UNSTABLE); + const success = filterBuild(builds, statusType.SUCCESS); cli.stopSpinner('Done'); return { @@ -1006,7 +538,9 @@ class FannedBuild extends Job { return this.failures; } - const failedPhase = data.subBuilds.find(build => build.result === FAILURE); + const failedPhase = data.subBuilds.find(build => { + return build.result === statusType.FAILURE; + }); if (!failedPhase) { return this.parseConsoleText(); @@ -1088,7 +622,7 @@ class NormalBuild extends Job { const { result, runs, builtOn } = data; this.builtOn = builtOn; - if (result !== FAILURE) { + if (result !== statusType.FAILURE) { this.failures = []; return this.failures; } @@ -1104,7 +638,9 @@ class NormalBuild extends Job { return this.failures; } - const failed = runs.filter(run => run.result === FAILURE); + const failed = runs.filter(run => { + return run.result === statusType.FAILURE; + }); if (!failed.length) { return this.parseConsoleText(); diff --git a/lib/ci/ci_utils.js b/lib/ci/ci_utils.js new file mode 100644 index 00000000..12d9d630 --- /dev/null +++ b/lib/ci/ci_utils.js @@ -0,0 +1,32 @@ +function getNodeName(url) { + const re = /\/nodes=(.+?)\//; + if (re.test(url)) { + return url.match(re)[1]; + } + const parts = url.split('/'); + return parts[parts.length - 3]; +} + +function fold(summary, code) { + const dataBlock = '```\n' + code + '\n```'; + const summaryBlock = `\n${summary}\n`; + return `
${summaryBlock}\n${dataBlock}\n
`; +} + +function pad(any, length) { + return (any + '').padEnd(length); +} + +const statusType = { + SUCCESS: 'SUCCESS', + FAILURE: 'FAILURE', + ABORTED: 'ABORTED', + UNSTABLE: 'UNSTABLE' +}; + +module.exports = { + fold, + getNodeName, + pad, + statusType +}; diff --git a/lib/ci/jenkins_constants.js b/lib/ci/jenkins_constants.js new file mode 100644 index 00000000..ae3d18fc --- /dev/null +++ b/lib/ci/jenkins_constants.js @@ -0,0 +1,39 @@ +// com.tikal.jenkins.plugins.multijob.MultiJobBuild +const BUILD_FIELDS = 'builtOn,buildNumber,jobName,result,url'; +const ACTION_TREE = 'actions[parameters[name,value]]'; +const CHANGE_FIELDS = 'commitId,author[absoluteUrl,fullName],authorEmail,' + + 'msg,date'; +const CHANGE_TREE = `changeSet[items[${CHANGE_FIELDS}]]`; +const PR_TREE = + `result,url,number,${ACTION_TREE},${CHANGE_TREE},builtOn,` + + `subBuilds[${BUILD_FIELDS},build[subBuilds[${BUILD_FIELDS}]]]`; +const COMMIT_TREE = + `result,url,number,${ACTION_TREE},${CHANGE_TREE},builtOn,` + + `subBuilds[${BUILD_FIELDS}]`; +const CITGM_MAIN_TREE = + `result,url,number,${ACTION_TREE},${CHANGE_TREE},builtOn`; + +const FANNED_TREE = + `result,url,number,subBuilds[phaseName,${BUILD_FIELDS}]`; + +// hudson.tasks.test.MatrixTestResult +const RESULT_TREE = 'result[suites[cases[name,status]]]'; +const CITGM_REPORT_TREE = +`failCount,skipCount,totalCount,childReports[child[url],${RESULT_TREE}]`; + +// hudson.matrix.MatrixBuild +const BUILD_TREE = 'result,runs[url,number,result],builtOn'; +const LINTER_TREE = 'result,url,number,builtOn'; +const CAUSE_TREE = 'upstreamBuild,upstreamProject,shortDescription,_class'; +const RUN_TREE = `actions[causes[${CAUSE_TREE}]],builtOn`; + +module.exports = { + PR_TREE, + COMMIT_TREE, + CITGM_MAIN_TREE, + FANNED_TREE, + CITGM_REPORT_TREE, + BUILD_TREE, + LINTER_TREE, + RUN_TREE +}; From 08b01adead389ece3deea32c6e2cb9cb4df0cb1a Mon Sep 17 00:00:00 2001 From: Shelley Vohr Date: Thu, 9 Jul 2020 22:52:26 -0700 Subject: [PATCH 2/8] feat: enable citgm run comparisons --- bin/ncu-ci | 21 ++- lib/ci/build-types/citgm_build.js | 2 +- lib/ci/build-types/citgm_comparison_build.js | 138 +++++++++++++++++++ lib/ci/ci_result_parser.js | 4 + 4 files changed, 162 insertions(+), 3 deletions(-) create mode 100644 lib/ci/build-types/citgm_comparison_build.js diff --git a/bin/ncu-ci b/bin/ncu-ci index 804e5f99..42e485fc 100755 --- a/bin/ncu-ci +++ b/bin/ncu-ci @@ -21,6 +21,7 @@ const { CommitBuild, CITGMBuild, DailyBuild, + CITGMComparisonBuild, HealthBuild, listBuilds, FailureAggregator, @@ -132,13 +133,17 @@ const argv = yargs handler }) .command({ - command: 'citgm ', + command: 'citgm [jobid2]', desc: 'Show results of a citgm-smoker CI job', builder: (yargs) => { yargs .positional('jobid', { describe: 'id of the job', type: 'number' + }) + .positional('jobid2', { + describe: 'id of the second job, if doing a comparison', + type: 'number' }); }, handler @@ -241,7 +246,12 @@ class CICommand { break; case CITGM: case CITGM_NOBUILD: - build = new CITGMBuild(cli, request, job); + if (job.jobid2) { + const ids = [job.jobid, job.jobid2]; + build = new CITGMComparisonBuild(cli, request, ids); + } else { + build = new CITGMBuild(cli, request, job.jobid); + } break; case BENCHMARK: build = new BenchmarkRun(cli, request, job.jobid); @@ -365,6 +375,7 @@ class JobCommand extends CICommand { queue.push({ type: commandToType[this.command], +<<<<<<< HEAD <<<<<<< HEAD jobid: this.argv.jobid, noBuild: this.argv.nobuild || false @@ -373,6 +384,12 @@ class JobCommand extends CICommand { ======= jobid: argv.jobid >>>>>>> refactor: pull some builds into own files +||||||| merged common ancestors + jobid: argv.jobid +======= + jobid: argv.jobid, + jobid2: argv.jobid2 +>>>>>>> feat: enable citgm run comparisons }); } } diff --git a/lib/ci/build-types/citgm_build.js b/lib/ci/build-types/citgm_build.js index 513b3178..9aef8140 100644 --- a/lib/ci/build-types/citgm_build.js +++ b/lib/ci/build-types/citgm_build.js @@ -13,7 +13,7 @@ const { FAILURE_CONSTRUCTORS: { [NCU_FAILURE]: NCUFailure } -} = require('./ci_failure_parser'); +} = require('../ci_failure_parser'); class CITGMBuild extends TestBuild { constructor(cli, request, id) { diff --git a/lib/ci/build-types/citgm_comparison_build.js b/lib/ci/build-types/citgm_comparison_build.js new file mode 100644 index 00000000..84b15d2c --- /dev/null +++ b/lib/ci/build-types/citgm_comparison_build.js @@ -0,0 +1,138 @@ +'use strict'; + +const { statusType } = require('../ci_utils'); +const { CITGMBuild } = require('./citgm_build'); + +class CITGMComparisonBuild { + constructor(cli, request, ids) { + const baseBuild = new CITGMBuild(cli, request, ids[0]); + const comparisonBuild = new CITGMBuild(cli, request, ids[1]); + + this.cli = cli; + this.builds = { baseBuild, comparisonBuild }; + this.results = {}; + this.ids = ids; + } + + async getResults() { + const { builds } = this; + const { baseBuild, comparisonBuild } = builds; + + // Result in a comparison context reflects + // whether or not there were failures in + // comparisonBuild not present in baseBuild, + // e.g if there were new failures. + let result = statusType.SUCCESS; + + await baseBuild.getResults(); + await comparisonBuild.getResults(); + + const { failures: baseFailures } = baseBuild.results; + const { failures: comparisonFailures } = comparisonBuild.results; + + const failures = {}; + for (const platform in baseFailures) { + const { modules: baseModules } = comparisonFailures[platform]; + const { modules: comparisonModules } = comparisonFailures[platform]; + + const newFailures = comparisonModules.filter(f => { + return !baseModules.includes(f.name); + }); + + if (newFailures.length !== 0) { + result = statusType.FAILURE; + } + + failures[platform] = newFailures; + } + + this.results.failures = failures; + this.result = result; + + return result; + } + + display() { + const { builds } = this; + + // Display header for both CITGM runs. + builds.baseBuild.displayHeader(); + builds.comparisonBuild.displayHeader(); + + this.displayBuilds(); + } + + displayBuilds() { + const { builds, cli, results, result } = this; + + const baseID = builds.baseBuild.id; + const comparisonID = builds.comparisonBuild.id; + + cli.separator('Results'); + + if (result === statusType.SUCCESS) { + cli.log('\n\n'); + const str = `No new failures in ${baseID} compared to ${comparisonID}`; + cli.log(`${statusType.SUCCESS}: ${str}\n\n`); + return; + } + + const output = {}; + for (const platform in results.failures) { + const modules = results.failures[platform]; + const failures = modules.map(f => f.name); + + output[platform] = failures; + } + + console.table(output); + } + + formatAsJson() { + const { builds, results } = this; + const { baseBuild, comparisonBuild } = builds; + + const result = { + baseBuild: { + source: baseBuild.sourceURL, + upstream: comparisonBuild.jobUrl + }, + comparisonBuild: { + source: comparisonBuild.sourceURL, + upstream: baseBuild.jobUrl + }, + ...results.failures + }; + + return JSON.parse(JSON.stringify(result)); + } + + formatAsMarkdown() { + const { builds, result, results } = this; + const { baseBuild, comparisonBuild } = builds; + + const bLink = `[#${baseBuild.id}](${baseBuild.jobUrl})`; + const cLink = `[#${comparisonBuild.id}](${comparisonBuild.jobUrl})`; + + let output = `# CITGM Data for ${bLink} - ${cLink}\n\n`; + + if (result === 'success') { + const bID = baseBuild.id; + const cID = comparisonBuild.id; + output += `No new failures in ${cID} compared to ${bID}`; + return output; + } + + output += `## New Failures in job ${cLink}\n\n`; + for (const failure in results.failures) { + const data = results.failures[failure]; + output += `### ${failure}\n\n`; + + const failures = data.map(f => `* ${f.name}`); + output += failures.length ? `${failures.join('\n')}\n\n` : 'None.\n\n'; + } + return output; + } +} + +module.exports = { CITGMComparisonBuild }; diff --git a/lib/ci/ci_result_parser.js b/lib/ci/ci_result_parser.js index 47721494..a99f791b 100644 --- a/lib/ci/ci_result_parser.js +++ b/lib/ci/ci_result_parser.js @@ -34,6 +34,9 @@ const { fold, statusType, pad } = require('./ci_utils'); const { Job, jobCache } = require('./build-types/job'); const { TestBuild } = require('./build-types/test_build'); const { CITGMBuild } = require('./build-types/citgm_build'); +const { + CITGMComparisonBuild +} = require('./build-types/citgm_comparison_build'); const { flatten } = require('../utils'); const qs = require('querystring'); const _ = require('lodash'); @@ -775,6 +778,7 @@ module.exports = { CommitBuild, CITGMBuild, DailyBuild, + CITGMComparisonBuild, HealthBuild, jobCache, parseJobFromURL, From 5148297b3936b1375ebd7507a5323d31d4345ab6 Mon Sep 17 00:00:00 2001 From: Shelley Vohr Date: Thu, 9 Jul 2020 23:06:51 -0700 Subject: [PATCH 3/8] spec: add tests for comparisons --- lib/ci/build-types/citgm_build.js | 1 - lib/ci/build-types/citgm_comparison_build.js | 2 +- lib/ci/build-types/test_build.js | 15 +- .../citgm-smoker-2390-testReport.json | 3959 +++++++++++++++++ .../citgm-compare/citgm-smoker-2390.json | 367 ++ .../citgm-smoker-2392-testReport.json | 3081 +++++++++++++ .../citgm-compare/citgm-smoker-2392.json | 349 ++ .../jenkins/citgm-compare/expected.json | 49 + .../jenkins/citgm-compare/expected.md | 35 + test/unit/ci_result_parser.test.js | 27 +- 10 files changed, 7880 insertions(+), 5 deletions(-) create mode 100644 test/fixtures/jenkins/citgm-compare/citgm-smoker-2390-testReport.json create mode 100644 test/fixtures/jenkins/citgm-compare/citgm-smoker-2390.json create mode 100644 test/fixtures/jenkins/citgm-compare/citgm-smoker-2392-testReport.json create mode 100644 test/fixtures/jenkins/citgm-compare/citgm-smoker-2392.json create mode 100644 test/fixtures/jenkins/citgm-compare/expected.json create mode 100644 test/fixtures/jenkins/citgm-compare/expected.md diff --git a/lib/ci/build-types/citgm_build.js b/lib/ci/build-types/citgm_build.js index 9aef8140..44ad04fa 100644 --- a/lib/ci/build-types/citgm_build.js +++ b/lib/ci/build-types/citgm_build.js @@ -17,7 +17,6 @@ const { class CITGMBuild extends TestBuild { constructor(cli, request, id) { - // There will always be at least one job id. const path = `job/citgm-smoker/${id}/`; const tree = CITGM_MAIN_TREE; diff --git a/lib/ci/build-types/citgm_comparison_build.js b/lib/ci/build-types/citgm_comparison_build.js index 84b15d2c..15450697 100644 --- a/lib/ci/build-types/citgm_comparison_build.js +++ b/lib/ci/build-types/citgm_comparison_build.js @@ -32,7 +32,7 @@ class CITGMComparisonBuild { const failures = {}; for (const platform in baseFailures) { - const { modules: baseModules } = comparisonFailures[platform]; + const { modules: baseModules } = baseFailures[platform]; const { modules: comparisonModules } = comparisonFailures[platform]; const newFailures = comparisonModules.filter(f => { diff --git a/lib/ci/build-types/test_build.js b/lib/ci/build-types/test_build.js index 14addca7..62ed3197 100644 --- a/lib/ci/build-types/test_build.js +++ b/lib/ci/build-types/test_build.js @@ -1,5 +1,6 @@ -const chalk = require('chalk'); +'use strict'; +const chalk = require('chalk'); const { Job } = require('./job'); const { shortSha } = require('../../utils'); const { @@ -46,6 +47,13 @@ class TestBuild extends Job { this.builtOn = builtOn; } + setDailyBuildData({ result, changeSet, actions, timestamp, builtOn }) { + this.change = changeSet.items[0] || {}; + this.date = new Date(timestamp); + this.result = result; + this.builtOn = builtOn; + } + get sourceURL() { const { params } = this; @@ -124,7 +132,9 @@ class TestBuild extends Job { displayBuilds() { const { cli, failures, builds } = this; for (const failure of failures) { - this.displayFailure(failure); + if (failure !== undefined) { + this.displayFailure(failure); + } } cli.separator('Other builds'); for (const aborted of builds.aborted) { @@ -150,6 +160,7 @@ class TestBuild extends Job { const { failures } = this; let output = `Failures in job ${this.jobUrl}\n\n`; for (const failure of failures) { + if (failure === undefined) continue; output += `#### [${getNodeName(failure.url)}](${failure.url})`; if (!failure.reason.includes('\n') && failure.reason.length < 20) { const builtOn = failure.builtOn ? `On ${failure.builtOn}: ` : ''; diff --git a/test/fixtures/jenkins/citgm-compare/citgm-smoker-2390-testReport.json b/test/fixtures/jenkins/citgm-compare/citgm-smoker-2390-testReport.json new file mode 100644 index 00000000..8bfd109d --- /dev/null +++ b/test/fixtures/jenkins/citgm-compare/citgm-smoker-2390-testReport.json @@ -0,0 +1,3959 @@ +{ + "_class":"hudson.tasks.test.MatrixTestResult", + "failCount":19, + "skipCount":292, + "totalCount":954, + "childReports":[ + { + "child":{ + "_class":"hudson.matrix.MatrixRun", + "url":"https://ci.nodejs.org/job/citgm-smoker/nodes=centos7-ppcle/2390/" + }, + "result":{ + "_class":"hudson.tasks.junit.TestResult", + "suites":[ + { + "cases":[ + { + "name":"JSONStream-v1.3.5", + "status":"PASSED" + }, + { + "name":"acorn", + "status":"SKIPPED" + }, + { + "name":"async", + "status":"SKIPPED" + }, + { + "name":"ava", + "status":"SKIPPED" + }, + { + "name":"bcrypt-v5.0.0", + "status":"PASSED" + }, + { + "name":"binary-split-v1.0.5", + "status":"PASSED" + }, + { + "name":"bl-v4.0.2", + "status":"PASSED" + }, + { + "name":"@nearform/flame-v6.0.1", + "status":"PASSED" + }, + { + "name":"@nearform/doctor-v5.0.2", + "status":"SKIPPED" + }, + { + "name":"blake2b-wasm-v2.1.0", + "status":"PASSED" + }, + { + "name":"body-parser-v1.19.0", + "status":"PASSED" + }, + { + "name":"bson", + "status":"SKIPPED" + }, + { + "name":"bluebird-v3.7.2", + "status":"PASSED" + }, + { + "name":"bufferutil-v4.0.1", + "status":"PASSED" + }, + { + "name":"@nearform/bubbleprof-v4.0.2", + "status":"SKIPPED" + }, + { + "name":"cheerio-v1.0.0-rc.3", + "status":"PASSED" + }, + { + "name":"commander", + "status":"SKIPPED" + }, + { + "name":"browserify-v16.5.1", + "status":"PASSED" + }, + { + "name":"crc32-stream-v3.0.1", + "status":"PASSED" + }, + { + "name":"david", + "status":"SKIPPED" + }, + { + "name":"debug", + "status":"SKIPPED" + }, + { + "name":"dicer-v0.3.0", + "status":"PASSED" + }, + { + "name":"duplexer2-v0.1.4", + "status":"PASSED" + }, + { + "name":"duplexify-v4.1.1", + "status":"PASSED" + }, + { + "name":"coffeescript-v2.5.1", + "status":"PASSED" + }, + { + "name":"eslint", + "status":"SKIPPED" + }, + { + "name":"csv-parser-v2.3.3", + "status":"PASSED" + }, + { + "name":"esprima-v4.0.1", + "status":"PASSED" + }, + { + "name":"express-v4.17.1", + "status":"PASSED" + }, + { + "name":"express-session-v1.17.1", + "status":"PASSED" + }, + { + "name":"fastify-v2.14.1", + "status":"PASSED" + }, + { + "name":"ffi", + "status":"SKIPPED" + }, + { + "name":"flush-write-stream-v2.0.0", + "status":"PASSED" + }, + { + "name":"from2-v2.3.0", + "status":"PASSED" + }, + { + "name":"fs-extra", + "status":"SKIPPED" + }, + { + "name":"full-icu-test-v1.0.3", + "status":"PASSED" + }, + { + "name":"ember-cli-v3.18.0", + "status":"FAILED" + }, + { + "name":"got", + "status":"SKIPPED" + }, + { + "name":"graceful-fs", + "status":"SKIPPED" + }, + { + "name":"glob-v7.1.6", + "status":"PASSED" + }, + { + "name":"clinic-v6.0.2", + "status":"PASSED" + }, + { + "name":"gulp-util-v3.0.8", + "status":"PASSED" + }, + { + "name":"iconv-v3.0.0", + "status":"PASSED" + }, + { + "name":"inherits-v2.0.4", + "status":"PASSED" + }, + { + "name":"isarray-v2.0.5", + "status":"PASSED" + }, + { + "name":"gulp-v4.0.2", + "status":"PASSED" + }, + { + "name":"eslint-plugin-jest-v23.13.2", + "status":"PASSED" + }, + { + "name":"koa-v2.12.1", + "status":"PASSED" + }, + { + "name":"libxmljs", + "status":"SKIPPED" + }, + { + "name":"jquery-v3.5.1", + "status":"SKIPPED" + }, + { + "name":"level-v6.0.1", + "status":"PASSED" + }, + { + "name":"microtime-v3.0.0", + "status":"PASSED" + }, + { + "name":"lodash-v4.17.15", + "status":"PASSED" + }, + { + "name":"mkdirp", + "status":"SKIPPED" + }, + { + "name":"mocha", + "status":"SKIPPED" + }, + { + "name":"moment", + "status":"SKIPPED" + }, + { + "name":"minimist-v1.2.5", + "status":"PASSED" + }, + { + "name":"mime-v2.4.6", + "status":"PASSED" + }, + { + "name":"multer-v1.4.2", + "status":"FAILED" + }, + { + "name":"nan-v2.14.1", + "status":"PASSED" + }, + { + "name":"node-sass", + "status":"SKIPPED" + }, + { + "name":"node-report-v2.2.10", + "status":"PASSED" + }, + { + "name":"node-gyp-v7.0.0", + "status":"PASSED" + }, + { + "name":"pug-v3.0.0", + "status":"PASSED" + }, + { + "name":"pumpify-v2.0.1", + "status":"PASSED" + }, + { + "name":"q-v1.5.1", + "status":"PASSED" + }, + { + "name":"pino-v6.3.2", + "status":"PASSED" + }, + { + "name":"react", + "status":"SKIPPED" + }, + { + "name":"readable-stream", + "status":"SKIPPED" + }, + { + "name":"ref", + "status":"SKIPPED" + }, + { + "name":"path-to-regexp-v6.1.0", + "status":"PASSED" + }, + { + "name":"leveldown-v5.6.0", + "status":"PASSED" + }, + { + "name":"rewire-v5.0.0", + "status":"PASSED" + }, + { + "name":"rimraf-v3.0.2", + "status":"PASSED" + }, + { + "name":"router-v1.3.5", + "status":"PASSED" + }, + { + "name":"radium-v0.26.0", + "status":"PASSED" + }, + { + "name":"resolve-v1.17.0", + "status":"PASSED" + }, + { + "name":"sax-v1.2.4", + "status":"PASSED" + }, + { + "name":"shot-v4.0.7", + "status":"PASSED" + }, + { + "name":"semver-v7.3.2", + "status":"PASSED" + }, + { + "name":"spdy", + "status":"SKIPPED" + }, + { + "name":"spdy-transport", + "status":"SKIPPED" + }, + { + "name":"serialport-v9.0.0", + "status":"SKIPPED" + }, + { + "name":"sqlite3", + "status":"SKIPPED" + }, + { + "name":"stylus", + "status":"SKIPPED" + }, + { + "name":"spawn-wrap-v2.0.0", + "status":"PASSED" + }, + { + "name":"socket.io-v2.3.0", + "status":"PASSED" + }, + { + "name":"thread-sleep-v2.2.0", + "status":"PASSED" + }, + { + "name":"split2-v3.1.1", + "status":"PASSED" + }, + { + "name":"time", + "status":"SKIPPED" + }, + { + "name":"through2-v3.0.1", + "status":"PASSED" + }, + { + "name":"uglify-js", + "status":"SKIPPED" + }, + { + "name":"throughv-v1.0.4", + "status":"PASSED" + }, + { + "name":"tape-v5.0.1", + "status":"PASSED" + }, + { + "name":"vinyl-v2.2.0", + "status":"PASSED" + }, + { + "name":"vinyl-fs", + "status":"SKIPPED" + }, + { + "name":"torrent-stream-v1.2.0", + "status":"FAILED" + }, + { + "name":"weak", + "status":"SKIPPED" + }, + { + "name":"underscore-v1.10.2", + "status":"PASSED" + }, + { + "name":"uuid-v8.1.0", + "status":"PASSED" + }, + { + "name":"watchify-v3.11.1", + "status":"PASSED" + }, + { + "name":"ws-v7.3.0", + "status":"PASSED" + }, + { + "name":"zeromq", + "status":"SKIPPED" + }, + { + "name":"yargs-v15.3.1", + "status":"PASSED" + }, + { + "name":"winston-v3.2.1", + "status":"SKIPPED" + }, + { + "name":"yeoman-generator-v4.10.1", + "status":"PASSED" + } + ] + } + ] + } + }, + { + "child":{ + "_class":"hudson.matrix.MatrixRun", + "url":"https://ci.nodejs.org/job/citgm-smoker/nodes=fedora-latest-x64/2390/" + }, + "result":{ + "_class":"hudson.tasks.junit.TestResult", + "suites":[ + { + "cases":[ + { + "name":"@nearform/doctor-v5.0.2", + "status":"SKIPPED" + }, + { + "name":"@nearform/bubbleprof-v4.0.2", + "status":"SKIPPED" + }, + { + "name":"JSONStream-v1.3.5", + "status":"PASSED" + }, + { + "name":"@nearform/flame-v6.0.1", + "status":"SKIPPED" + }, + { + "name":"async", + "status":"SKIPPED" + }, + { + "name":"ava", + "status":"SKIPPED" + }, + { + "name":"bcrypt-v5.0.0", + "status":"PASSED" + }, + { + "name":"binary-split-v1.0.5", + "status":"PASSED" + }, + { + "name":"bl-v4.0.2", + "status":"PASSED" + }, + { + "name":"blake2b-wasm-v2.1.0", + "status":"PASSED" + }, + { + "name":"acorn-v7.3.1", + "status":"PASSED" + }, + { + "name":"bluebird-v3.7.2", + "status":"PASSED" + }, + { + "name":"body-parser-v1.19.0", + "status":"PASSED" + }, + { + "name":"bson", + "status":"SKIPPED" + }, + { + "name":"bufferutil-v4.0.1", + "status":"PASSED" + }, + { + "name":"cheerio-v1.0.0-rc.3", + "status":"PASSED" + }, + { + "name":"browserify-v16.5.1", + "status":"PASSED" + }, + { + "name":"coffeescript-v2.5.1", + "status":"PASSED" + }, + { + "name":"commander", + "status":"SKIPPED" + }, + { + "name":"crc32-stream-v3.0.1", + "status":"PASSED" + }, + { + "name":"csv-parser-v2.3.3", + "status":"PASSED" + }, + { + "name":"david", + "status":"SKIPPED" + }, + { + "name":"debug-v4.1.1", + "status":"PASSED" + }, + { + "name":"dicer-v0.3.0", + "status":"PASSED" + }, + { + "name":"duplexer2-v0.1.4", + "status":"PASSED" + }, + { + "name":"duplexify-v4.1.1", + "status":"PASSED" + }, + { + "name":"clinic-v6.0.2", + "status":"PASSED" + }, + { + "name":"eslint", + "status":"SKIPPED" + }, + { + "name":"ember-cli-v3.18.0", + "status":"PASSED" + }, + { + "name":"eslint-plugin-jest-v23.13.2", + "status":"PASSED" + }, + { + "name":"express-v4.17.1", + "status":"PASSED" + }, + { + "name":"esprima-v4.0.1", + "status":"PASSED" + }, + { + "name":"express-session-v1.17.1", + "status":"PASSED" + }, + { + "name":"ffi", + "status":"SKIPPED" + }, + { + "name":"flush-write-stream-v2.0.0", + "status":"PASSED" + }, + { + "name":"from2-v2.3.0", + "status":"PASSED" + }, + { + "name":"fs-extra", + "status":"SKIPPED" + }, + { + "name":"full-icu-test-v1.0.3", + "status":"PASSED" + }, + { + "name":"glob-v7.1.6", + "status":"PASSED" + }, + { + "name":"got", + "status":"SKIPPED" + }, + { + "name":"graceful-fs", + "status":"SKIPPED" + }, + { + "name":"gulp-v4.0.2", + "status":"PASSED" + }, + { + "name":"fastify-v2.14.1", + "status":"PASSED" + }, + { + "name":"gulp-util-v3.0.8", + "status":"PASSED" + }, + { + "name":"iconv-v3.0.0", + "status":"PASSED" + }, + { + "name":"isarray-v2.0.5", + "status":"PASSED" + }, + { + "name":"inherits-v2.0.4", + "status":"PASSED" + }, + { + "name":"koa-v2.12.1", + "status":"PASSED" + }, + { + "name":"jquery-v3.5.1", + "status":"SKIPPED" + }, + { + "name":"level-v6.0.1", + "status":"PASSED" + }, + { + "name":"libxmljs", + "status":"SKIPPED" + }, + { + "name":"leveldown-v5.6.0", + "status":"PASSED" + }, + { + "name":"lodash-v4.17.15", + "status":"PASSED" + }, + { + "name":"mime-v2.4.6", + "status":"PASSED" + }, + { + "name":"microtime-v3.0.0", + "status":"PASSED" + }, + { + "name":"mkdirp", + "status":"SKIPPED" + }, + { + "name":"mocha", + "status":"SKIPPED" + }, + { + "name":"moment", + "status":"SKIPPED" + }, + { + "name":"minimist-v1.2.5", + "status":"PASSED" + }, + { + "name":"multer-v1.4.2", + "status":"PASSED" + }, + { + "name":"node-gyp-v7.0.0", + "status":"PASSED" + }, + { + "name":"nan-v2.14.1", + "status":"PASSED" + }, + { + "name":"node-sass", + "status":"SKIPPED" + }, + { + "name":"node-report-v2.2.10", + "status":"PASSED" + }, + { + "name":"path-to-regexp-v6.1.0", + "status":"PASSED" + }, + { + "name":"pino-v6.3.2", + "status":"PASSED" + }, + { + "name":"pumpify-v2.0.1", + "status":"PASSED" + }, + { + "name":"q-v1.5.1", + "status":"PASSED" + }, + { + "name":"pug-v3.0.0", + "status":"PASSED" + }, + { + "name":"react", + "status":"SKIPPED" + }, + { + "name":"readable-stream", + "status":"SKIPPED" + }, + { + "name":"ref", + "status":"SKIPPED" + }, + { + "name":"radium-v0.26.0", + "status":"PASSED" + }, + { + "name":"resolve-v1.17.0", + "status":"PASSED" + }, + { + "name":"rewire-v5.0.0", + "status":"PASSED" + }, + { + "name":"rimraf-v3.0.2", + "status":"PASSED" + }, + { + "name":"router-v1.3.5", + "status":"PASSED" + }, + { + "name":"sax-v1.2.4", + "status":"PASSED" + }, + { + "name":"semver-v7.3.2", + "status":"PASSED" + }, + { + "name":"serialport-v9.0.0", + "status":"PASSED" + }, + { + "name":"shot-v4.0.7", + "status":"PASSED" + }, + { + "name":"spawn-wrap-v2.0.0", + "status":"FAILED" + }, + { + "name":"spdy", + "status":"SKIPPED" + }, + { + "name":"spdy-transport", + "status":"SKIPPED" + }, + { + "name":"socket.io-v2.3.0", + "status":"PASSED" + }, + { + "name":"sqlite3", + "status":"SKIPPED" + }, + { + "name":"stylus", + "status":"SKIPPED" + }, + { + "name":"split2-v3.1.1", + "status":"PASSED" + }, + { + "name":"thread-sleep-v2.2.0", + "status":"PASSED" + }, + { + "name":"through2-v3.0.1", + "status":"PASSED" + }, + { + "name":"tape-v5.0.1", + "status":"PASSED" + }, + { + "name":"time", + "status":"SKIPPED" + }, + { + "name":"throughv-v1.0.4", + "status":"PASSED" + }, + { + "name":"uglify-js", + "status":"SKIPPED" + }, + { + "name":"torrent-stream-v1.2.0", + "status":"PASSED" + }, + { + "name":"underscore-v1.10.2", + "status":"PASSED" + }, + { + "name":"vinyl-v2.2.0", + "status":"PASSED" + }, + { + "name":"vinyl-fs", + "status":"SKIPPED" + }, + { + "name":"uuid-v8.1.0", + "status":"PASSED" + }, + { + "name":"weak", + "status":"SKIPPED" + }, + { + "name":"watchify-v3.11.1", + "status":"PASSED" + }, + { + "name":"ws-v7.3.0", + "status":"PASSED" + }, + { + "name":"winston-v3.2.1", + "status":"PASSED" + }, + { + "name":"yargs-v15.3.1", + "status":"PASSED" + }, + { + "name":"zeromq", + "status":"SKIPPED" + }, + { + "name":"yeoman-generator-v4.10.1", + "status":"PASSED" + } + ] + } + ] + } + }, + { + "child":{ + "_class":"hudson.matrix.MatrixRun", + "url":"https://ci.nodejs.org/job/citgm-smoker/nodes=fedora-last-latest-x64/2390/" + }, + "result":{ + "_class":"hudson.tasks.junit.TestResult", + "suites":[ + { + "cases":[ + { + "name":"@nearform/doctor-v5.0.2", + "status":"SKIPPED" + }, + { + "name":"@nearform/bubbleprof-v4.0.2", + "status":"SKIPPED" + }, + { + "name":"JSONStream-v1.3.5", + "status":"PASSED" + }, + { + "name":"@nearform/flame-v6.0.1", + "status":"SKIPPED" + }, + { + "name":"async", + "status":"SKIPPED" + }, + { + "name":"ava", + "status":"SKIPPED" + }, + { + "name":"bcrypt-v5.0.0", + "status":"PASSED" + }, + { + "name":"binary-split-v1.0.5", + "status":"PASSED" + }, + { + "name":"bl-v4.0.2", + "status":"PASSED" + }, + { + "name":"acorn-v7.3.1", + "status":"PASSED" + }, + { + "name":"blake2b-wasm-v2.1.0", + "status":"PASSED" + }, + { + "name":"bluebird-v3.7.2", + "status":"PASSED" + }, + { + "name":"body-parser-v1.19.0", + "status":"PASSED" + }, + { + "name":"bson", + "status":"SKIPPED" + }, + { + "name":"bufferutil-v4.0.1", + "status":"PASSED" + }, + { + "name":"cheerio-v1.0.0-rc.3", + "status":"PASSED" + }, + { + "name":"browserify-v16.5.1", + "status":"PASSED" + }, + { + "name":"coffeescript-v2.5.1", + "status":"PASSED" + }, + { + "name":"commander", + "status":"SKIPPED" + }, + { + "name":"crc32-stream-v3.0.1", + "status":"PASSED" + }, + { + "name":"csv-parser-v2.3.3", + "status":"PASSED" + }, + { + "name":"david", + "status":"SKIPPED" + }, + { + "name":"debug-v4.1.1", + "status":"PASSED" + }, + { + "name":"dicer-v0.3.0", + "status":"PASSED" + }, + { + "name":"duplexer2-v0.1.4", + "status":"PASSED" + }, + { + "name":"duplexify-v4.1.1", + "status":"PASSED" + }, + { + "name":"clinic-v6.0.2", + "status":"PASSED" + }, + { + "name":"eslint", + "status":"SKIPPED" + }, + { + "name":"eslint-plugin-jest-v23.13.2", + "status":"PASSED" + }, + { + "name":"ember-cli-v3.18.0", + "status":"PASSED" + }, + { + "name":"express-v4.17.1", + "status":"PASSED" + }, + { + "name":"esprima-v4.0.1", + "status":"PASSED" + }, + { + "name":"express-session-v1.17.1", + "status":"PASSED" + }, + { + "name":"ffi", + "status":"SKIPPED" + }, + { + "name":"flush-write-stream-v2.0.0", + "status":"PASSED" + }, + { + "name":"from2-v2.3.0", + "status":"PASSED" + }, + { + "name":"fs-extra", + "status":"SKIPPED" + }, + { + "name":"full-icu-test-v1.0.3", + "status":"PASSED" + }, + { + "name":"glob-v7.1.6", + "status":"PASSED" + }, + { + "name":"got", + "status":"SKIPPED" + }, + { + "name":"graceful-fs", + "status":"SKIPPED" + }, + { + "name":"fastify-v2.14.1", + "status":"PASSED" + }, + { + "name":"gulp-v4.0.2", + "status":"PASSED" + }, + { + "name":"gulp-util-v3.0.8", + "status":"PASSED" + }, + { + "name":"iconv-v3.0.0", + "status":"PASSED" + }, + { + "name":"isarray-v2.0.5", + "status":"PASSED" + }, + { + "name":"inherits-v2.0.4", + "status":"PASSED" + }, + { + "name":"koa-v2.12.1", + "status":"PASSED" + }, + { + "name":"jquery-v3.5.1", + "status":"SKIPPED" + }, + { + "name":"level-v6.0.1", + "status":"PASSED" + }, + { + "name":"libxmljs", + "status":"SKIPPED" + }, + { + "name":"lodash-v4.17.15", + "status":"PASSED" + }, + { + "name":"leveldown-v5.6.0", + "status":"PASSED" + }, + { + "name":"mime-v2.4.6", + "status":"PASSED" + }, + { + "name":"microtime-v3.0.0", + "status":"PASSED" + }, + { + "name":"mkdirp", + "status":"SKIPPED" + }, + { + "name":"mocha", + "status":"SKIPPED" + }, + { + "name":"moment", + "status":"SKIPPED" + }, + { + "name":"minimist-v1.2.5", + "status":"PASSED" + }, + { + "name":"multer-v1.4.2", + "status":"PASSED" + }, + { + "name":"node-gyp-v7.0.0", + "status":"PASSED" + }, + { + "name":"nan-v2.14.1", + "status":"PASSED" + }, + { + "name":"node-sass", + "status":"SKIPPED" + }, + { + "name":"node-report-v2.2.10", + "status":"PASSED" + }, + { + "name":"path-to-regexp-v6.1.0", + "status":"PASSED" + }, + { + "name":"pino-v6.3.2", + "status":"PASSED" + }, + { + "name":"pumpify-v2.0.1", + "status":"PASSED" + }, + { + "name":"q-v1.5.1", + "status":"PASSED" + }, + { + "name":"pug-v3.0.0", + "status":"PASSED" + }, + { + "name":"react", + "status":"SKIPPED" + }, + { + "name":"readable-stream", + "status":"SKIPPED" + }, + { + "name":"ref", + "status":"SKIPPED" + }, + { + "name":"radium-v0.26.0", + "status":"PASSED" + }, + { + "name":"resolve-v1.17.0", + "status":"PASSED" + }, + { + "name":"rewire-v5.0.0", + "status":"PASSED" + }, + { + "name":"rimraf-v3.0.2", + "status":"PASSED" + }, + { + "name":"router-v1.3.5", + "status":"PASSED" + }, + { + "name":"sax-v1.2.4", + "status":"PASSED" + }, + { + "name":"semver-v7.3.2", + "status":"PASSED" + }, + { + "name":"serialport-v9.0.0", + "status":"PASSED" + }, + { + "name":"shot-v4.0.7", + "status":"PASSED" + }, + { + "name":"spawn-wrap-v2.0.0", + "status":"PASSED" + }, + { + "name":"spdy", + "status":"SKIPPED" + }, + { + "name":"spdy-transport", + "status":"SKIPPED" + }, + { + "name":"socket.io-v2.3.0", + "status":"PASSED" + }, + { + "name":"sqlite3", + "status":"SKIPPED" + }, + { + "name":"stylus", + "status":"SKIPPED" + }, + { + "name":"split2-v3.1.1", + "status":"PASSED" + }, + { + "name":"thread-sleep-v2.2.0", + "status":"PASSED" + }, + { + "name":"through2-v3.0.1", + "status":"PASSED" + }, + { + "name":"tape-v5.0.1", + "status":"PASSED" + }, + { + "name":"time", + "status":"SKIPPED" + }, + { + "name":"throughv-v1.0.4", + "status":"PASSED" + }, + { + "name":"uglify-js", + "status":"SKIPPED" + }, + { + "name":"torrent-stream-v1.2.0", + "status":"PASSED" + }, + { + "name":"underscore-v1.10.2", + "status":"PASSED" + }, + { + "name":"vinyl-v2.2.0", + "status":"PASSED" + }, + { + "name":"vinyl-fs", + "status":"SKIPPED" + }, + { + "name":"uuid-v8.1.0", + "status":"PASSED" + }, + { + "name":"weak", + "status":"SKIPPED" + }, + { + "name":"watchify-v3.11.1", + "status":"PASSED" + }, + { + "name":"winston-v3.2.1", + "status":"PASSED" + }, + { + "name":"ws-v7.3.0", + "status":"PASSED" + }, + { + "name":"yargs-v15.3.1", + "status":"PASSED" + }, + { + "name":"zeromq", + "status":"SKIPPED" + }, + { + "name":"yeoman-generator-v4.10.1", + "status":"PASSED" + } + ] + } + ] + } + }, + { + "child":{ + "_class":"hudson.matrix.MatrixRun", + "url":"https://ci.nodejs.org/job/citgm-smoker/nodes=debian9-64/2390/" + }, + "result":{ + "_class":"hudson.tasks.junit.TestResult", + "suites":[ + { + "cases":[ + { + "name":"@nearform/bubbleprof-v4.0.2", + "status":"SKIPPED" + }, + { + "name":"@nearform/doctor-v5.0.2", + "status":"SKIPPED" + }, + { + "name":"@nearform/flame-v6.0.1", + "status":"PASSED" + }, + { + "name":"JSONStream-v1.3.5", + "status":"PASSED" + }, + { + "name":"acorn-v7.3.1", + "status":"PASSED" + }, + { + "name":"async", + "status":"SKIPPED" + }, + { + "name":"ava", + "status":"SKIPPED" + }, + { + "name":"bcrypt-v5.0.0", + "status":"PASSED" + }, + { + "name":"binary-split-v1.0.5", + "status":"PASSED" + }, + { + "name":"bl-v4.0.2", + "status":"PASSED" + }, + { + "name":"blake2b-wasm-v2.1.0", + "status":"PASSED" + }, + { + "name":"bluebird-v3.7.2", + "status":"PASSED" + }, + { + "name":"body-parser-v1.19.0", + "status":"PASSED" + }, + { + "name":"browserify-v16.5.1", + "status":"PASSED" + }, + { + "name":"bson", + "status":"SKIPPED" + }, + { + "name":"bufferutil-v4.0.1", + "status":"PASSED" + }, + { + "name":"cheerio-v1.0.0-rc.3", + "status":"PASSED" + }, + { + "name":"clinic-v6.0.2", + "status":"PASSED" + }, + { + "name":"coffeescript-v2.5.1", + "status":"PASSED" + }, + { + "name":"commander", + "status":"SKIPPED" + }, + { + "name":"crc32-stream-v3.0.1", + "status":"PASSED" + }, + { + "name":"csv-parser-v2.3.3", + "status":"PASSED" + }, + { + "name":"david", + "status":"SKIPPED" + }, + { + "name":"debug-v4.1.1", + "status":"PASSED" + }, + { + "name":"dicer-v0.3.0", + "status":"PASSED" + }, + { + "name":"duplexer2-v0.1.4", + "status":"PASSED" + }, + { + "name":"duplexify-v4.1.1", + "status":"PASSED" + }, + { + "name":"ember-cli-v3.18.0", + "status":"PASSED" + }, + { + "name":"eslint", + "status":"SKIPPED" + }, + { + "name":"eslint-plugin-jest-v23.13.2", + "status":"PASSED" + }, + { + "name":"esprima-v4.0.1", + "status":"PASSED" + }, + { + "name":"express-v4.17.1", + "status":"PASSED" + }, + { + "name":"express-session-v1.17.1", + "status":"FAILED" + }, + { + "name":"fastify-v2.14.1", + "status":"PASSED" + }, + { + "name":"ffi", + "status":"SKIPPED" + }, + { + "name":"flush-write-stream-v2.0.0", + "status":"PASSED" + }, + { + "name":"from2-v2.3.0", + "status":"PASSED" + }, + { + "name":"fs-extra", + "status":"SKIPPED" + }, + { + "name":"full-icu-test-v1.0.3", + "status":"PASSED" + }, + { + "name":"glob-v7.1.6", + "status":"PASSED" + }, + { + "name":"got", + "status":"SKIPPED" + }, + { + "name":"graceful-fs", + "status":"SKIPPED" + }, + { + "name":"gulp-v4.0.2", + "status":"PASSED" + }, + { + "name":"gulp-util-v3.0.8", + "status":"PASSED" + }, + { + "name":"iconv-v3.0.0", + "status":"PASSED" + }, + { + "name":"inherits-v2.0.4", + "status":"PASSED" + }, + { + "name":"isarray-v2.0.5", + "status":"PASSED" + }, + { + "name":"jquery-v3.5.1", + "status":"SKIPPED" + }, + { + "name":"koa-v2.12.1", + "status":"PASSED" + }, + { + "name":"level-v6.0.1", + "status":"PASSED" + }, + { + "name":"leveldown-v5.6.0", + "status":"PASSED" + }, + { + "name":"libxmljs", + "status":"SKIPPED" + }, + { + "name":"lodash-v4.17.15", + "status":"PASSED" + }, + { + "name":"microtime-v3.0.0", + "status":"PASSED" + }, + { + "name":"mime-v2.4.6", + "status":"PASSED" + }, + { + "name":"minimist-v1.2.5", + "status":"PASSED" + }, + { + "name":"mkdirp", + "status":"SKIPPED" + }, + { + "name":"mocha", + "status":"SKIPPED" + }, + { + "name":"moment", + "status":"SKIPPED" + }, + { + "name":"multer-v1.4.2", + "status":"PASSED" + }, + { + "name":"nan-v2.14.1", + "status":"PASSED" + }, + { + "name":"node-gyp-v7.0.0", + "status":"PASSED" + }, + { + "name":"node-report-v2.2.10", + "status":"PASSED" + }, + { + "name":"node-sass", + "status":"SKIPPED" + }, + { + "name":"path-to-regexp-v6.1.0", + "status":"PASSED" + }, + { + "name":"pino-v6.3.2", + "status":"PASSED" + }, + { + "name":"pug-v3.0.0", + "status":"PASSED" + }, + { + "name":"pumpify-v2.0.1", + "status":"PASSED" + }, + { + "name":"q-v1.5.1", + "status":"PASSED" + }, + { + "name":"radium-v0.26.0", + "status":"PASSED" + }, + { + "name":"react", + "status":"SKIPPED" + }, + { + "name":"readable-stream", + "status":"SKIPPED" + }, + { + "name":"ref", + "status":"SKIPPED" + }, + { + "name":"resolve-v1.17.0", + "status":"PASSED" + }, + { + "name":"rewire-v5.0.0", + "status":"PASSED" + }, + { + "name":"rimraf-v3.0.2", + "status":"PASSED" + }, + { + "name":"router-v1.3.5", + "status":"PASSED" + }, + { + "name":"sax-v1.2.4", + "status":"PASSED" + }, + { + "name":"semver-v7.3.2", + "status":"PASSED" + }, + { + "name":"serialport-v9.0.0", + "status":"PASSED" + }, + { + "name":"shot-v4.0.7", + "status":"PASSED" + }, + { + "name":"socket.io-v2.3.0", + "status":"PASSED" + }, + { + "name":"spawn-wrap-v2.0.0", + "status":"PASSED" + }, + { + "name":"spdy", + "status":"SKIPPED" + }, + { + "name":"spdy-transport", + "status":"SKIPPED" + }, + { + "name":"split2-v3.1.1", + "status":"PASSED" + }, + { + "name":"sqlite3", + "status":"SKIPPED" + }, + { + "name":"stylus", + "status":"SKIPPED" + }, + { + "name":"tape-v5.0.1", + "status":"PASSED" + }, + { + "name":"thread-sleep-v2.2.0", + "status":"PASSED" + }, + { + "name":"through2-v3.0.1", + "status":"PASSED" + }, + { + "name":"throughv-v1.0.4", + "status":"PASSED" + }, + { + "name":"time", + "status":"SKIPPED" + }, + { + "name":"torrent-stream-v1.2.0", + "status":"PASSED" + }, + { + "name":"uglify-js", + "status":"SKIPPED" + }, + { + "name":"underscore-v1.10.2", + "status":"PASSED" + }, + { + "name":"uuid-v8.1.0", + "status":"PASSED" + }, + { + "name":"vinyl-v2.2.0", + "status":"PASSED" + }, + { + "name":"vinyl-fs", + "status":"SKIPPED" + }, + { + "name":"watchify-v3.11.1", + "status":"PASSED" + }, + { + "name":"weak", + "status":"SKIPPED" + }, + { + "name":"winston-v3.2.1", + "status":"PASSED" + }, + { + "name":"ws-v7.3.0", + "status":"PASSED" + }, + { + "name":"yargs-v15.3.1", + "status":"PASSED" + }, + { + "name":"yeoman-generator-v4.10.1", + "status":"FAILED" + }, + { + "name":"zeromq", + "status":"SKIPPED" + } + ] + } + ] + } + }, + { + "child":{ + "_class":"hudson.matrix.MatrixRun", + "url":"https://ci.nodejs.org/job/citgm-smoker/nodes=osx1014/2390/" + }, + "result":{ + "_class":"hudson.tasks.junit.TestResult", + "suites":[ + { + "cases":[ + { + "name":"JSONStream-v1.3.5", + "status":"PASSED" + }, + { + "name":"@nearform/flame-v6.0.1", + "status":"SKIPPED" + }, + { + "name":"async", + "status":"SKIPPED" + }, + { + "name":"ava", + "status":"SKIPPED" + }, + { + "name":"@nearform/doctor-v5.0.2", + "status":"SKIPPED" + }, + { + "name":"bcrypt-v5.0.0", + "status":"PASSED" + }, + { + "name":"binary-split-v1.0.5", + "status":"PASSED" + }, + { + "name":"@nearform/bubbleprof-v4.0.2", + "status":"SKIPPED" + }, + { + "name":"bl-v4.0.2", + "status":"PASSED" + }, + { + "name":"blake2b-wasm-v2.1.0", + "status":"PASSED" + }, + { + "name":"bluebird-v3.7.2", + "status":"PASSED" + }, + { + "name":"bson", + "status":"SKIPPED" + }, + { + "name":"body-parser-v1.19.0", + "status":"PASSED" + }, + { + "name":"bufferutil-v4.0.1", + "status":"PASSED" + }, + { + "name":"acorn-v7.3.1", + "status":"FAILED" + }, + { + "name":"cheerio-v1.0.0-rc.3", + "status":"PASSED" + }, + { + "name":"commander", + "status":"SKIPPED" + }, + { + "name":"crc32-stream-v3.0.1", + "status":"PASSED" + }, + { + "name":"coffeescript-v2.5.1", + "status":"PASSED" + }, + { + "name":"david", + "status":"SKIPPED" + }, + { + "name":"browserify-v16.5.1", + "status":"PASSED" + }, + { + "name":"dicer-v0.3.0", + "status":"PASSED" + }, + { + "name":"duplexer2-v0.1.4", + "status":"PASSED" + }, + { + "name":"duplexify-v4.1.1", + "status":"PASSED" + }, + { + "name":"csv-parser-v2.3.3", + "status":"PASSED" + }, + { + "name":"eslint", + "status":"SKIPPED" + }, + { + "name":"debug-v4.1.1", + "status":"PASSED" + }, + { + "name":"eslint-plugin-jest-v23.13.2", + "status":"FAILED" + }, + { + "name":"express-v4.17.1", + "status":"PASSED" + }, + { + "name":"esprima-v4.0.1", + "status":"PASSED" + }, + { + "name":"express-session-v1.17.1", + "status":"PASSED" + }, + { + "name":"ffi", + "status":"SKIPPED" + }, + { + "name":"clinic-v6.0.2", + "status":"FAILED" + }, + { + "name":"flush-write-stream-v2.0.0", + "status":"PASSED" + }, + { + "name":"fs-extra", + "status":"SKIPPED" + }, + { + "name":"full-icu-test-v1.0.3", + "status":"PASSED" + }, + { + "name":"from2-v2.3.0", + "status":"PASSED" + }, + { + "name":"got", + "status":"SKIPPED" + }, + { + "name":"graceful-fs", + "status":"SKIPPED" + }, + { + "name":"glob-v7.1.6", + "status":"PASSED" + }, + { + "name":"gulp-v4.0.2", + "status":"PASSED" + }, + { + "name":"fastify-v2.14.1", + "status":"PASSED" + }, + { + "name":"gulp-util-v3.0.8", + "status":"PASSED" + }, + { + "name":"iconv-v3.0.0", + "status":"PASSED" + }, + { + "name":"isarray-v2.0.5", + "status":"PASSED" + }, + { + "name":"ember-cli-v3.18.0", + "status":"FAILED" + }, + { + "name":"inherits-v2.0.4", + "status":"PASSED" + }, + { + "name":"koa-v2.12.1", + "status":"PASSED" + }, + { + "name":"libxmljs", + "status":"SKIPPED" + }, + { + "name":"jquery-v3.5.1", + "status":"SKIPPED" + }, + { + "name":"level-v6.0.1", + "status":"PASSED" + }, + { + "name":"mime-v2.4.6", + "status":"PASSED" + }, + { + "name":"microtime-v3.0.0", + "status":"PASSED" + }, + { + "name":"mkdirp", + "status":"SKIPPED" + }, + { + "name":"mocha", + "status":"SKIPPED" + }, + { + "name":"moment", + "status":"SKIPPED" + }, + { + "name":"leveldown-v5.6.0", + "status":"PASSED" + }, + { + "name":"minimist-v1.2.5", + "status":"PASSED" + }, + { + "name":"multer-v1.4.2", + "status":"PASSED" + }, + { + "name":"lodash-v4.17.15", + "status":"PASSED" + }, + { + "name":"node-sass", + "status":"SKIPPED" + }, + { + "name":"nan-v2.14.1", + "status":"PASSED" + }, + { + "name":"node-gyp-v7.0.0", + "status":"PASSED" + }, + { + "name":"node-report-v2.2.10", + "status":"PASSED" + }, + { + "name":"pumpify-v2.0.1", + "status":"PASSED" + }, + { + "name":"q-v1.5.1", + "status":"PASSED" + }, + { + "name":"pug-v3.0.0", + "status":"PASSED" + }, + { + "name":"react", + "status":"SKIPPED" + }, + { + "name":"readable-stream", + "status":"SKIPPED" + }, + { + "name":"ref", + "status":"SKIPPED" + }, + { + "name":"path-to-regexp-v6.1.0", + "status":"PASSED" + }, + { + "name":"rewire-v5.0.0", + "status":"PASSED" + }, + { + "name":"radium-v0.26.0", + "status":"PASSED" + }, + { + "name":"pino-v6.3.2", + "status":"PASSED" + }, + { + "name":"rimraf-v3.0.2", + "status":"PASSED" + }, + { + "name":"resolve-v1.17.0", + "status":"PASSED" + }, + { + "name":"router-v1.3.5", + "status":"PASSED" + }, + { + "name":"sax-v1.2.4", + "status":"PASSED" + }, + { + "name":"semver-v7.3.2", + "status":"FAILED" + }, + { + "name":"shot-v4.0.7", + "status":"PASSED" + }, + { + "name":"spdy", + "status":"SKIPPED" + }, + { + "name":"spdy-transport", + "status":"SKIPPED" + }, + { + "name":"spawn-wrap-v2.0.0", + "status":"PASSED" + }, + { + "name":"sqlite3", + "status":"SKIPPED" + }, + { + "name":"stylus", + "status":"SKIPPED" + }, + { + "name":"socket.io-v2.3.0", + "status":"PASSED" + }, + { + "name":"split2-v3.1.1", + "status":"PASSED" + }, + { + "name":"thread-sleep-v2.2.0", + "status":"FAILED" + }, + { + "name":"serialport-v9.0.0", + "status":"PASSED" + }, + { + "name":"time", + "status":"SKIPPED" + }, + { + "name":"through2-v3.0.1", + "status":"PASSED" + }, + { + "name":"uglify-js", + "status":"SKIPPED" + }, + { + "name":"throughv-v1.0.4", + "status":"PASSED" + }, + { + "name":"torrent-stream-v1.2.0", + "status":"PASSED" + }, + { + "name":"tape-v5.0.1", + "status":"PASSED" + }, + { + "name":"vinyl-fs", + "status":"SKIPPED" + }, + { + "name":"vinyl-v2.2.0", + "status":"PASSED" + }, + { + "name":"weak", + "status":"SKIPPED" + }, + { + "name":"underscore-v1.10.2", + "status":"FAILED" + }, + { + "name":"watchify-v3.11.1", + "status":"PASSED" + }, + { + "name":"uuid-v8.1.0", + "status":"PASSED" + }, + { + "name":"ws-v7.3.0", + "status":"PASSED" + }, + { + "name":"zeromq", + "status":"SKIPPED" + }, + { + "name":"yargs-v15.3.1", + "status":"PASSED" + }, + { + "name":"winston-v3.2.1", + "status":"SKIPPED" + }, + { + "name":"yeoman-generator-v4.10.1", + "status":"PASSED" + } + ] + } + ] + } + }, + { + "child":{ + "_class":"hudson.matrix.MatrixRun", + "url":"https://ci.nodejs.org/job/citgm-smoker/nodes=rhel7-s390x/2390/" + }, + "result":{ + "_class":"hudson.tasks.junit.TestResult", + "suites":[ + { + "cases":[ + { + "name":"JSONStream-v1.3.5", + "status":"PASSED" + }, + { + "name":"@nearform/flame-v6.0.1", + "status":"PASSED" + }, + { + "name":"async", + "status":"SKIPPED" + }, + { + "name":"ava", + "status":"SKIPPED" + }, + { + "name":"@nearform/doctor-v5.0.2", + "status":"PASSED" + }, + { + "name":"bcrypt-v5.0.0", + "status":"PASSED" + }, + { + "name":"binary-split-v1.0.5", + "status":"PASSED" + }, + { + "name":"blake2b-wasm-v2.1.0", + "status":"PASSED" + }, + { + "name":"bl-v4.0.2", + "status":"PASSED" + }, + { + "name":"acorn-v7.3.1", + "status":"PASSED" + }, + { + "name":"@nearform/bubbleprof-v4.0.2", + "status":"SKIPPED" + }, + { + "name":"bson", + "status":"SKIPPED" + }, + { + "name":"body-parser-v1.19.0", + "status":"PASSED" + }, + { + "name":"bluebird-v3.7.2", + "status":"PASSED" + }, + { + "name":"bufferutil-v4.0.1", + "status":"PASSED" + }, + { + "name":"coffeescript", + "status":"SKIPPED" + }, + { + "name":"commander", + "status":"SKIPPED" + }, + { + "name":"crc32-stream-v3.0.1", + "status":"PASSED" + }, + { + "name":"cheerio-v1.0.0-rc.3", + "status":"PASSED" + }, + { + "name":"david", + "status":"SKIPPED" + }, + { + "name":"debug", + "status":"SKIPPED" + }, + { + "name":"dicer-v0.3.0", + "status":"PASSED" + }, + { + "name":"duplexer2-v0.1.4", + "status":"PASSED" + }, + { + "name":"duplexify-v4.1.1", + "status":"PASSED" + }, + { + "name":"csv-parser-v2.3.3", + "status":"PASSED" + }, + { + "name":"eslint", + "status":"SKIPPED" + }, + { + "name":"browserify-v16.5.1", + "status":"PASSED" + }, + { + "name":"eslint-plugin-jest-v23.13.2", + "status":"PASSED" + }, + { + "name":"esprima-v4.0.1", + "status":"PASSED" + }, + { + "name":"express-v4.17.1", + "status":"PASSED" + }, + { + "name":"express-session-v1.17.1", + "status":"PASSED" + }, + { + "name":"ffi", + "status":"SKIPPED" + }, + { + "name":"flush-write-stream-v2.0.0", + "status":"PASSED" + }, + { + "name":"from2-v2.3.0", + "status":"PASSED" + }, + { + "name":"fs-extra", + "status":"SKIPPED" + }, + { + "name":"full-icu-test-v1.0.3", + "status":"PASSED" + }, + { + "name":"ember-cli-v3.18.0", + "status":"PASSED" + }, + { + "name":"got", + "status":"SKIPPED" + }, + { + "name":"graceful-fs", + "status":"SKIPPED" + }, + { + "name":"fastify-v2.14.1", + "status":"PASSED" + }, + { + "name":"glob-v7.1.6", + "status":"PASSED" + }, + { + "name":"gulp-util-v3.0.8", + "status":"PASSED" + }, + { + "name":"iconv-v3.0.0", + "status":"PASSED" + }, + { + "name":"inherits-v2.0.4", + "status":"PASSED" + }, + { + "name":"gulp-v4.0.2", + "status":"PASSED" + }, + { + "name":"isarray-v2.0.5", + "status":"PASSED" + }, + { + "name":"koa-v2.12.1", + "status":"PASSED" + }, + { + "name":"level-v6.0.1", + "status":"SKIPPED" + }, + { + "name":"libxmljs", + "status":"SKIPPED" + }, + { + "name":"clinic-v6.0.2", + "status":"PASSED" + }, + { + "name":"jquery-v3.5.1", + "status":"SKIPPED" + }, + { + "name":"microtime-v3.0.0", + "status":"PASSED" + }, + { + "name":"lodash-v4.17.15", + "status":"PASSED" + }, + { + "name":"mkdirp", + "status":"SKIPPED" + }, + { + "name":"mocha", + "status":"SKIPPED" + }, + { + "name":"moment", + "status":"SKIPPED" + }, + { + "name":"mime-v2.4.6", + "status":"PASSED" + }, + { + "name":"multer-v1.4.2", + "status":"PASSED" + }, + { + "name":"minimist-v1.2.5", + "status":"PASSED" + }, + { + "name":"node-gyp-v7.0.0", + "status":"PASSED" + }, + { + "name":"node-sass", + "status":"SKIPPED" + }, + { + "name":"node-report-v2.2.10", + "status":"PASSED" + }, + { + "name":"leveldown-v5.6.0", + "status":"SKIPPED" + }, + { + "name":"nan-v2.14.1", + "status":"PASSED" + }, + { + "name":"pumpify-v2.0.1", + "status":"PASSED" + }, + { + "name":"pug-v3.0.0", + "status":"PASSED" + }, + { + "name":"q-v1.5.1", + "status":"PASSED" + }, + { + "name":"react", + "status":"SKIPPED" + }, + { + "name":"readable-stream", + "status":"SKIPPED" + }, + { + "name":"ref", + "status":"SKIPPED" + }, + { + "name":"pino-v6.3.2", + "status":"PASSED" + }, + { + "name":"path-to-regexp-v6.1.0", + "status":"PASSED" + }, + { + "name":"rewire-v5.0.0", + "status":"PASSED" + }, + { + "name":"radium-v0.26.0", + "status":"PASSED" + }, + { + "name":"rimraf-v3.0.2", + "status":"PASSED" + }, + { + "name":"resolve-v1.17.0", + "status":"PASSED" + }, + { + "name":"router-v1.3.5", + "status":"PASSED" + }, + { + "name":"sax-v1.2.4", + "status":"PASSED" + }, + { + "name":"shot-v4.0.7", + "status":"PASSED" + }, + { + "name":"semver-v7.3.2", + "status":"PASSED" + }, + { + "name":"spdy", + "status":"SKIPPED" + }, + { + "name":"spdy-transport", + "status":"SKIPPED" + }, + { + "name":"socket.io-v2.3.0", + "status":"PASSED" + }, + { + "name":"sqlite3", + "status":"SKIPPED" + }, + { + "name":"stylus", + "status":"SKIPPED" + }, + { + "name":"spawn-wrap-v2.0.0", + "status":"PASSED" + }, + { + "name":"serialport-v9.0.0", + "status":"PASSED" + }, + { + "name":"split2-v3.1.1", + "status":"PASSED" + }, + { + "name":"thread-sleep-v2.2.0", + "status":"PASSED" + }, + { + "name":"time", + "status":"SKIPPED" + }, + { + "name":"through2-v3.0.1", + "status":"PASSED" + }, + { + "name":"uglify-js", + "status":"SKIPPED" + }, + { + "name":"throughv-v1.0.4", + "status":"PASSED" + }, + { + "name":"tape-v5.0.1", + "status":"PASSED" + }, + { + "name":"underscore-v1.10.2", + "status":"PASSED" + }, + { + "name":"vinyl-fs", + "status":"SKIPPED" + }, + { + "name":"vinyl-v2.2.0", + "status":"PASSED" + }, + { + "name":"weak", + "status":"SKIPPED" + }, + { + "name":"uuid-v8.1.0", + "status":"PASSED" + }, + { + "name":"torrent-stream-v1.2.0", + "status":"FAILED" + }, + { + "name":"ws-v7.3.0", + "status":"PASSED" + }, + { + "name":"yargs-v15.3.1", + "status":"PASSED" + }, + { + "name":"zeromq", + "status":"SKIPPED" + }, + { + "name":"watchify-v3.11.1", + "status":"PASSED" + }, + { + "name":"yeoman-generator-v4.10.1", + "status":"PASSED" + }, + { + "name":"winston-v3.2.1", + "status":"PASSED" + } + ] + } + ] + } + }, + { + "child":{ + "_class":"hudson.matrix.MatrixRun", + "url":"https://ci.nodejs.org/job/citgm-smoker/nodes=aix71-ppc64/2390/" + }, + "result":{ + "_class":"hudson.tasks.junit.TestResult", + "suites":[ + { + "cases":[ + { + "name":"@nearform/doctor-v5.0.2", + "status":"SKIPPED" + }, + { + "name":"@nearform/bubbleprof-v4.0.2", + "status":"SKIPPED" + }, + { + "name":"JSONStream-v1.3.5", + "status":"FAILED" + }, + { + "name":"acorn", + "status":"SKIPPED" + }, + { + "name":"async", + "status":"SKIPPED" + }, + { + "name":"ava", + "status":"SKIPPED" + }, + { + "name":"@nearform/flame-v6.0.1", + "status":"SKIPPED" + }, + { + "name":"bcrypt-v5.0.0", + "status":"PASSED" + }, + { + "name":"binary-split-v1.0.5", + "status":"PASSED" + }, + { + "name":"blake2b-wasm-v2.1.0", + "status":"PASSED" + }, + { + "name":"bl-v4.0.2", + "status":"PASSED" + }, + { + "name":"bluebird-v3.7.2", + "status":"PASSED" + }, + { + "name":"body-parser-v1.19.0", + "status":"PASSED" + }, + { + "name":"bson", + "status":"SKIPPED" + }, + { + "name":"bufferutil-v4.0.1", + "status":"PASSED" + }, + { + "name":"cheerio-v1.0.0-rc.3", + "status":"PASSED" + }, + { + "name":"clinic", + "status":"SKIPPED" + }, + { + "name":"coffeescript-v2.5.1", + "status":"PASSED" + }, + { + "name":"commander", + "status":"SKIPPED" + }, + { + "name":"crc32-stream-v3.0.1", + "status":"PASSED" + }, + { + "name":"browserify-v16.5.1", + "status":"PASSED" + }, + { + "name":"david", + "status":"SKIPPED" + }, + { + "name":"debug", + "status":"SKIPPED" + }, + { + "name":"dicer-v0.3.0", + "status":"PASSED" + }, + { + "name":"duplexer2-v0.1.4", + "status":"PASSED" + }, + { + "name":"csv-parser-v2.3.3", + "status":"PASSED" + }, + { + "name":"duplexify-v4.1.1", + "status":"PASSED" + }, + { + "name":"eslint", + "status":"SKIPPED" + }, + { + "name":"eslint-plugin-jest", + "status":"SKIPPED" + }, + { + "name":"esprima-v4.0.1", + "status":"PASSED" + }, + { + "name":"express-v4.17.1", + "status":"PASSED" + }, + { + "name":"express-session-v1.17.1", + "status":"PASSED" + }, + { + "name":"fastify-v2.14.1", + "status":"PASSED" + }, + { + "name":"ffi", + "status":"SKIPPED" + }, + { + "name":"flush-write-stream-v2.0.0", + "status":"PASSED" + }, + { + "name":"from2-v2.3.0", + "status":"PASSED" + }, + { + "name":"fs-extra", + "status":"SKIPPED" + }, + { + "name":"full-icu-test-v1.0.3", + "status":"PASSED" + }, + { + "name":"glob-v7.1.6", + "status":"PASSED" + }, + { + "name":"got", + "status":"SKIPPED" + }, + { + "name":"graceful-fs", + "status":"SKIPPED" + }, + { + "name":"ember-cli-v3.18.0", + "status":"FAILED" + }, + { + "name":"gulp-util-v3.0.8", + "status":"PASSED" + }, + { + "name":"gulp-v4.0.2", + "status":"PASSED" + }, + { + "name":"iconv-v3.0.0", + "status":"PASSED" + }, + { + "name":"inherits-v2.0.4", + "status":"PASSED" + }, + { + "name":"isarray-v2.0.5", + "status":"PASSED" + }, + { + "name":"koa-v2.12.1", + "status":"PASSED" + }, + { + "name":"jquery-v3.5.1", + "status":"SKIPPED" + }, + { + "name":"level-v6.0.1", + "status":"SKIPPED" + }, + { + "name":"libxmljs", + "status":"SKIPPED" + }, + { + "name":"leveldown-v5.6.0", + "status":"SKIPPED" + }, + { + "name":"microtime-v3.0.0", + "status":"PASSED" + }, + { + "name":"mime-v2.4.6", + "status":"PASSED" + }, + { + "name":"lodash-v4.17.15", + "status":"PASSED" + }, + { + "name":"mkdirp", + "status":"SKIPPED" + }, + { + "name":"mocha", + "status":"SKIPPED" + }, + { + "name":"moment", + "status":"SKIPPED" + }, + { + "name":"minimist-v1.2.5", + "status":"PASSED" + }, + { + "name":"multer-v1.4.2", + "status":"PASSED" + }, + { + "name":"node-gyp-v7.0.0", + "status":"PASSED" + }, + { + "name":"node-report-v2.2.10", + "status":"PASSED" + }, + { + "name":"node-sass", + "status":"SKIPPED" + }, + { + "name":"nan-v2.14.1", + "status":"PASSED" + }, + { + "name":"path-to-regexp-v6.1.0", + "status":"FAILED" + }, + { + "name":"pino-v6.3.2", + "status":"PASSED" + }, + { + "name":"pug-v3.0.0", + "status":"FAILED" + }, + { + "name":"pumpify-v2.0.1", + "status":"PASSED" + }, + { + "name":"q-v1.5.1", + "status":"PASSED" + }, + { + "name":"react", + "status":"SKIPPED" + }, + { + "name":"readable-stream", + "status":"SKIPPED" + }, + { + "name":"ref", + "status":"SKIPPED" + }, + { + "name":"radium-v0.26.0", + "status":"PASSED" + }, + { + "name":"resolve-v1.17.0", + "status":"PASSED" + }, + { + "name":"rewire-v5.0.0", + "status":"PASSED" + }, + { + "name":"rimraf-v3.0.2", + "status":"PASSED" + }, + { + "name":"router-v1.3.5", + "status":"PASSED" + }, + { + "name":"sax-v1.2.4", + "status":"PASSED" + }, + { + "name":"semver-v7.3.2", + "status":"PASSED" + }, + { + "name":"shot-v4.0.7", + "status":"PASSED" + }, + { + "name":"serialport-v9.0.0", + "status":"SKIPPED" + }, + { + "name":"socket.io-v2.3.0", + "status":"PASSED" + }, + { + "name":"spdy", + "status":"SKIPPED" + }, + { + "name":"spdy-transport", + "status":"SKIPPED" + }, + { + "name":"spawn-wrap-v2.0.0", + "status":"PASSED" + }, + { + "name":"sqlite3", + "status":"SKIPPED" + }, + { + "name":"stylus", + "status":"SKIPPED" + }, + { + "name":"split2-v3.1.1", + "status":"PASSED" + }, + { + "name":"thread-sleep-v2.2.0", + "status":"PASSED" + }, + { + "name":"through2-v3.0.1", + "status":"PASSED" + }, + { + "name":"tape-v5.0.1", + "status":"PASSED" + }, + { + "name":"time", + "status":"SKIPPED" + }, + { + "name":"throughv-v1.0.4", + "status":"PASSED" + }, + { + "name":"uglify-js", + "status":"SKIPPED" + }, + { + "name":"torrent-stream-v1.2.0", + "status":"PASSED" + }, + { + "name":"underscore-v1.10.2", + "status":"PASSED" + }, + { + "name":"vinyl-v2.2.0", + "status":"PASSED" + }, + { + "name":"vinyl-fs", + "status":"SKIPPED" + }, + { + "name":"uuid-v8.1.0", + "status":"FAILED" + }, + { + "name":"weak", + "status":"SKIPPED" + }, + { + "name":"watchify-v3.11.1", + "status":"PASSED" + }, + { + "name":"winston-v3.2.1", + "status":"SKIPPED" + }, + { + "name":"ws-v7.3.0", + "status":"PASSED" + }, + { + "name":"yargs-v15.3.1", + "status":"PASSED" + }, + { + "name":"zeromq", + "status":"SKIPPED" + }, + { + "name":"yeoman-generator-v4.10.1", + "status":"PASSED" + } + ] + } + ] + } + }, + { + "child":{ + "_class":"hudson.matrix.MatrixRun", + "url":"https://ci.nodejs.org/job/citgm-smoker/nodes=ubuntu1604-64/2390/" + }, + "result":{ + "_class":"hudson.tasks.junit.TestResult", + "suites":[ + { + "cases":[ + { + "name":"JSONStream-v1.3.5", + "status":"PASSED" + }, + { + "name":"@nearform/flame-v6.0.1", + "status":"SKIPPED" + }, + { + "name":"async", + "status":"SKIPPED" + }, + { + "name":"ava", + "status":"SKIPPED" + }, + { + "name":"@nearform/doctor-v5.0.2", + "status":"SKIPPED" + }, + { + "name":"bcrypt-v5.0.0", + "status":"PASSED" + }, + { + "name":"binary-split-v1.0.5", + "status":"PASSED" + }, + { + "name":"bl-v4.0.2", + "status":"PASSED" + }, + { + "name":"@nearform/bubbleprof-v4.0.2", + "status":"SKIPPED" + }, + { + "name":"blake2b-wasm-v2.1.0", + "status":"PASSED" + }, + { + "name":"acorn-v7.3.1", + "status":"PASSED" + }, + { + "name":"bson", + "status":"SKIPPED" + }, + { + "name":"body-parser-v1.19.0", + "status":"PASSED" + }, + { + "name":"bluebird-v3.7.2", + "status":"PASSED" + }, + { + "name":"bufferutil-v4.0.1", + "status":"PASSED" + }, + { + "name":"cheerio-v1.0.0-rc.3", + "status":"PASSED" + }, + { + "name":"commander", + "status":"SKIPPED" + }, + { + "name":"crc32-stream-v3.0.1", + "status":"PASSED" + }, + { + "name":"coffeescript-v2.5.1", + "status":"PASSED" + }, + { + "name":"david", + "status":"SKIPPED" + }, + { + "name":"csv-parser-v2.3.3", + "status":"PASSED" + }, + { + "name":"browserify-v16.5.1", + "status":"PASSED" + }, + { + "name":"dicer-v0.3.0", + "status":"PASSED" + }, + { + "name":"duplexer2-v0.1.4", + "status":"PASSED" + }, + { + "name":"duplexify-v4.1.1", + "status":"PASSED" + }, + { + "name":"eslint", + "status":"SKIPPED" + }, + { + "name":"debug-v4.1.1", + "status":"PASSED" + }, + { + "name":"eslint-plugin-jest-v23.13.2", + "status":"PASSED" + }, + { + "name":"esprima-v4.0.1", + "status":"PASSED" + }, + { + "name":"express-v4.17.1", + "status":"PASSED" + }, + { + "name":"express-session-v1.17.1", + "status":"PASSED" + }, + { + "name":"ffi", + "status":"SKIPPED" + }, + { + "name":"flush-write-stream-v2.0.0", + "status":"PASSED" + }, + { + "name":"from2-v2.3.0", + "status":"PASSED" + }, + { + "name":"fs-extra", + "status":"SKIPPED" + }, + { + "name":"full-icu-test-v1.0.3", + "status":"PASSED" + }, + { + "name":"fastify-v2.14.1", + "status":"PASSED" + }, + { + "name":"got", + "status":"SKIPPED" + }, + { + "name":"graceful-fs", + "status":"SKIPPED" + }, + { + "name":"glob-v7.1.6", + "status":"PASSED" + }, + { + "name":"gulp-util-v3.0.8", + "status":"PASSED" + }, + { + "name":"iconv-v3.0.0", + "status":"PASSED" + }, + { + "name":"gulp-v4.0.2", + "status":"PASSED" + }, + { + "name":"isarray-v2.0.5", + "status":"PASSED" + }, + { + "name":"inherits-v2.0.4", + "status":"PASSED" + }, + { + "name":"clinic-v6.0.2", + "status":"PASSED" + }, + { + "name":"ember-cli-v3.18.0", + "status":"PASSED" + }, + { + "name":"koa-v2.12.1", + "status":"PASSED" + }, + { + "name":"libxmljs", + "status":"SKIPPED" + }, + { + "name":"jquery-v3.5.1", + "status":"SKIPPED" + }, + { + "name":"microtime-v3.0.0", + "status":"PASSED" + }, + { + "name":"level-v6.0.1", + "status":"PASSED" + }, + { + "name":"lodash-v4.17.15", + "status":"PASSED" + }, + { + "name":"mkdirp", + "status":"SKIPPED" + }, + { + "name":"mocha", + "status":"SKIPPED" + }, + { + "name":"moment", + "status":"SKIPPED" + }, + { + "name":"mime-v2.4.6", + "status":"PASSED" + }, + { + "name":"minimist-v1.2.5", + "status":"PASSED" + }, + { + "name":"multer-v1.4.2", + "status":"PASSED" + }, + { + "name":"node-gyp-v7.0.0", + "status":"PASSED" + }, + { + "name":"node-sass", + "status":"SKIPPED" + }, + { + "name":"node-report-v2.2.10", + "status":"PASSED" + }, + { + "name":"nan-v2.14.1", + "status":"PASSED" + }, + { + "name":"leveldown-v5.6.0", + "status":"PASSED" + }, + { + "name":"pumpify-v2.0.1", + "status":"PASSED" + }, + { + "name":"q-v1.5.1", + "status":"PASSED" + }, + { + "name":"pug-v3.0.0", + "status":"PASSED" + }, + { + "name":"react", + "status":"SKIPPED" + }, + { + "name":"readable-stream", + "status":"SKIPPED" + }, + { + "name":"ref", + "status":"SKIPPED" + }, + { + "name":"pino-v6.3.2", + "status":"PASSED" + }, + { + "name":"radium-v0.26.0", + "status":"PASSED" + }, + { + "name":"path-to-regexp-v6.1.0", + "status":"PASSED" + }, + { + "name":"resolve-v1.17.0", + "status":"PASSED" + }, + { + "name":"rewire-v5.0.0", + "status":"PASSED" + }, + { + "name":"rimraf-v3.0.2", + "status":"PASSED" + }, + { + "name":"router-v1.3.5", + "status":"PASSED" + }, + { + "name":"sax-v1.2.4", + "status":"PASSED" + }, + { + "name":"shot-v4.0.7", + "status":"PASSED" + }, + { + "name":"semver-v7.3.2", + "status":"PASSED" + }, + { + "name":"spdy", + "status":"SKIPPED" + }, + { + "name":"spdy-transport", + "status":"SKIPPED" + }, + { + "name":"socket.io-v2.3.0", + "status":"PASSED" + }, + { + "name":"sqlite3", + "status":"SKIPPED" + }, + { + "name":"stylus", + "status":"SKIPPED" + }, + { + "name":"spawn-wrap-v2.0.0", + "status":"PASSED" + }, + { + "name":"thread-sleep-v2.2.0", + "status":"PASSED" + }, + { + "name":"serialport-v9.0.0", + "status":"PASSED" + }, + { + "name":"split2-v3.1.1", + "status":"PASSED" + }, + { + "name":"time", + "status":"SKIPPED" + }, + { + "name":"through2-v3.0.1", + "status":"PASSED" + }, + { + "name":"uglify-js", + "status":"SKIPPED" + }, + { + "name":"throughv-v1.0.4", + "status":"PASSED" + }, + { + "name":"torrent-stream-v1.2.0", + "status":"PASSED" + }, + { + "name":"tape-v5.0.1", + "status":"PASSED" + }, + { + "name":"vinyl-fs", + "status":"SKIPPED" + }, + { + "name":"underscore-v1.10.2", + "status":"PASSED" + }, + { + "name":"weak", + "status":"SKIPPED" + }, + { + "name":"vinyl-v2.2.0", + "status":"PASSED" + }, + { + "name":"uuid-v8.1.0", + "status":"PASSED" + }, + { + "name":"watchify-v3.11.1", + "status":"PASSED" + }, + { + "name":"ws-v7.3.0", + "status":"PASSED" + }, + { + "name":"zeromq", + "status":"SKIPPED" + }, + { + "name":"yargs-v15.3.1", + "status":"PASSED" + }, + { + "name":"winston-v3.2.1", + "status":"PASSED" + }, + { + "name":"yeoman-generator-v4.10.1", + "status":"PASSED" + } + ] + } + ] + } + }, + { + "child":{ + "_class":"hudson.matrix.MatrixRun", + "url":"https://ci.nodejs.org/job/citgm-smoker/nodes=ubuntu1804-64/2390/" + }, + "result":{ + "_class":"hudson.tasks.junit.TestResult", + "suites":[ + { + "cases":[ + { + "name":"@nearform/doctor-v5.0.2", + "status":"SKIPPED" + }, + { + "name":"@nearform/bubbleprof-v4.0.2", + "status":"SKIPPED" + }, + { + "name":"JSONStream-v1.3.5", + "status":"PASSED" + }, + { + "name":"@nearform/flame-v6.0.1", + "status":"SKIPPED" + }, + { + "name":"async", + "status":"SKIPPED" + }, + { + "name":"ava", + "status":"SKIPPED" + }, + { + "name":"bcrypt-v5.0.0", + "status":"PASSED" + }, + { + "name":"binary-split-v1.0.5", + "status":"PASSED" + }, + { + "name":"bl-v4.0.2", + "status":"PASSED" + }, + { + "name":"blake2b-wasm-v2.1.0", + "status":"PASSED" + }, + { + "name":"acorn-v7.3.1", + "status":"PASSED" + }, + { + "name":"bluebird-v3.7.2", + "status":"PASSED" + }, + { + "name":"body-parser-v1.19.0", + "status":"PASSED" + }, + { + "name":"bson", + "status":"SKIPPED" + }, + { + "name":"bufferutil-v4.0.1", + "status":"PASSED" + }, + { + "name":"cheerio-v1.0.0-rc.3", + "status":"PASSED" + }, + { + "name":"browserify-v16.5.1", + "status":"PASSED" + }, + { + "name":"coffeescript-v2.5.1", + "status":"PASSED" + }, + { + "name":"commander", + "status":"SKIPPED" + }, + { + "name":"crc32-stream-v3.0.1", + "status":"PASSED" + }, + { + "name":"csv-parser-v2.3.3", + "status":"PASSED" + }, + { + "name":"david", + "status":"SKIPPED" + }, + { + "name":"debug-v4.1.1", + "status":"PASSED" + }, + { + "name":"dicer-v0.3.0", + "status":"PASSED" + }, + { + "name":"duplexer2-v0.1.4", + "status":"PASSED" + }, + { + "name":"duplexify-v4.1.1", + "status":"PASSED" + }, + { + "name":"clinic-v6.0.2", + "status":"PASSED" + }, + { + "name":"eslint", + "status":"SKIPPED" + }, + { + "name":"ember-cli-v3.18.0", + "status":"PASSED" + }, + { + "name":"eslint-plugin-jest-v23.13.2", + "status":"PASSED" + }, + { + "name":"express-v4.17.1", + "status":"PASSED" + }, + { + "name":"esprima-v4.0.1", + "status":"PASSED" + }, + { + "name":"express-session-v1.17.1", + "status":"PASSED" + }, + { + "name":"ffi", + "status":"SKIPPED" + }, + { + "name":"flush-write-stream-v2.0.0", + "status":"PASSED" + }, + { + "name":"from2-v2.3.0", + "status":"PASSED" + }, + { + "name":"fs-extra", + "status":"SKIPPED" + }, + { + "name":"full-icu-test-v1.0.3", + "status":"PASSED" + }, + { + "name":"glob-v7.1.6", + "status":"PASSED" + }, + { + "name":"got", + "status":"SKIPPED" + }, + { + "name":"graceful-fs", + "status":"SKIPPED" + }, + { + "name":"gulp-v4.0.2", + "status":"PASSED" + }, + { + "name":"fastify-v2.14.1", + "status":"PASSED" + }, + { + "name":"gulp-util-v3.0.8", + "status":"PASSED" + }, + { + "name":"iconv-v3.0.0", + "status":"PASSED" + }, + { + "name":"isarray-v2.0.5", + "status":"PASSED" + }, + { + "name":"inherits-v2.0.4", + "status":"PASSED" + }, + { + "name":"koa-v2.12.1", + "status":"PASSED" + }, + { + "name":"jquery-v3.5.1", + "status":"SKIPPED" + }, + { + "name":"level-v6.0.1", + "status":"PASSED" + }, + { + "name":"libxmljs", + "status":"SKIPPED" + }, + { + "name":"lodash-v4.17.15", + "status":"PASSED" + }, + { + "name":"leveldown-v5.6.0", + "status":"PASSED" + }, + { + "name":"mime-v2.4.6", + "status":"PASSED" + }, + { + "name":"microtime-v3.0.0", + "status":"PASSED" + }, + { + "name":"mkdirp", + "status":"SKIPPED" + }, + { + "name":"mocha", + "status":"SKIPPED" + }, + { + "name":"moment", + "status":"SKIPPED" + }, + { + "name":"minimist-v1.2.5", + "status":"PASSED" + }, + { + "name":"multer-v1.4.2", + "status":"PASSED" + }, + { + "name":"node-gyp-v7.0.0", + "status":"PASSED" + }, + { + "name":"nan-v2.14.1", + "status":"PASSED" + }, + { + "name":"node-sass", + "status":"SKIPPED" + }, + { + "name":"node-report-v2.2.10", + "status":"PASSED" + }, + { + "name":"path-to-regexp-v6.1.0", + "status":"PASSED" + }, + { + "name":"pino-v6.3.2", + "status":"PASSED" + }, + { + "name":"pumpify-v2.0.1", + "status":"PASSED" + }, + { + "name":"q-v1.5.1", + "status":"PASSED" + }, + { + "name":"pug-v3.0.0", + "status":"PASSED" + }, + { + "name":"react", + "status":"SKIPPED" + }, + { + "name":"readable-stream", + "status":"SKIPPED" + }, + { + "name":"ref", + "status":"SKIPPED" + }, + { + "name":"resolve-v1.17.0", + "status":"PASSED" + }, + { + "name":"radium-v0.26.0", + "status":"PASSED" + }, + { + "name":"rewire-v5.0.0", + "status":"PASSED" + }, + { + "name":"rimraf-v3.0.2", + "status":"PASSED" + }, + { + "name":"router-v1.3.5", + "status":"PASSED" + }, + { + "name":"sax-v1.2.4", + "status":"PASSED" + }, + { + "name":"semver-v7.3.2", + "status":"PASSED" + }, + { + "name":"serialport-v9.0.0", + "status":"PASSED" + }, + { + "name":"shot-v4.0.7", + "status":"PASSED" + }, + { + "name":"socket.io-v2.3.0", + "status":"PASSED" + }, + { + "name":"spdy", + "status":"SKIPPED" + }, + { + "name":"spdy-transport", + "status":"SKIPPED" + }, + { + "name":"spawn-wrap-v2.0.0", + "status":"PASSED" + }, + { + "name":"sqlite3", + "status":"SKIPPED" + }, + { + "name":"stylus", + "status":"SKIPPED" + }, + { + "name":"split2-v3.1.1", + "status":"PASSED" + }, + { + "name":"thread-sleep-v2.2.0", + "status":"PASSED" + }, + { + "name":"through2-v3.0.1", + "status":"PASSED" + }, + { + "name":"tape-v5.0.1", + "status":"PASSED" + }, + { + "name":"time", + "status":"SKIPPED" + }, + { + "name":"throughv-v1.0.4", + "status":"PASSED" + }, + { + "name":"uglify-js", + "status":"SKIPPED" + }, + { + "name":"torrent-stream-v1.2.0", + "status":"PASSED" + }, + { + "name":"underscore-v1.10.2", + "status":"PASSED" + }, + { + "name":"vinyl-v2.2.0", + "status":"PASSED" + }, + { + "name":"vinyl-fs", + "status":"SKIPPED" + }, + { + "name":"uuid-v8.1.0", + "status":"PASSED" + }, + { + "name":"weak", + "status":"SKIPPED" + }, + { + "name":"watchify-v3.11.1", + "status":"PASSED" + }, + { + "name":"ws-v7.3.0", + "status":"PASSED" + }, + { + "name":"winston-v3.2.1", + "status":"PASSED" + }, + { + "name":"yargs-v15.3.1", + "status":"PASSED" + }, + { + "name":"zeromq", + "status":"SKIPPED" + }, + { + "name":"yeoman-generator-v4.10.1", + "status":"PASSED" + } + ] + } + ] + } + } + ] +} \ No newline at end of file diff --git a/test/fixtures/jenkins/citgm-compare/citgm-smoker-2390.json b/test/fixtures/jenkins/citgm-compare/citgm-smoker-2390.json new file mode 100644 index 00000000..cd585989 --- /dev/null +++ b/test/fixtures/jenkins/citgm-compare/citgm-smoker-2390.json @@ -0,0 +1,367 @@ +{ + "_class":"hudson.matrix.MatrixBuild", + "actions":[ + { + "_class":"hudson.model.CauseAction", + "causes":[ + { + "_class":"hudson.model.Cause$UserIdCause", + "shortDescription":"Started by user Shelley Vohr", + "userId":"codebytere", + "userName":"Shelley Vohr" + } + ] + }, + { + + }, + { + + }, + { + + }, + { + + }, + { + + }, + { + "_class":"hudson.plugins.git.util.BuildData", + "buildsByBranchName":{ + "refs/remotes/origin/_jenkins_local_branch":{ + "_class":"hudson.plugins.git.util.Build", + "buildNumber":2390, + "buildResult":null, + "marked":{ + "SHA1":"9a60117875ddf737d04369ec2a098e0ac96466b9", + "branch":[ + { + "SHA1":"9a60117875ddf737d04369ec2a098e0ac96466b9", + "name":"refs/remotes/origin/_jenkins_local_branch" + } + ] + }, + "revision":{ + "SHA1":"9a60117875ddf737d04369ec2a098e0ac96466b9", + "branch":[ + { + "SHA1":"9a60117875ddf737d04369ec2a098e0ac96466b9", + "name":"refs/remotes/origin/_jenkins_local_branch" + } + ] + } + } + }, + "lastBuiltRevision":{ + "SHA1":"9a60117875ddf737d04369ec2a098e0ac96466b9", + "branch":[ + { + "SHA1":"9a60117875ddf737d04369ec2a098e0ac96466b9", + "name":"refs/remotes/origin/_jenkins_local_branch" + } + ] + }, + "remoteUrls":[ + "git@github.com:$GITHUB_ORG/$REPO_NAME.git" + ], + "scmName":"" + }, + { + "_class":"hudson.plugins.git.GitTagAction" + }, + { + + }, + { + "_class":"hudson.model.ParametersAction", + "parameters":[ + { + "_class":"hudson.model.StringParameterValue", + "name":"NODEJS_VERSION", + "value":"12.18.1" + }, + { + "_class":"hudson.model.StringParameterValue", + "name":"NODEJS_MAJOR_VERSION", + "value":"12" + }, + { + "_class":"hudson.model.StringParameterValue", + "name":"GITHUB_ORG", + "value":"nodejs" + }, + { + "_class":"hudson.model.StringParameterValue", + "name":"REPO_NAME", + "value":"node" + }, + { + "_class":"hudson.model.StringParameterValue", + "name":"GIT_REMOTE_REF", + "value":"refs/pull/33811/head" + }, + { + "_class":"hudson.model.StringParameterValue", + "name":"REBASE_ONTO", + "value":"" + }, + { + "_class":"hudson.model.StringParameterValue", + "name":"CITGM_LOGLEVEL", + "value":"warn" + }, + { + "_class":"hudson.model.StringParameterValue", + "name":"NPM_LOGLEVEL", + "value":"error" + }, + { + "_class":"hudson.model.StringParameterValue", + "name":"CITGM", + "value":"citgm" + }, + { + "_class":"hudson.model.StringParameterValue", + "name":"CITGM_COMMAND", + "value":"citgm-all -J" + }, + { + "_class":"hudson.model.BooleanParameterValue", + "name":"DISABLE_READABLE_STREAM", + "value":false + }, + { + "_class":"hudson.plugins.matrix_configuration_parameter.MatrixCombinationsParameterValue", + "name":"PLATFORMS" + } + ] + }, + { + + }, + { + + }, + { + "_class":"hudson.tasks.test.MatrixTestResult", + "failCount":19, + "skipCount":292, + "totalCount":954, + "urlName":"testReport" + }, + { + + }, + { + + }, + { + + }, + { + + }, + { + + }, + { + + } + ], + "artifacts":[ + + ], + "building":false, + "description":null, + "displayName":"#2390", + "duration":13033885, + "estimatedDuration":8446054, + "executor":null, + "fullDisplayName":"citgm-smoker #2390", + "id":"2390", + "keepLog":false, + "number":2390, + "queueId":763226, + "result":"FAILURE", + "timestamp":1592234705794, + "url":"https://ci.nodejs.org/job/citgm-smoker/2390/", + "builtOn":"test-packetnet-ubuntu1804-x64-1", + "changeSet":{ + "_class":"hudson.plugins.git.GitChangeSetList", + "items":[ + { + "_class":"hudson.plugins.git.GitChangeSet", + "affectedPaths":[ + "doc/changelogs/CHANGELOG_V12.md", + "doc/api/errors.md", + "src/node_version.h", + "CHANGELOG.md" + ], + "commitId":"9a60117875ddf737d04369ec2a098e0ac96466b9", + "timestamp":1591759389000, + "author":{ + "absoluteUrl":"https://ci.nodejs.org/user/codebytere", + "fullName":"Shelley Vohr" + }, + "authorEmail":"shelley.vohr@gmail.com", + "comment":"2020-06-16, Version 12.18.1 'Erbium' (LTS)\n\nNotable changes:\n\nPR-URL: https://github.com/nodejs/node/pull/33811\n", + "date":"2020-06-09 20:23:09 -0700", + "id":"9a60117875ddf737d04369ec2a098e0ac96466b9", + "msg":"2020-06-16, Version 12.18.1 'Erbium' (LTS)", + "paths":[ + { + "editType":"edit", + "file":"doc/changelogs/CHANGELOG_V12.md" + }, + { + "editType":"edit", + "file":"src/node_version.h" + }, + { + "editType":"edit", + "file":"CHANGELOG.md" + }, + { + "editType":"edit", + "file":"doc/api/errors.md" + } + ] + } + ], + "kind":"git" + }, + "culprits":[ + { + "absoluteUrl":"https://ci.nodejs.org/user/addaleax", + "fullName":"Anna Henningsen" + }, + { + "absoluteUrl":"https://ci.nodejs.org/user/bethany.griggs", + "fullName":"Bethany.Griggs" + }, + { + "absoluteUrl":"https://ci.nodejs.org/user/bridgear", + "fullName":"Ruben Bridgewater" + }, + { + "absoluteUrl":"https://ci.nodejs.org/user/codebytere", + "fullName":"Shelley Vohr" + }, + { + "absoluteUrl":"https://ci.nodejs.org/user/dan.fabulich", + "fullName":"dan.fabulich" + }, + { + "absoluteUrl":"https://ci.nodejs.org/user/devsnek", + "fullName":"Gus Caplan" + }, + { + "absoluteUrl":"https://ci.nodejs.org/user/gireeshpunathil", + "fullName":"Gireesh Punathil" + }, + { + "absoluteUrl":"https://ci.nodejs.org/user/github", + "fullName":"github" + }, + { + "absoluteUrl":"https://ci.nodejs.org/user/jasnell", + "fullName":"James M Snell" + }, + { + "absoluteUrl":"https://ci.nodejs.org/user/lpinca", + "fullName":"Luigi Pinca" + }, + { + "absoluteUrl":"https://ci.nodejs.org/user/mmarchini", + "fullName":"mmarchini" + }, + { + "absoluteUrl":"https://ci.nodejs.org/user/mylesborins", + "fullName":"Myles Borins" + }, + { + "absoluteUrl":"https://ci.nodejs.org/user/puzpuzpuz", + "fullName":"Andrey Pechkurov" + }, + { + "absoluteUrl":"https://ci.nodejs.org/user/rexagod", + "fullName":"Pranshu Srivastava" + }, + { + "absoluteUrl":"https://ci.nodejs.org/user/ronag", + "fullName":"Robert Nagy" + }, + { + "absoluteUrl":"https://ci.nodejs.org/user/sam-github", + "fullName":"Sam Roberts" + }, + { + "absoluteUrl":"https://ci.nodejs.org/user/targos", + "fullName":"Michaël Zasso" + }, + { + "absoluteUrl":"https://ci.nodejs.org/user/tniessen", + "fullName":"Tobias Nießen" + }, + { + "absoluteUrl":"https://ci.nodejs.org/user/trott", + "fullName":"Rich Trott" + }, + { + "absoluteUrl":"https://ci.nodejs.org/user/unknown", + "fullName":"unknown" + }, + { + "absoluteUrl":"https://ci.nodejs.org/user/vdeturckheim", + "fullName":"Vladimir de Turckheim" + } + ], + "runs":[ + { + "number":2390, + "url":"https://ci.nodejs.org/job/citgm-smoker/nodes=aix71-ppc64/2390/" + }, + { + "number":2390, + "url":"https://ci.nodejs.org/job/citgm-smoker/nodes=centos7-ppcle/2390/" + }, + { + "number":2390, + "url":"https://ci.nodejs.org/job/citgm-smoker/nodes=debian9-64/2390/" + }, + { + "number":2390, + "url":"https://ci.nodejs.org/job/citgm-smoker/nodes=fedora-last-latest-x64/2390/" + }, + { + "number":2390, + "url":"https://ci.nodejs.org/job/citgm-smoker/nodes=fedora-latest-x64/2390/" + }, + { + "number":2390, + "url":"https://ci.nodejs.org/job/citgm-smoker/nodes=osx1014/2390/" + }, + { + "number":2390, + "url":"https://ci.nodejs.org/job/citgm-smoker/nodes=osx1015/2390/" + }, + { + "number":2390, + "url":"https://ci.nodejs.org/job/citgm-smoker/nodes=rhel7-s390x/2390/" + }, + { + "number":2390, + "url":"https://ci.nodejs.org/job/citgm-smoker/nodes=ubuntu1604-64/2390/" + }, + { + "number":2390, + "url":"https://ci.nodejs.org/job/citgm-smoker/nodes=ubuntu1804-64/2390/" + }, + { + "number":2390, + "url":"https://ci.nodejs.org/job/citgm-smoker/nodes=win-vs2017/2390/" + } + ] +} \ No newline at end of file diff --git a/test/fixtures/jenkins/citgm-compare/citgm-smoker-2392-testReport.json b/test/fixtures/jenkins/citgm-compare/citgm-smoker-2392-testReport.json new file mode 100644 index 00000000..5f8599a5 --- /dev/null +++ b/test/fixtures/jenkins/citgm-compare/citgm-smoker-2392-testReport.json @@ -0,0 +1,3081 @@ +{ + "_class":"hudson.tasks.test.MatrixTestResult", + "failCount":4, + "skipCount":212, + "totalCount":742, + "childReports":[ + { + "child":{ + "_class":"hudson.matrix.MatrixRun", + "url":"https://ci.nodejs.org/job/citgm-smoker/nodes=debian9-64/2392/" + }, + "result":{ + "_class":"hudson.tasks.junit.TestResult", + "suites":[ + { + "cases":[ + { + "name":"@nearform/bubbleprof-v4.0.2", + "status":"FIXED" + }, + { + "name":"@nearform/doctor-v5.0.2", + "status":"SKIPPED" + }, + { + "name":"@nearform/flame-v6.0.1", + "status":"PASSED" + }, + { + "name":"JSONStream-v1.3.5", + "status":"PASSED" + }, + { + "name":"acorn-v7.3.1", + "status":"PASSED" + }, + { + "name":"async", + "status":"SKIPPED" + }, + { + "name":"ava", + "status":"SKIPPED" + }, + { + "name":"bcrypt-v5.0.0", + "status":"PASSED" + }, + { + "name":"binary-split-v1.0.5", + "status":"PASSED" + }, + { + "name":"bl-v4.0.2", + "status":"PASSED" + }, + { + "name":"blake2b-wasm-v2.1.0", + "status":"PASSED" + }, + { + "name":"bluebird-v3.7.2", + "status":"PASSED" + }, + { + "name":"body-parser-v1.19.0", + "status":"PASSED" + }, + { + "name":"browserify-v16.5.1", + "status":"PASSED" + }, + { + "name":"bson", + "status":"SKIPPED" + }, + { + "name":"bufferutil-v4.0.1", + "status":"PASSED" + }, + { + "name":"cheerio-v1.0.0-rc.3", + "status":"PASSED" + }, + { + "name":"clinic-v6.0.2", + "status":"PASSED" + }, + { + "name":"coffeescript-v2.5.1", + "status":"PASSED" + }, + { + "name":"commander", + "status":"SKIPPED" + }, + { + "name":"crc32-stream-v3.0.1", + "status":"PASSED" + }, + { + "name":"csv-parser-v2.3.3", + "status":"PASSED" + }, + { + "name":"david", + "status":"SKIPPED" + }, + { + "name":"debug-v4.1.1", + "status":"PASSED" + }, + { + "name":"dicer-v0.3.0", + "status":"PASSED" + }, + { + "name":"duplexer2-v0.1.4", + "status":"PASSED" + }, + { + "name":"duplexify-v4.1.1", + "status":"PASSED" + }, + { + "name":"ember-cli-v3.18.0", + "status":"PASSED" + }, + { + "name":"eslint", + "status":"SKIPPED" + }, + { + "name":"eslint-plugin-jest-v23.13.2", + "status":"PASSED" + }, + { + "name":"esprima-v4.0.1", + "status":"PASSED" + }, + { + "name":"express-v4.17.1", + "status":"PASSED" + }, + { + "name":"express-session-v1.17.1", + "status":"FIXED" + }, + { + "name":"fastify-v2.14.1", + "status":"PASSED" + }, + { + "name":"ffi", + "status":"SKIPPED" + }, + { + "name":"flush-write-stream-v2.0.0", + "status":"PASSED" + }, + { + "name":"from2-v2.3.0", + "status":"PASSED" + }, + { + "name":"fs-extra", + "status":"SKIPPED" + }, + { + "name":"full-icu-test-v1.0.3", + "status":"PASSED" + }, + { + "name":"glob-v7.1.6", + "status":"PASSED" + }, + { + "name":"got", + "status":"SKIPPED" + }, + { + "name":"graceful-fs", + "status":"SKIPPED" + }, + { + "name":"gulp-v4.0.2", + "status":"PASSED" + }, + { + "name":"gulp-util-v3.0.8", + "status":"PASSED" + }, + { + "name":"iconv-v3.0.0", + "status":"PASSED" + }, + { + "name":"inherits-v2.0.4", + "status":"PASSED" + }, + { + "name":"isarray-v2.0.5", + "status":"PASSED" + }, + { + "name":"jquery-v3.5.1", + "status":"SKIPPED" + }, + { + "name":"koa-v2.12.1", + "status":"PASSED" + }, + { + "name":"level-v6.0.1", + "status":"PASSED" + }, + { + "name":"leveldown-v5.6.0", + "status":"PASSED" + }, + { + "name":"libxmljs", + "status":"SKIPPED" + }, + { + "name":"lodash-v4.17.15", + "status":"PASSED" + }, + { + "name":"microtime-v3.0.0", + "status":"PASSED" + }, + { + "name":"mime-v2.4.6", + "status":"PASSED" + }, + { + "name":"minimist-v1.2.5", + "status":"PASSED" + }, + { + "name":"mkdirp", + "status":"SKIPPED" + }, + { + "name":"mocha", + "status":"SKIPPED" + }, + { + "name":"moment", + "status":"SKIPPED" + }, + { + "name":"multer-v1.4.2", + "status":"PASSED" + }, + { + "name":"nan-v2.14.1", + "status":"PASSED" + }, + { + "name":"node-gyp-v7.0.0", + "status":"PASSED" + }, + { + "name":"node-report-v2.2.10", + "status":"PASSED" + }, + { + "name":"node-sass", + "status":"SKIPPED" + }, + { + "name":"path-to-regexp-v6.1.0", + "status":"PASSED" + }, + { + "name":"pino-v6.3.2", + "status":"PASSED" + }, + { + "name":"pug-v3.0.0", + "status":"PASSED" + }, + { + "name":"pumpify-v2.0.1", + "status":"PASSED" + }, + { + "name":"q-v1.5.1", + "status":"PASSED" + }, + { + "name":"radium-v0.26.0", + "status":"PASSED" + }, + { + "name":"react", + "status":"SKIPPED" + }, + { + "name":"readable-stream", + "status":"SKIPPED" + }, + { + "name":"ref", + "status":"SKIPPED" + }, + { + "name":"resolve-v1.17.0", + "status":"PASSED" + }, + { + "name":"rewire-v5.0.0", + "status":"PASSED" + }, + { + "name":"rimraf-v3.0.2", + "status":"PASSED" + }, + { + "name":"router-v1.3.5", + "status":"PASSED" + }, + { + "name":"sax-v1.2.4", + "status":"PASSED" + }, + { + "name":"semver-v7.3.2", + "status":"PASSED" + }, + { + "name":"serialport-v9.0.0", + "status":"PASSED" + }, + { + "name":"shot-v4.0.7", + "status":"PASSED" + }, + { + "name":"socket.io-v2.3.0", + "status":"PASSED" + }, + { + "name":"spawn-wrap-v2.0.0", + "status":"PASSED" + }, + { + "name":"spdy", + "status":"SKIPPED" + }, + { + "name":"spdy-transport", + "status":"SKIPPED" + }, + { + "name":"split2-v3.1.1", + "status":"PASSED" + }, + { + "name":"sqlite3", + "status":"SKIPPED" + }, + { + "name":"stylus", + "status":"SKIPPED" + }, + { + "name":"tape-v5.0.1", + "status":"PASSED" + }, + { + "name":"thread-sleep-v2.2.0", + "status":"PASSED" + }, + { + "name":"through2-v3.0.1", + "status":"PASSED" + }, + { + "name":"throughv-v1.0.4", + "status":"PASSED" + }, + { + "name":"time", + "status":"SKIPPED" + }, + { + "name":"torrent-stream-v1.2.0", + "status":"PASSED" + }, + { + "name":"uglify-js", + "status":"SKIPPED" + }, + { + "name":"underscore-v1.10.2", + "status":"PASSED" + }, + { + "name":"uuid-v8.1.0", + "status":"PASSED" + }, + { + "name":"vinyl-v2.2.0", + "status":"PASSED" + }, + { + "name":"vinyl-fs", + "status":"SKIPPED" + }, + { + "name":"watchify-v3.11.1", + "status":"PASSED" + }, + { + "name":"weak", + "status":"SKIPPED" + }, + { + "name":"winston-v3.2.1", + "status":"PASSED" + }, + { + "name":"ws-v7.3.0", + "status":"PASSED" + }, + { + "name":"yargs-v15.3.1", + "status":"PASSED" + }, + { + "name":"yeoman-generator-v4.10.1", + "status":"FIXED" + }, + { + "name":"zeromq", + "status":"SKIPPED" + } + ] + } + ] + } + }, + { + "child":{ + "_class":"hudson.matrix.MatrixRun", + "url":"https://ci.nodejs.org/job/citgm-smoker/nodes=centos7-ppcle/2392/" + }, + "result":{ + "_class":"hudson.tasks.junit.TestResult", + "suites":[ + { + "cases":[ + { + "name":"JSONStream-v1.3.5", + "status":"PASSED" + }, + { + "name":"acorn", + "status":"SKIPPED" + }, + { + "name":"async", + "status":"SKIPPED" + }, + { + "name":"ava", + "status":"SKIPPED" + }, + { + "name":"bcrypt-v5.0.0", + "status":"PASSED" + }, + { + "name":"binary-split-v1.0.5", + "status":"PASSED" + }, + { + "name":"@nearform/doctor-v5.0.2", + "status":"SKIPPED" + }, + { + "name":"bl-v4.0.2", + "status":"PASSED" + }, + { + "name":"@nearform/flame-v6.0.1", + "status":"SKIPPED" + }, + { + "name":"blake2b-wasm-v2.1.0", + "status":"PASSED" + }, + { + "name":"bluebird-v3.7.2", + "status":"PASSED" + }, + { + "name":"bson", + "status":"SKIPPED" + }, + { + "name":"bufferutil-v4.0.1", + "status":"PASSED" + }, + { + "name":"body-parser-v1.19.0", + "status":"PASSED" + }, + { + "name":"cheerio-v1.0.0-rc.3", + "status":"PASSED" + }, + { + "name":"@nearform/bubbleprof-v4.0.2", + "status":"FIXED" + }, + { + "name":"commander", + "status":"SKIPPED" + }, + { + "name":"crc32-stream-v3.0.1", + "status":"PASSED" + }, + { + "name":"browserify-v16.5.1", + "status":"PASSED" + }, + { + "name":"david", + "status":"SKIPPED" + }, + { + "name":"debug", + "status":"SKIPPED" + }, + { + "name":"coffeescript-v2.5.1", + "status":"PASSED" + }, + { + "name":"dicer-v0.3.0", + "status":"PASSED" + }, + { + "name":"duplexer2-v0.1.4", + "status":"PASSED" + }, + { + "name":"duplexify-v4.1.1", + "status":"PASSED" + }, + { + "name":"eslint", + "status":"SKIPPED" + }, + { + "name":"csv-parser-v2.3.3", + "status":"PASSED" + }, + { + "name":"esprima-v4.0.1", + "status":"PASSED" + }, + { + "name":"express-v4.17.1", + "status":"PASSED" + }, + { + "name":"express-session-v1.17.1", + "status":"PASSED" + }, + { + "name":"fastify-v2.14.1", + "status":"PASSED" + }, + { + "name":"ffi", + "status":"SKIPPED" + }, + { + "name":"flush-write-stream-v2.0.0", + "status":"PASSED" + }, + { + "name":"from2-v2.3.0", + "status":"PASSED" + }, + { + "name":"fs-extra", + "status":"SKIPPED" + }, + { + "name":"eslint-plugin-jest-v23.13.2", + "status":"PASSED" + }, + { + "name":"full-icu-test-v1.0.3", + "status":"PASSED" + }, + { + "name":"got", + "status":"SKIPPED" + }, + { + "name":"graceful-fs", + "status":"SKIPPED" + }, + { + "name":"glob-v7.1.6", + "status":"PASSED" + }, + { + "name":"clinic-v6.0.2", + "status":"FIXED" + }, + { + "name":"gulp-v4.0.2", + "status":"PASSED" + }, + { + "name":"ember-cli-v3.18.0", + "status":"REGRESSION" + }, + { + "name":"isarray-v2.0.5", + "status":"PASSED" + }, + { + "name":"gulp-util-v3.0.8", + "status":"PASSED" + }, + { + "name":"inherits-v2.0.4", + "status":"PASSED" + }, + { + "name":"iconv-v3.0.0", + "status":"PASSED" + }, + { + "name":"koa-v2.12.1", + "status":"PASSED" + }, + { + "name":"libxmljs", + "status":"SKIPPED" + }, + { + "name":"level-v6.0.1", + "status":"PASSED" + }, + { + "name":"lodash-v4.17.15", + "status":"PASSED" + }, + { + "name":"mime-v2.4.6", + "status":"PASSED" + }, + { + "name":"microtime-v3.0.0", + "status":"PASSED" + }, + { + "name":"mkdirp", + "status":"SKIPPED" + }, + { + "name":"mocha", + "status":"SKIPPED" + }, + { + "name":"moment", + "status":"SKIPPED" + }, + { + "name":"minimist-v1.2.5", + "status":"PASSED" + }, + { + "name":"multer-v1.4.2", + "status":"PASSED" + }, + { + "name":"jquery-v3.5.1", + "status":"SKIPPED" + }, + { + "name":"nan-v2.14.1", + "status":"PASSED" + }, + { + "name":"node-sass", + "status":"SKIPPED" + }, + { + "name":"node-gyp-v7.0.0", + "status":"PASSED" + }, + { + "name":"node-report-v2.2.10", + "status":"PASSED" + }, + { + "name":"pug-v3.0.0", + "status":"PASSED" + }, + { + "name":"pumpify-v2.0.1", + "status":"PASSED" + }, + { + "name":"q-v1.5.1", + "status":"PASSED" + }, + { + "name":"pino-v6.3.2", + "status":"PASSED" + }, + { + "name":"react", + "status":"SKIPPED" + }, + { + "name":"readable-stream", + "status":"SKIPPED" + }, + { + "name":"ref", + "status":"SKIPPED" + }, + { + "name":"resolve-v1.17.0", + "status":"PASSED" + }, + { + "name":"leveldown-v5.6.0", + "status":"PASSED" + }, + { + "name":"radium-v0.26.0", + "status":"PASSED" + }, + { + "name":"rewire-v5.0.0", + "status":"PASSED" + }, + { + "name":"router-v1.3.5", + "status":"PASSED" + }, + { + "name":"rimraf-v3.0.2", + "status":"PASSED" + }, + { + "name":"path-to-regexp-v6.1.0", + "status":"PASSED" + }, + { + "name":"sax-v1.2.4", + "status":"PASSED" + }, + { + "name":"shot-v4.0.7", + "status":"PASSED" + }, + { + "name":"spawn-wrap-v2.0.0", + "status":"PASSED" + }, + { + "name":"spdy", + "status":"SKIPPED" + }, + { + "name":"spdy-transport", + "status":"SKIPPED" + }, + { + "name":"serialport-v9.0.0", + "status":"SKIPPED" + }, + { + "name":"sqlite3", + "status":"SKIPPED" + }, + { + "name":"stylus", + "status":"SKIPPED" + }, + { + "name":"socket.io-v2.3.0", + "status":"PASSED" + }, + { + "name":"semver-v7.3.2", + "status":"PASSED" + }, + { + "name":"thread-sleep-v2.2.0", + "status":"PASSED" + }, + { + "name":"split2-v3.1.1", + "status":"PASSED" + }, + { + "name":"time", + "status":"SKIPPED" + }, + { + "name":"through2-v3.0.1", + "status":"PASSED" + }, + { + "name":"uglify-js", + "status":"SKIPPED" + }, + { + "name":"throughv-v1.0.4", + "status":"PASSED" + }, + { + "name":"tape-v5.0.1", + "status":"PASSED" + }, + { + "name":"torrent-stream-v1.2.0", + "status":"FAILED" + }, + { + "name":"vinyl-fs", + "status":"SKIPPED" + }, + { + "name":"uuid-v8.1.0", + "status":"PASSED" + }, + { + "name":"weak", + "status":"SKIPPED" + }, + { + "name":"vinyl-v2.2.0", + "status":"PASSED" + }, + { + "name":"underscore-v1.10.2", + "status":"PASSED" + }, + { + "name":"watchify-v3.11.1", + "status":"SKIPPED" + }, + { + "name":"ws-v7.3.0", + "status":"PASSED" + }, + { + "name":"zeromq", + "status":"SKIPPED" + }, + { + "name":"yargs-v15.3.1", + "status":"PASSED" + }, + { + "name":"yeoman-generator-v4.10.1", + "status":"PASSED" + }, + { + "name":"winston-v3.2.1", + "status":"FIXED" + } + ] + } + ] + } + }, + { + "child":{ + "_class":"hudson.matrix.MatrixRun", + "url":"https://ci.nodejs.org/job/citgm-smoker/nodes=rhel7-s390x/2392/" + }, + "result":{ + "_class":"hudson.tasks.junit.TestResult", + "suites":[ + { + "cases":[ + { + "name":"JSONStream-v1.3.5", + "status":"PASSED" + }, + { + "name":"@nearform/flame-v6.0.1", + "status":"FIXED" + }, + { + "name":"async", + "status":"SKIPPED" + }, + { + "name":"ava", + "status":"SKIPPED" + }, + { + "name":"@nearform/doctor-v5.0.2", + "status":"PASSED" + }, + { + "name":"binary-split-v1.0.5", + "status":"PASSED" + }, + { + "name":"bcrypt-v5.0.0", + "status":"PASSED" + }, + { + "name":"@nearform/bubbleprof-v4.0.2", + "status":"FIXED" + }, + { + "name":"blake2b-wasm-v2.1.0", + "status":"PASSED" + }, + { + "name":"bl-v4.0.2", + "status":"PASSED" + }, + { + "name":"body-parser-v1.19.0", + "status":"PASSED" + }, + { + "name":"bson", + "status":"SKIPPED" + }, + { + "name":"bluebird-v3.7.2", + "status":"PASSED" + }, + { + "name":"bufferutil-v4.0.1", + "status":"PASSED" + }, + { + "name":"cheerio-v1.0.0-rc.3", + "status":"PASSED" + }, + { + "name":"coffeescript", + "status":"SKIPPED" + }, + { + "name":"commander", + "status":"SKIPPED" + }, + { + "name":"crc32-stream-v3.0.1", + "status":"PASSED" + }, + { + "name":"browserify-v16.5.1", + "status":"PASSED" + }, + { + "name":"david", + "status":"SKIPPED" + }, + { + "name":"debug", + "status":"SKIPPED" + }, + { + "name":"dicer-v0.3.0", + "status":"PASSED" + }, + { + "name":"duplexer2-v0.1.4", + "status":"PASSED" + }, + { + "name":"csv-parser-v2.3.3", + "status":"PASSED" + }, + { + "name":"duplexify-v4.1.1", + "status":"PASSED" + }, + { + "name":"eslint", + "status":"SKIPPED" + }, + { + "name":"acorn-v7.3.1", + "status":"PASSED" + }, + { + "name":"eslint-plugin-jest-v23.13.2", + "status":"PASSED" + }, + { + "name":"express-v4.17.1", + "status":"PASSED" + }, + { + "name":"esprima-v4.0.1", + "status":"PASSED" + }, + { + "name":"express-session-v1.17.1", + "status":"REGRESSION" + }, + { + "name":"ffi", + "status":"SKIPPED" + }, + { + "name":"flush-write-stream-v2.0.0", + "status":"PASSED" + }, + { + "name":"from2-v2.3.0", + "status":"PASSED" + }, + { + "name":"fs-extra", + "status":"SKIPPED" + }, + { + "name":"full-icu-test-v1.0.3", + "status":"PASSED" + }, + { + "name":"ember-cli-v3.18.0", + "status":"PASSED" + }, + { + "name":"got", + "status":"SKIPPED" + }, + { + "name":"graceful-fs", + "status":"SKIPPED" + }, + { + "name":"fastify-v2.14.1", + "status":"PASSED" + }, + { + "name":"glob-v7.1.6", + "status":"PASSED" + }, + { + "name":"gulp-util-v3.0.8", + "status":"PASSED" + }, + { + "name":"iconv-v3.0.0", + "status":"PASSED" + }, + { + "name":"isarray-v2.0.5", + "status":"PASSED" + }, + { + "name":"gulp-v4.0.2", + "status":"PASSED" + }, + { + "name":"inherits-v2.0.4", + "status":"PASSED" + }, + { + "name":"koa-v2.12.1", + "status":"PASSED" + }, + { + "name":"level-v6.0.1", + "status":"SKIPPED" + }, + { + "name":"libxmljs", + "status":"SKIPPED" + }, + { + "name":"clinic-v6.0.2", + "status":"PASSED" + }, + { + "name":"jquery-v3.5.1", + "status":"SKIPPED" + }, + { + "name":"mime-v2.4.6", + "status":"PASSED" + }, + { + "name":"microtime-v3.0.0", + "status":"PASSED" + }, + { + "name":"mkdirp", + "status":"SKIPPED" + }, + { + "name":"mocha", + "status":"SKIPPED" + }, + { + "name":"moment", + "status":"SKIPPED" + }, + { + "name":"minimist-v1.2.5", + "status":"PASSED" + }, + { + "name":"lodash-v4.17.15", + "status":"PASSED" + }, + { + "name":"multer-v1.4.2", + "status":"PASSED" + }, + { + "name":"node-gyp-v7.0.0", + "status":"PASSED" + }, + { + "name":"node-sass", + "status":"SKIPPED" + }, + { + "name":"node-report-v2.2.10", + "status":"PASSED" + }, + { + "name":"leveldown-v5.6.0", + "status":"SKIPPED" + }, + { + "name":"nan-v2.14.1", + "status":"PASSED" + }, + { + "name":"pumpify-v2.0.1", + "status":"PASSED" + }, + { + "name":"pug-v3.0.0", + "status":"PASSED" + }, + { + "name":"q-v1.5.1", + "status":"PASSED" + }, + { + "name":"react", + "status":"SKIPPED" + }, + { + "name":"readable-stream", + "status":"SKIPPED" + }, + { + "name":"ref", + "status":"SKIPPED" + }, + { + "name":"pino-v6.3.2", + "status":"PASSED" + }, + { + "name":"path-to-regexp-v6.1.0", + "status":"PASSED" + }, + { + "name":"radium-v0.26.0", + "status":"PASSED" + }, + { + "name":"rewire-v5.0.0", + "status":"PASSED" + }, + { + "name":"rimraf-v3.0.2", + "status":"PASSED" + }, + { + "name":"resolve-v1.17.0", + "status":"PASSED" + }, + { + "name":"router-v1.3.5", + "status":"PASSED" + }, + { + "name":"sax-v1.2.4", + "status":"PASSED" + }, + { + "name":"shot-v4.0.7", + "status":"PASSED" + }, + { + "name":"semver-v7.3.2", + "status":"PASSED" + }, + { + "name":"spdy", + "status":"SKIPPED" + }, + { + "name":"spdy-transport", + "status":"SKIPPED" + }, + { + "name":"spawn-wrap-v2.0.0", + "status":"PASSED" + }, + { + "name":"sqlite3", + "status":"SKIPPED" + }, + { + "name":"stylus", + "status":"SKIPPED" + }, + { + "name":"socket.io-v2.3.0", + "status":"PASSED" + }, + { + "name":"thread-sleep-v2.2.0", + "status":"PASSED" + }, + { + "name":"split2-v3.1.1", + "status":"PASSED" + }, + { + "name":"serialport-v9.0.0", + "status":"PASSED" + }, + { + "name":"time", + "status":"SKIPPED" + }, + { + "name":"through2-v3.0.1", + "status":"PASSED" + }, + { + "name":"uglify-js", + "status":"SKIPPED" + }, + { + "name":"throughv-v1.0.4", + "status":"PASSED" + }, + { + "name":"tape-v5.0.1", + "status":"PASSED" + }, + { + "name":"torrent-stream-v1.2.0", + "status":"FIXED" + }, + { + "name":"vinyl-fs", + "status":"SKIPPED" + }, + { + "name":"underscore-v1.10.2", + "status":"PASSED" + }, + { + "name":"weak", + "status":"SKIPPED" + }, + { + "name":"vinyl-v2.2.0", + "status":"PASSED" + }, + { + "name":"uuid-v8.1.0", + "status":"PASSED" + }, + { + "name":"watchify-v3.11.1", + "status":"PASSED" + }, + { + "name":"ws-v7.3.0", + "status":"PASSED" + }, + { + "name":"zeromq", + "status":"SKIPPED" + }, + { + "name":"yargs-v15.3.1", + "status":"PASSED" + }, + { + "name":"yeoman-generator-v4.10.1", + "status":"PASSED" + }, + { + "name":"winston-v3.2.1", + "status":"PASSED" + } + ] + } + ] + } + }, + { + "child":{ + "_class":"hudson.matrix.MatrixRun", + "url":"https://ci.nodejs.org/job/citgm-smoker/nodes=fedora-latest-x64/2392/" + }, + "result":{ + "_class":"hudson.tasks.junit.TestResult", + "suites":[ + { + "cases":[ + { + "name":"@nearform/doctor-v5.0.2", + "status":"SKIPPED" + }, + { + "name":"@nearform/bubbleprof-v4.0.2", + "status":"FIXED" + }, + { + "name":"JSONStream-v1.3.5", + "status":"PASSED" + }, + { + "name":"@nearform/flame-v6.0.1", + "status":"SKIPPED" + }, + { + "name":"async", + "status":"SKIPPED" + }, + { + "name":"ava", + "status":"SKIPPED" + }, + { + "name":"bcrypt-v5.0.0", + "status":"PASSED" + }, + { + "name":"binary-split-v1.0.5", + "status":"PASSED" + }, + { + "name":"bl-v4.0.2", + "status":"PASSED" + }, + { + "name":"blake2b-wasm-v2.1.0", + "status":"PASSED" + }, + { + "name":"bluebird-v3.7.2", + "status":"PASSED" + }, + { + "name":"body-parser-v1.19.0", + "status":"PASSED" + }, + { + "name":"browserify-v16.5.1", + "status":"PASSED" + }, + { + "name":"bson", + "status":"SKIPPED" + }, + { + "name":"bufferutil-v4.0.1", + "status":"PASSED" + }, + { + "name":"cheerio-v1.0.0-rc.3", + "status":"PASSED" + }, + { + "name":"acorn-v7.3.1", + "status":"PASSED" + }, + { + "name":"coffeescript-v2.5.1", + "status":"PASSED" + }, + { + "name":"commander", + "status":"SKIPPED" + }, + { + "name":"crc32-stream-v3.0.1", + "status":"PASSED" + }, + { + "name":"csv-parser-v2.3.3", + "status":"PASSED" + }, + { + "name":"david", + "status":"SKIPPED" + }, + { + "name":"debug-v4.1.1", + "status":"PASSED" + }, + { + "name":"dicer-v0.3.0", + "status":"PASSED" + }, + { + "name":"duplexer2-v0.1.4", + "status":"PASSED" + }, + { + "name":"duplexify-v4.1.1", + "status":"PASSED" + }, + { + "name":"ember-cli-v3.18.0", + "status":"PASSED" + }, + { + "name":"eslint", + "status":"SKIPPED" + }, + { + "name":"clinic-v6.0.2", + "status":"PASSED" + }, + { + "name":"esprima-v4.0.1", + "status":"PASSED" + }, + { + "name":"eslint-plugin-jest-v23.13.2", + "status":"PASSED" + }, + { + "name":"express-v4.17.1", + "status":"PASSED" + }, + { + "name":"express-session-v1.17.1", + "status":"PASSED" + }, + { + "name":"ffi", + "status":"SKIPPED" + }, + { + "name":"flush-write-stream-v2.0.0", + "status":"PASSED" + }, + { + "name":"from2-v2.3.0", + "status":"PASSED" + }, + { + "name":"fs-extra", + "status":"SKIPPED" + }, + { + "name":"full-icu-test-v1.0.3", + "status":"PASSED" + }, + { + "name":"glob-v7.1.6", + "status":"PASSED" + }, + { + "name":"got", + "status":"SKIPPED" + }, + { + "name":"graceful-fs", + "status":"SKIPPED" + }, + { + "name":"fastify-v2.14.1", + "status":"PASSED" + }, + { + "name":"gulp-v4.0.2", + "status":"PASSED" + }, + { + "name":"gulp-util-v3.0.8", + "status":"PASSED" + }, + { + "name":"iconv-v3.0.0", + "status":"PASSED" + }, + { + "name":"isarray-v2.0.5", + "status":"PASSED" + }, + { + "name":"inherits-v2.0.4", + "status":"PASSED" + }, + { + "name":"koa-v2.12.1", + "status":"PASSED" + }, + { + "name":"jquery-v3.5.1", + "status":"SKIPPED" + }, + { + "name":"level-v6.0.1", + "status":"PASSED" + }, + { + "name":"libxmljs", + "status":"SKIPPED" + }, + { + "name":"leveldown-v5.6.0", + "status":"PASSED" + }, + { + "name":"lodash-v4.17.15", + "status":"PASSED" + }, + { + "name":"mime-v2.4.6", + "status":"PASSED" + }, + { + "name":"microtime-v3.0.0", + "status":"PASSED" + }, + { + "name":"mkdirp", + "status":"SKIPPED" + }, + { + "name":"mocha", + "status":"SKIPPED" + }, + { + "name":"moment", + "status":"SKIPPED" + }, + { + "name":"minimist-v1.2.5", + "status":"PASSED" + }, + { + "name":"multer-v1.4.2", + "status":"PASSED" + }, + { + "name":"node-gyp-v7.0.0", + "status":"PASSED" + }, + { + "name":"nan-v2.14.1", + "status":"PASSED" + }, + { + "name":"node-sass", + "status":"SKIPPED" + }, + { + "name":"node-report-v2.2.10", + "status":"PASSED" + }, + { + "name":"path-to-regexp-v6.1.0", + "status":"PASSED" + }, + { + "name":"pino-v6.3.2", + "status":"PASSED" + }, + { + "name":"pumpify-v2.0.1", + "status":"PASSED" + }, + { + "name":"q-v1.5.1", + "status":"PASSED" + }, + { + "name":"pug-v3.0.0", + "status":"PASSED" + }, + { + "name":"react", + "status":"SKIPPED" + }, + { + "name":"readable-stream", + "status":"SKIPPED" + }, + { + "name":"ref", + "status":"SKIPPED" + }, + { + "name":"radium-v0.26.0", + "status":"PASSED" + }, + { + "name":"resolve-v1.17.0", + "status":"PASSED" + }, + { + "name":"rewire-v5.0.0", + "status":"PASSED" + }, + { + "name":"rimraf-v3.0.2", + "status":"PASSED" + }, + { + "name":"router-v1.3.5", + "status":"PASSED" + }, + { + "name":"sax-v1.2.4", + "status":"PASSED" + }, + { + "name":"semver-v7.3.2", + "status":"PASSED" + }, + { + "name":"serialport-v9.0.0", + "status":"PASSED" + }, + { + "name":"shot-v4.0.7", + "status":"PASSED" + }, + { + "name":"spawn-wrap-v2.0.0", + "status":"PASSED" + }, + { + "name":"spdy", + "status":"SKIPPED" + }, + { + "name":"spdy-transport", + "status":"SKIPPED" + }, + { + "name":"socket.io-v2.3.0", + "status":"PASSED" + }, + { + "name":"sqlite3", + "status":"SKIPPED" + }, + { + "name":"stylus", + "status":"SKIPPED" + }, + { + "name":"split2-v3.1.1", + "status":"PASSED" + }, + { + "name":"thread-sleep-v2.2.0", + "status":"PASSED" + }, + { + "name":"through2-v3.0.1", + "status":"PASSED" + }, + { + "name":"tape-v5.0.1", + "status":"PASSED" + }, + { + "name":"time", + "status":"SKIPPED" + }, + { + "name":"throughv-v1.0.4", + "status":"PASSED" + }, + { + "name":"uglify-js", + "status":"SKIPPED" + }, + { + "name":"torrent-stream-v1.2.0", + "status":"PASSED" + }, + { + "name":"underscore-v1.10.2", + "status":"FIXED" + }, + { + "name":"vinyl-v2.2.0", + "status":"PASSED" + }, + { + "name":"vinyl-fs", + "status":"SKIPPED" + }, + { + "name":"uuid-v8.1.0", + "status":"PASSED" + }, + { + "name":"weak", + "status":"SKIPPED" + }, + { + "name":"watchify-v3.11.1", + "status":"PASSED" + }, + { + "name":"ws-v7.3.0", + "status":"PASSED" + }, + { + "name":"winston-v3.2.1", + "status":"PASSED" + }, + { + "name":"yargs-v15.3.1", + "status":"PASSED" + }, + { + "name":"zeromq", + "status":"SKIPPED" + }, + { + "name":"yeoman-generator-v4.10.1", + "status":"PASSED" + } + ] + } + ] + } + }, + { + "child":{ + "_class":"hudson.matrix.MatrixRun", + "url":"https://ci.nodejs.org/job/citgm-smoker/nodes=ubuntu1804-64/2392/" + }, + "result":{ + "_class":"hudson.tasks.junit.TestResult", + "suites":[ + { + "cases":[ + { + "name":"@nearform/doctor-v5.0.2", + "status":"SKIPPED" + }, + { + "name":"@nearform/bubbleprof-v4.0.2", + "status":"FIXED" + }, + { + "name":"JSONStream-v1.3.5", + "status":"PASSED" + }, + { + "name":"@nearform/flame-v6.0.1", + "status":"SKIPPED" + }, + { + "name":"async", + "status":"SKIPPED" + }, + { + "name":"ava", + "status":"SKIPPED" + }, + { + "name":"bcrypt-v5.0.0", + "status":"PASSED" + }, + { + "name":"binary-split-v1.0.5", + "status":"PASSED" + }, + { + "name":"bl-v4.0.2", + "status":"PASSED" + }, + { + "name":"blake2b-wasm-v2.1.0", + "status":"PASSED" + }, + { + "name":"bluebird-v3.7.2", + "status":"PASSED" + }, + { + "name":"body-parser-v1.19.0", + "status":"PASSED" + }, + { + "name":"browserify-v16.5.1", + "status":"PASSED" + }, + { + "name":"bson", + "status":"SKIPPED" + }, + { + "name":"bufferutil-v4.0.1", + "status":"PASSED" + }, + { + "name":"cheerio-v1.0.0-rc.3", + "status":"PASSED" + }, + { + "name":"acorn-v7.3.1", + "status":"PASSED" + }, + { + "name":"coffeescript-v2.5.1", + "status":"PASSED" + }, + { + "name":"commander", + "status":"SKIPPED" + }, + { + "name":"crc32-stream-v3.0.1", + "status":"PASSED" + }, + { + "name":"csv-parser-v2.3.3", + "status":"PASSED" + }, + { + "name":"david", + "status":"SKIPPED" + }, + { + "name":"debug-v4.1.1", + "status":"PASSED" + }, + { + "name":"dicer-v0.3.0", + "status":"PASSED" + }, + { + "name":"duplexer2-v0.1.4", + "status":"PASSED" + }, + { + "name":"duplexify-v4.1.1", + "status":"PASSED" + }, + { + "name":"clinic-v6.0.2", + "status":"PASSED" + }, + { + "name":"eslint", + "status":"SKIPPED" + }, + { + "name":"ember-cli-v3.18.0", + "status":"PASSED" + }, + { + "name":"esprima-v4.0.1", + "status":"PASSED" + }, + { + "name":"eslint-plugin-jest-v23.13.2", + "status":"PASSED" + }, + { + "name":"express-v4.17.1", + "status":"PASSED" + }, + { + "name":"express-session-v1.17.1", + "status":"PASSED" + }, + { + "name":"ffi", + "status":"SKIPPED" + }, + { + "name":"flush-write-stream-v2.0.0", + "status":"PASSED" + }, + { + "name":"from2-v2.3.0", + "status":"PASSED" + }, + { + "name":"fs-extra", + "status":"SKIPPED" + }, + { + "name":"full-icu-test-v1.0.3", + "status":"PASSED" + }, + { + "name":"glob-v7.1.6", + "status":"PASSED" + }, + { + "name":"got", + "status":"SKIPPED" + }, + { + "name":"graceful-fs", + "status":"SKIPPED" + }, + { + "name":"fastify-v2.14.1", + "status":"PASSED" + }, + { + "name":"gulp-v4.0.2", + "status":"PASSED" + }, + { + "name":"gulp-util-v3.0.8", + "status":"PASSED" + }, + { + "name":"iconv-v3.0.0", + "status":"PASSED" + }, + { + "name":"isarray-v2.0.5", + "status":"PASSED" + }, + { + "name":"inherits-v2.0.4", + "status":"PASSED" + }, + { + "name":"koa-v2.12.1", + "status":"PASSED" + }, + { + "name":"jquery-v3.5.1", + "status":"SKIPPED" + }, + { + "name":"level-v6.0.1", + "status":"PASSED" + }, + { + "name":"libxmljs", + "status":"SKIPPED" + }, + { + "name":"lodash-v4.17.15", + "status":"PASSED" + }, + { + "name":"leveldown-v5.6.0", + "status":"PASSED" + }, + { + "name":"microtime-v3.0.0", + "status":"PASSED" + }, + { + "name":"mime-v2.4.6", + "status":"PASSED" + }, + { + "name":"mkdirp", + "status":"SKIPPED" + }, + { + "name":"mocha", + "status":"SKIPPED" + }, + { + "name":"moment", + "status":"SKIPPED" + }, + { + "name":"minimist-v1.2.5", + "status":"PASSED" + }, + { + "name":"multer-v1.4.2", + "status":"PASSED" + }, + { + "name":"node-gyp-v7.0.0", + "status":"PASSED" + }, + { + "name":"nan-v2.14.1", + "status":"PASSED" + }, + { + "name":"node-sass", + "status":"SKIPPED" + }, + { + "name":"node-report-v2.2.10", + "status":"PASSED" + }, + { + "name":"path-to-regexp-v6.1.0", + "status":"PASSED" + }, + { + "name":"pino-v6.3.2", + "status":"PASSED" + }, + { + "name":"pumpify-v2.0.1", + "status":"PASSED" + }, + { + "name":"q-v1.5.1", + "status":"PASSED" + }, + { + "name":"pug-v3.0.0", + "status":"PASSED" + }, + { + "name":"react", + "status":"SKIPPED" + }, + { + "name":"readable-stream", + "status":"SKIPPED" + }, + { + "name":"ref", + "status":"SKIPPED" + }, + { + "name":"resolve-v1.17.0", + "status":"PASSED" + }, + { + "name":"radium-v0.26.0", + "status":"PASSED" + }, + { + "name":"rewire-v5.0.0", + "status":"PASSED" + }, + { + "name":"rimraf-v3.0.2", + "status":"PASSED" + }, + { + "name":"router-v1.3.5", + "status":"PASSED" + }, + { + "name":"sax-v1.2.4", + "status":"PASSED" + }, + { + "name":"semver-v7.3.2", + "status":"PASSED" + }, + { + "name":"shot-v4.0.7", + "status":"PASSED" + }, + { + "name":"serialport-v9.0.0", + "status":"PASSED" + }, + { + "name":"spawn-wrap-v2.0.0", + "status":"PASSED" + }, + { + "name":"spdy", + "status":"SKIPPED" + }, + { + "name":"spdy-transport", + "status":"SKIPPED" + }, + { + "name":"socket.io-v2.3.0", + "status":"PASSED" + }, + { + "name":"sqlite3", + "status":"SKIPPED" + }, + { + "name":"stylus", + "status":"SKIPPED" + }, + { + "name":"split2-v3.1.1", + "status":"PASSED" + }, + { + "name":"thread-sleep-v2.2.0", + "status":"PASSED" + }, + { + "name":"through2-v3.0.1", + "status":"PASSED" + }, + { + "name":"tape-v5.0.1", + "status":"PASSED" + }, + { + "name":"time", + "status":"SKIPPED" + }, + { + "name":"throughv-v1.0.4", + "status":"PASSED" + }, + { + "name":"uglify-js", + "status":"SKIPPED" + }, + { + "name":"underscore-v1.10.2", + "status":"PASSED" + }, + { + "name":"torrent-stream-v1.2.0", + "status":"REGRESSION" + }, + { + "name":"uuid-v8.1.0", + "status":"PASSED" + }, + { + "name":"vinyl-fs", + "status":"SKIPPED" + }, + { + "name":"vinyl-v2.2.0", + "status":"PASSED" + }, + { + "name":"weak", + "status":"SKIPPED" + }, + { + "name":"watchify-v3.11.1", + "status":"PASSED" + }, + { + "name":"ws-v7.3.0", + "status":"PASSED" + }, + { + "name":"winston-v3.2.1", + "status":"PASSED" + }, + { + "name":"yargs-v15.3.1", + "status":"PASSED" + }, + { + "name":"zeromq", + "status":"SKIPPED" + }, + { + "name":"yeoman-generator-v4.10.1", + "status":"PASSED" + } + ] + } + ] + } + }, + { + "child":{ + "_class":"hudson.matrix.MatrixRun", + "url":"https://ci.nodejs.org/job/citgm-smoker/nodes=fedora-last-latest-x64/2392/" + }, + "result":{ + "_class":"hudson.tasks.junit.TestResult", + "suites":[ + { + "cases":[ + { + "name":"@nearform/doctor-v5.0.2", + "status":"SKIPPED" + }, + { + "name":"@nearform/bubbleprof-v4.0.2", + "status":"FIXED" + }, + { + "name":"JSONStream-v1.3.5", + "status":"PASSED" + }, + { + "name":"@nearform/flame-v6.0.1", + "status":"FIXED" + }, + { + "name":"async", + "status":"SKIPPED" + }, + { + "name":"ava", + "status":"SKIPPED" + }, + { + "name":"bcrypt-v5.0.0", + "status":"PASSED" + }, + { + "name":"binary-split-v1.0.5", + "status":"PASSED" + }, + { + "name":"bl-v4.0.2", + "status":"PASSED" + }, + { + "name":"blake2b-wasm-v2.1.0", + "status":"PASSED" + }, + { + "name":"bluebird-v3.7.2", + "status":"PASSED" + }, + { + "name":"body-parser-v1.19.0", + "status":"PASSED" + }, + { + "name":"acorn-v7.3.1", + "status":"PASSED" + }, + { + "name":"bson", + "status":"SKIPPED" + }, + { + "name":"bufferutil-v4.0.1", + "status":"PASSED" + }, + { + "name":"browserify-v16.5.1", + "status":"PASSED" + }, + { + "name":"cheerio-v1.0.0-rc.3", + "status":"PASSED" + }, + { + "name":"coffeescript-v2.5.1", + "status":"PASSED" + }, + { + "name":"commander", + "status":"SKIPPED" + }, + { + "name":"crc32-stream-v3.0.1", + "status":"PASSED" + }, + { + "name":"csv-parser-v2.3.3", + "status":"PASSED" + }, + { + "name":"david", + "status":"SKIPPED" + }, + { + "name":"debug-v4.1.1", + "status":"PASSED" + }, + { + "name":"dicer-v0.3.0", + "status":"PASSED" + }, + { + "name":"duplexer2-v0.1.4", + "status":"PASSED" + }, + { + "name":"duplexify-v4.1.1", + "status":"PASSED" + }, + { + "name":"clinic-v6.0.2", + "status":"PASSED" + }, + { + "name":"eslint", + "status":"SKIPPED" + }, + { + "name":"ember-cli-v3.18.0", + "status":"PASSED" + }, + { + "name":"esprima-v4.0.1", + "status":"PASSED" + }, + { + "name":"eslint-plugin-jest-v23.13.2", + "status":"PASSED" + }, + { + "name":"express-v4.17.1", + "status":"PASSED" + }, + { + "name":"express-session-v1.17.1", + "status":"PASSED" + }, + { + "name":"ffi", + "status":"SKIPPED" + }, + { + "name":"flush-write-stream-v2.0.0", + "status":"PASSED" + }, + { + "name":"from2-v2.3.0", + "status":"PASSED" + }, + { + "name":"fs-extra", + "status":"SKIPPED" + }, + { + "name":"full-icu-test-v1.0.3", + "status":"PASSED" + }, + { + "name":"glob-v7.1.6", + "status":"PASSED" + }, + { + "name":"got", + "status":"SKIPPED" + }, + { + "name":"graceful-fs", + "status":"SKIPPED" + }, + { + "name":"fastify-v2.14.1", + "status":"PASSED" + }, + { + "name":"gulp-v4.0.2", + "status":"PASSED" + }, + { + "name":"gulp-util-v3.0.8", + "status":"PASSED" + }, + { + "name":"iconv-v3.0.0", + "status":"PASSED" + }, + { + "name":"isarray-v2.0.5", + "status":"PASSED" + }, + { + "name":"inherits-v2.0.4", + "status":"PASSED" + }, + { + "name":"koa-v2.12.1", + "status":"PASSED" + }, + { + "name":"jquery-v3.5.1", + "status":"SKIPPED" + }, + { + "name":"level-v6.0.1", + "status":"PASSED" + }, + { + "name":"libxmljs", + "status":"SKIPPED" + }, + { + "name":"leveldown-v5.6.0", + "status":"PASSED" + }, + { + "name":"lodash-v4.17.15", + "status":"PASSED" + }, + { + "name":"mime-v2.4.6", + "status":"PASSED" + }, + { + "name":"microtime-v3.0.0", + "status":"PASSED" + }, + { + "name":"mkdirp", + "status":"SKIPPED" + }, + { + "name":"mocha", + "status":"SKIPPED" + }, + { + "name":"moment", + "status":"SKIPPED" + }, + { + "name":"minimist-v1.2.5", + "status":"PASSED" + }, + { + "name":"multer-v1.4.2", + "status":"PASSED" + }, + { + "name":"node-gyp-v7.0.0", + "status":"PASSED" + }, + { + "name":"nan-v2.14.1", + "status":"PASSED" + }, + { + "name":"node-sass", + "status":"SKIPPED" + }, + { + "name":"node-report-v2.2.10", + "status":"PASSED" + }, + { + "name":"path-to-regexp-v6.1.0", + "status":"PASSED" + }, + { + "name":"pino-v6.3.2", + "status":"PASSED" + }, + { + "name":"pumpify-v2.0.1", + "status":"PASSED" + }, + { + "name":"q-v1.5.1", + "status":"PASSED" + }, + { + "name":"pug-v3.0.0", + "status":"PASSED" + }, + { + "name":"react", + "status":"SKIPPED" + }, + { + "name":"readable-stream", + "status":"SKIPPED" + }, + { + "name":"ref", + "status":"SKIPPED" + }, + { + "name":"radium-v0.26.0", + "status":"PASSED" + }, + { + "name":"resolve-v1.17.0", + "status":"PASSED" + }, + { + "name":"rewire-v5.0.0", + "status":"PASSED" + }, + { + "name":"rimraf-v3.0.2", + "status":"PASSED" + }, + { + "name":"router-v1.3.5", + "status":"PASSED" + }, + { + "name":"sax-v1.2.4", + "status":"PASSED" + }, + { + "name":"semver-v7.3.2", + "status":"PASSED" + }, + { + "name":"serialport-v9.0.0", + "status":"PASSED" + }, + { + "name":"shot-v4.0.7", + "status":"PASSED" + }, + { + "name":"socket.io-v2.3.0", + "status":"PASSED" + }, + { + "name":"spdy", + "status":"SKIPPED" + }, + { + "name":"spdy-transport", + "status":"SKIPPED" + }, + { + "name":"spawn-wrap-v2.0.0", + "status":"PASSED" + }, + { + "name":"sqlite3", + "status":"SKIPPED" + }, + { + "name":"stylus", + "status":"SKIPPED" + }, + { + "name":"split2-v3.1.1", + "status":"PASSED" + }, + { + "name":"thread-sleep-v2.2.0", + "status":"PASSED" + }, + { + "name":"through2-v3.0.1", + "status":"PASSED" + }, + { + "name":"tape-v5.0.1", + "status":"PASSED" + }, + { + "name":"time", + "status":"SKIPPED" + }, + { + "name":"throughv-v1.0.4", + "status":"PASSED" + }, + { + "name":"uglify-js", + "status":"SKIPPED" + }, + { + "name":"torrent-stream-v1.2.0", + "status":"PASSED" + }, + { + "name":"underscore-v1.10.2", + "status":"PASSED" + }, + { + "name":"vinyl-v2.2.0", + "status":"PASSED" + }, + { + "name":"vinyl-fs", + "status":"SKIPPED" + }, + { + "name":"uuid-v8.1.0", + "status":"PASSED" + }, + { + "name":"weak", + "status":"SKIPPED" + }, + { + "name":"watchify-v3.11.1", + "status":"PASSED" + }, + { + "name":"winston-v3.2.1", + "status":"PASSED" + }, + { + "name":"ws-v7.3.0", + "status":"PASSED" + }, + { + "name":"yargs-v15.3.1", + "status":"PASSED" + }, + { + "name":"zeromq", + "status":"SKIPPED" + }, + { + "name":"yeoman-generator-v4.10.1", + "status":"PASSED" + } + ] + } + ] + } + }, + { + "child":{ + "_class":"hudson.matrix.MatrixRun", + "url":"https://ci.nodejs.org/job/citgm-smoker/nodes=ubuntu1604-64/2392/" + }, + "result":{ + "_class":"hudson.tasks.junit.TestResult", + "suites":[ + { + "cases":[ + { + "name":"JSONStream-v1.3.5", + "status":"PASSED" + }, + { + "name":"@nearform/flame-v6.0.1", + "status":"PASSED" + }, + { + "name":"async", + "status":"SKIPPED" + }, + { + "name":"ava", + "status":"SKIPPED" + }, + { + "name":"@nearform/doctor-v5.0.2", + "status":"FIXED" + }, + { + "name":"bcrypt-v5.0.0", + "status":"PASSED" + }, + { + "name":"binary-split-v1.0.5", + "status":"PASSED" + }, + { + "name":"blake2b-wasm-v2.1.0", + "status":"PASSED" + }, + { + "name":"bl-v4.0.2", + "status":"PASSED" + }, + { + "name":"@nearform/bubbleprof-v4.0.2", + "status":"FIXED" + }, + { + "name":"body-parser-v1.19.0", + "status":"PASSED" + }, + { + "name":"bson", + "status":"SKIPPED" + }, + { + "name":"bluebird-v3.7.2", + "status":"PASSED" + }, + { + "name":"bufferutil-v4.0.1", + "status":"PASSED" + }, + { + "name":"cheerio-v1.0.0-rc.3", + "status":"PASSED" + }, + { + "name":"coffeescript-v2.5.1", + "status":"PASSED" + }, + { + "name":"commander", + "status":"SKIPPED" + }, + { + "name":"crc32-stream-v3.0.1", + "status":"PASSED" + }, + { + "name":"browserify-v16.5.1", + "status":"PASSED" + }, + { + "name":"david", + "status":"SKIPPED" + }, + { + "name":"csv-parser-v2.3.3", + "status":"PASSED" + }, + { + "name":"dicer-v0.3.0", + "status":"PASSED" + }, + { + "name":"acorn-v7.3.1", + "status":"PASSED" + }, + { + "name":"duplexer2-v0.1.4", + "status":"PASSED" + }, + { + "name":"duplexify-v4.1.1", + "status":"PASSED" + }, + { + "name":"eslint", + "status":"SKIPPED" + }, + { + "name":"debug-v4.1.1", + "status":"PASSED" + }, + { + "name":"esprima-v4.0.1", + "status":"PASSED" + }, + { + "name":"eslint-plugin-jest-v23.13.2", + "status":"PASSED" + }, + { + "name":"express-v4.17.1", + "status":"PASSED" + }, + { + "name":"express-session-v1.17.1", + "status":"PASSED" + }, + { + "name":"ffi", + "status":"SKIPPED" + }, + { + "name":"flush-write-stream-v2.0.0", + "status":"PASSED" + }, + { + "name":"from2-v2.3.0", + "status":"PASSED" + }, + { + "name":"fs-extra", + "status":"SKIPPED" + }, + { + "name":"full-icu-test-v1.0.3", + "status":"PASSED" + }, + { + "name":"glob-v7.1.6", + "status":"PASSED" + }, + { + "name":"got", + "status":"SKIPPED" + }, + { + "name":"graceful-fs", + "status":"SKIPPED" + }, + { + "name":"fastify-v2.14.1", + "status":"PASSED" + }, + { + "name":"gulp-util-v3.0.8", + "status":"PASSED" + }, + { + "name":"gulp-v4.0.2", + "status":"PASSED" + }, + { + "name":"iconv-v3.0.0", + "status":"PASSED" + }, + { + "name":"clinic-v6.0.2", + "status":"PASSED" + }, + { + "name":"isarray-v2.0.5", + "status":"PASSED" + }, + { + "name":"inherits-v2.0.4", + "status":"PASSED" + }, + { + "name":"koa-v2.12.1", + "status":"PASSED" + }, + { + "name":"ember-cli-v3.18.0", + "status":"PASSED" + }, + { + "name":"libxmljs", + "status":"SKIPPED" + }, + { + "name":"level-v6.0.1", + "status":"PASSED" + }, + { + "name":"jquery-v3.5.1", + "status":"SKIPPED" + }, + { + "name":"mime-v2.4.6", + "status":"PASSED" + }, + { + "name":"microtime-v3.0.0", + "status":"PASSED" + }, + { + "name":"mkdirp", + "status":"SKIPPED" + }, + { + "name":"mocha", + "status":"SKIPPED" + }, + { + "name":"moment", + "status":"SKIPPED" + }, + { + "name":"minimist-v1.2.5", + "status":"PASSED" + }, + { + "name":"lodash-v4.17.15", + "status":"PASSED" + }, + { + "name":"multer-v1.4.2", + "status":"PASSED" + }, + { + "name":"leveldown-v5.6.0", + "status":"PASSED" + }, + { + "name":"node-sass", + "status":"SKIPPED" + }, + { + "name":"node-report-v2.2.10", + "status":"PASSED" + }, + { + "name":"node-gyp-v7.0.0", + "status":"PASSED" + }, + { + "name":"nan-v2.14.1", + "status":"PASSED" + }, + { + "name":"pumpify-v2.0.1", + "status":"PASSED" + }, + { + "name":"q-v1.5.1", + "status":"PASSED" + }, + { + "name":"pug-v3.0.0", + "status":"PASSED" + }, + { + "name":"react", + "status":"SKIPPED" + }, + { + "name":"readable-stream", + "status":"SKIPPED" + }, + { + "name":"ref", + "status":"SKIPPED" + }, + { + "name":"path-to-regexp-v6.1.0", + "status":"PASSED" + }, + { + "name":"pino-v6.3.2", + "status":"PASSED" + }, + { + "name":"rewire-v5.0.0", + "status":"PASSED" + }, + { + "name":"radium-v0.26.0", + "status":"PASSED" + }, + { + "name":"resolve-v1.17.0", + "status":"PASSED" + }, + { + "name":"rimraf-v3.0.2", + "status":"PASSED" + }, + { + "name":"router-v1.3.5", + "status":"PASSED" + }, + { + "name":"sax-v1.2.4", + "status":"PASSED" + }, + { + "name":"shot-v4.0.7", + "status":"PASSED" + }, + { + "name":"semver-v7.3.2", + "status":"PASSED" + }, + { + "name":"spdy", + "status":"SKIPPED" + }, + { + "name":"spdy-transport", + "status":"SKIPPED" + }, + { + "name":"serialport-v9.0.0", + "status":"PASSED" + }, + { + "name":"sqlite3", + "status":"SKIPPED" + }, + { + "name":"stylus", + "status":"SKIPPED" + }, + { + "name":"spawn-wrap-v2.0.0", + "status":"PASSED" + }, + { + "name":"socket.io-v2.3.0", + "status":"PASSED" + }, + { + "name":"thread-sleep-v2.2.0", + "status":"PASSED" + }, + { + "name":"split2-v3.1.1", + "status":"PASSED" + }, + { + "name":"time", + "status":"SKIPPED" + }, + { + "name":"through2-v3.0.1", + "status":"PASSED" + }, + { + "name":"uglify-js", + "status":"SKIPPED" + }, + { + "name":"throughv-v1.0.4", + "status":"PASSED" + }, + { + "name":"torrent-stream-v1.2.0", + "status":"PASSED" + }, + { + "name":"tape-v5.0.1", + "status":"PASSED" + }, + { + "name":"vinyl-fs", + "status":"SKIPPED" + }, + { + "name":"underscore-v1.10.2", + "status":"PASSED" + }, + { + "name":"weak", + "status":"SKIPPED" + }, + { + "name":"vinyl-v2.2.0", + "status":"PASSED" + }, + { + "name":"uuid-v8.1.0", + "status":"PASSED" + }, + { + "name":"watchify-v3.11.1", + "status":"PASSED" + }, + { + "name":"ws-v7.3.0", + "status":"PASSED" + }, + { + "name":"zeromq", + "status":"SKIPPED" + }, + { + "name":"yargs-v15.3.1", + "status":"PASSED" + }, + { + "name":"winston-v3.2.1", + "status":"PASSED" + }, + { + "name":"yeoman-generator-v4.10.1", + "status":"PASSED" + } + ] + } + ] + } + } + ] +} \ No newline at end of file diff --git a/test/fixtures/jenkins/citgm-compare/citgm-smoker-2392.json b/test/fixtures/jenkins/citgm-compare/citgm-smoker-2392.json new file mode 100644 index 00000000..d69341d3 --- /dev/null +++ b/test/fixtures/jenkins/citgm-compare/citgm-smoker-2392.json @@ -0,0 +1,349 @@ +{ + "_class":"hudson.matrix.MatrixBuild", + "actions":[ + { + "_class":"hudson.model.CauseAction", + "causes":[ + { + "_class":"hudson.model.Cause$UserIdCause", + "shortDescription":"Started by user Shelley Vohr", + "userId":"codebytere", + "userName":"Shelley Vohr" + } + ] + }, + { + + }, + { + + }, + { + + }, + { + + }, + { + "_class":"hudson.plugins.git.util.BuildData", + "buildsByBranchName":{ + "refs/remotes/origin/_jenkins_local_branch":{ + "_class":"hudson.plugins.git.util.Build", + "buildNumber":2392, + "buildResult":null, + "marked":{ + "SHA1":"feed95cd4c2cbdb068289f614d626226c18a838e", + "branch":[ + { + "SHA1":"feed95cd4c2cbdb068289f614d626226c18a838e", + "name":"refs/remotes/origin/_jenkins_local_branch" + } + ] + }, + "revision":{ + "SHA1":"feed95cd4c2cbdb068289f614d626226c18a838e", + "branch":[ + { + "SHA1":"feed95cd4c2cbdb068289f614d626226c18a838e", + "name":"refs/remotes/origin/_jenkins_local_branch" + } + ] + } + } + }, + "lastBuiltRevision":{ + "SHA1":"feed95cd4c2cbdb068289f614d626226c18a838e", + "branch":[ + { + "SHA1":"feed95cd4c2cbdb068289f614d626226c18a838e", + "name":"refs/remotes/origin/_jenkins_local_branch" + } + ] + }, + "remoteUrls":[ + "git@github.com:$GITHUB_ORG/$REPO_NAME.git" + ], + "scmName":"" + }, + { + "_class":"hudson.plugins.git.GitTagAction" + }, + { + + }, + { + "_class":"hudson.model.ParametersAction", + "parameters":[ + { + "_class":"hudson.model.StringParameterValue", + "name":"NODEJS_VERSION", + "value":"12.18.1" + }, + { + "_class":"hudson.model.StringParameterValue", + "name":"NODEJS_MAJOR_VERSION", + "value":"12" + }, + { + "_class":"hudson.model.StringParameterValue", + "name":"GITHUB_ORG", + "value":"nodejs" + }, + { + "_class":"hudson.model.StringParameterValue", + "name":"REPO_NAME", + "value":"node" + }, + { + "_class":"hudson.model.StringParameterValue", + "name":"GIT_REMOTE_REF", + "value":"refs/heads/v12.x" + }, + { + "_class":"hudson.model.StringParameterValue", + "name":"REBASE_ONTO", + "value":"" + }, + { + "_class":"hudson.model.StringParameterValue", + "name":"CITGM_LOGLEVEL", + "value":"warn" + }, + { + "_class":"hudson.model.StringParameterValue", + "name":"NPM_LOGLEVEL", + "value":"error" + }, + { + "_class":"hudson.model.StringParameterValue", + "name":"CITGM", + "value":"citgm" + }, + { + "_class":"hudson.model.StringParameterValue", + "name":"CITGM_COMMAND", + "value":"citgm-all -J" + }, + { + "_class":"hudson.model.BooleanParameterValue", + "name":"DISABLE_READABLE_STREAM", + "value":false + }, + { + "_class":"hudson.plugins.matrix_configuration_parameter.MatrixCombinationsParameterValue", + "name":"PLATFORMS" + } + ] + }, + { + + }, + { + + }, + { + "_class":"hudson.tasks.test.MatrixTestResult", + "failCount":4, + "skipCount":212, + "totalCount":742, + "urlName":"testReport" + }, + { + + }, + { + + }, + { + + }, + { + + }, + { + + }, + { + + } + ], + "artifacts":[ + + ], + "building":false, + "description":null, + "displayName":"#2392", + "duration":10813244, + "estimatedDuration":8446054, + "executor":null, + "fullDisplayName":"citgm-smoker #2392", + "id":"2392", + "keepLog":false, + "number":2392, + "queueId":766992, + "result":"FAILURE", + "timestamp":1592318183327, + "url":"https://ci.nodejs.org/job/citgm-smoker/2392/", + "builtOn":"test-packetnet-ubuntu1804-x64-1", + "changeSet":{ + "_class":"hudson.plugins.git.GitChangeSetList", + "items":[ + { + "_class":"hudson.plugins.git.GitChangeSet", + "affectedPaths":[ + "src/node_version.h" + ], + "commitId":"feed95cd4c2cbdb068289f614d626226c18a838e", + "timestamp":1591122467000, + "author":{ + "absoluteUrl":"https://ci.nodejs.org/user/targos", + "fullName":"Michaël Zasso" + }, + "authorEmail":"targos@protonmail.com", + "comment":"Working on v12.18.1\n\nPR-URL: https://github.com/nodejs-private/node-private/pull/213\n", + "date":"2020-06-02 20:27:47 +0200", + "id":"feed95cd4c2cbdb068289f614d626226c18a838e", + "msg":"Working on v12.18.1", + "paths":[ + { + "editType":"edit", + "file":"src/node_version.h" + } + ] + } + ], + "kind":"git" + }, + "culprits":[ + { + "absoluteUrl":"https://ci.nodejs.org/user/addaleax", + "fullName":"Anna Henningsen" + }, + { + "absoluteUrl":"https://ci.nodejs.org/user/bethany.griggs", + "fullName":"Bethany.Griggs" + }, + { + "absoluteUrl":"https://ci.nodejs.org/user/bridgear", + "fullName":"Ruben Bridgewater" + }, + { + "absoluteUrl":"https://ci.nodejs.org/user/codebytere", + "fullName":"Shelley Vohr" + }, + { + "absoluteUrl":"https://ci.nodejs.org/user/dan.fabulich", + "fullName":"dan.fabulich" + }, + { + "absoluteUrl":"https://ci.nodejs.org/user/devsnek", + "fullName":"Gus Caplan" + }, + { + "absoluteUrl":"https://ci.nodejs.org/user/gireeshpunathil", + "fullName":"Gireesh Punathil" + }, + { + "absoluteUrl":"https://ci.nodejs.org/user/github", + "fullName":"github" + }, + { + "absoluteUrl":"https://ci.nodejs.org/user/jasnell", + "fullName":"James M Snell" + }, + { + "absoluteUrl":"https://ci.nodejs.org/user/lpinca", + "fullName":"Luigi Pinca" + }, + { + "absoluteUrl":"https://ci.nodejs.org/user/mmarchini", + "fullName":"mmarchini" + }, + { + "absoluteUrl":"https://ci.nodejs.org/user/mylesborins", + "fullName":"Myles Borins" + }, + { + "absoluteUrl":"https://ci.nodejs.org/user/puzpuzpuz", + "fullName":"Andrey Pechkurov" + }, + { + "absoluteUrl":"https://ci.nodejs.org/user/rexagod", + "fullName":"Pranshu Srivastava" + }, + { + "absoluteUrl":"https://ci.nodejs.org/user/ronag", + "fullName":"Robert Nagy" + }, + { + "absoluteUrl":"https://ci.nodejs.org/user/sam-github", + "fullName":"Sam Roberts" + }, + { + "absoluteUrl":"https://ci.nodejs.org/user/targos", + "fullName":"Michaël Zasso" + }, + { + "absoluteUrl":"https://ci.nodejs.org/user/tniessen", + "fullName":"Tobias Nießen" + }, + { + "absoluteUrl":"https://ci.nodejs.org/user/trott", + "fullName":"Rich Trott" + }, + { + "absoluteUrl":"https://ci.nodejs.org/user/unknown", + "fullName":"unknown" + }, + { + "absoluteUrl":"https://ci.nodejs.org/user/vdeturckheim", + "fullName":"Vladimir de Turckheim" + } + ], + "runs":[ + { + "number":2392, + "url":"https://ci.nodejs.org/job/citgm-smoker/nodes=aix71-ppc64/2392/" + }, + { + "number":2392, + "url":"https://ci.nodejs.org/job/citgm-smoker/nodes=centos7-ppcle/2392/" + }, + { + "number":2392, + "url":"https://ci.nodejs.org/job/citgm-smoker/nodes=debian9-64/2392/" + }, + { + "number":2392, + "url":"https://ci.nodejs.org/job/citgm-smoker/nodes=fedora-last-latest-x64/2392/" + }, + { + "number":2392, + "url":"https://ci.nodejs.org/job/citgm-smoker/nodes=fedora-latest-x64/2392/" + }, + { + "number":2392, + "url":"https://ci.nodejs.org/job/citgm-smoker/nodes=osx1014/2392/" + }, + { + "number":2392, + "url":"https://ci.nodejs.org/job/citgm-smoker/nodes=osx1015/2392/" + }, + { + "number":2392, + "url":"https://ci.nodejs.org/job/citgm-smoker/nodes=rhel7-s390x/2392/" + }, + { + "number":2392, + "url":"https://ci.nodejs.org/job/citgm-smoker/nodes=ubuntu1604-64/2392/" + }, + { + "number":2392, + "url":"https://ci.nodejs.org/job/citgm-smoker/nodes=ubuntu1804-64/2392/" + }, + { + "number":2392, + "url":"https://ci.nodejs.org/job/citgm-smoker/nodes=win-vs2017/2392/" + } + ] +} \ No newline at end of file diff --git a/test/fixtures/jenkins/citgm-compare/expected.json b/test/fixtures/jenkins/citgm-compare/expected.json new file mode 100644 index 00000000..ddd76542 --- /dev/null +++ b/test/fixtures/jenkins/citgm-compare/expected.json @@ -0,0 +1,49 @@ +{ + "baseBuild": { + "source": "https://api.github.com/repos/nodejs/node/git/refs/heads/v12.x", + "upstream": "https://ci.nodejs.org/job/citgm-smoker/2390/" + }, + "comparisonBuild": { + "source": "https://github.com/nodejs/node/pull/33811/", + "upstream": "https://ci.nodejs.org/job/citgm-smoker/2392/" + }, + "debian9-64": [ + { + "name": "express-session-v1.17.1", + "status": "FAILED" + }, + { + "name": "yeoman-generator-v4.10.1", + "status": "FAILED" + } + ], + "centos7-ppcle": [ + { + "name": "ember-cli-v3.18.0", + "status": "FAILED" + }, + { + "name": "multer-v1.4.2", + "status": "FAILED" + }, + { + "name": "torrent-stream-v1.2.0", + "status": "FAILED" + } + ], + "rhel7-s390x": [ + { + "name": "torrent-stream-v1.2.0", + "status": "FAILED" + } + ], + "fedora-latest-x64": [ + { + "name": "spawn-wrap-v2.0.0", + "status": "FAILED" + } + ], + "ubuntu1804-64": [], + "fedora-last-latest-x64": [], + "ubuntu1604-64": [] +} diff --git a/test/fixtures/jenkins/citgm-compare/expected.md b/test/fixtures/jenkins/citgm-compare/expected.md new file mode 100644 index 00000000..b446debf --- /dev/null +++ b/test/fixtures/jenkins/citgm-compare/expected.md @@ -0,0 +1,35 @@ +# CITGM Data for [#2392](https://ci.nodejs.org/job/citgm-smoker/2392/) - [#2390](https://ci.nodejs.org/job/citgm-smoker/2390/) + +## New Failures in job [#2390](https://ci.nodejs.org/job/citgm-smoker/2390/) + +### debian9-64 + +* express-session-v1.17.1 +* yeoman-generator-v4.10.1 + +### centos7-ppcle + +* ember-cli-v3.18.0 +* multer-v1.4.2 +* torrent-stream-v1.2.0 + +### rhel7-s390x + +* torrent-stream-v1.2.0 + +### fedora-latest-x64 + +* spawn-wrap-v2.0.0 + +### ubuntu1804-64 + +None. + +### fedora-last-latest-x64 + +None. + +### ubuntu1604-64 + +None. + diff --git a/test/unit/ci_result_parser.test.js b/test/unit/ci_result_parser.test.js index 4f207c93..46126a0c 100644 --- a/test/unit/ci_result_parser.test.js +++ b/test/unit/ci_result_parser.test.js @@ -1,7 +1,12 @@ 'use strict'; const { - PRBuild, BenchmarkRun, CommitBuild, jobCache, CITGMBuild + PRBuild, + BenchmarkRun, + CITGMBuild, + CITGMComparisonBuild, + CommitBuild, + jobCache } = require('../../lib/ci/ci_result_parser'); const TestCLI = require('../fixtures/test_cli'); @@ -217,4 +222,24 @@ describe('Jenkins', () => { const expected = fixtures.readFile(...prefix, 'expected.md'); assert.strictEqual(markdown, expected); }); + + it('should correctly fetch CITGM comparison build results', async() => { + tmpdir.refresh(); + const prefix = ['jenkins', 'citgm-compare']; + const fixturesDir = path.join(__dirname, '..', 'fixtures', ...prefix); + copyShallow(fixturesDir, tmpdir.path); + jobCache.dir = tmpdir.path; + jobCache.enable(); + + const cli = new TestCLI(); + const comparisonBuild = new CITGMComparisonBuild(cli, {}, [2392, 2390]); + await comparisonBuild.getResults(); + + const expectedJson = fixtures.readJSON(...prefix, 'expected.json'); + assert.deepStrictEqual(comparisonBuild.formatAsJson(), expectedJson); + + const markdown = comparisonBuild.formatAsMarkdown(); + const expected = fixtures.readFile(...prefix, 'expected.md'); + assert.strictEqual(markdown, expected); + }); }); From 063238a58c37deb9881766caf885135f99a6e332 Mon Sep 17 00:00:00 2001 From: Shelley Vohr Date: Mon, 20 Jul 2020 16:54:51 -0700 Subject: [PATCH 4/8] Fix filter error and simplify logic --- diff.json | 38 ++++++++++++++ lib/ci/build-types/citgm_build.js | 6 ++- lib/ci/build-types/citgm_comparison_build.js | 37 +++++++++----- .../jenkins/citgm-compare/expected.json | 49 ++++++------------- .../jenkins/citgm-compare/expected.md | 28 ++++++----- 5 files changed, 100 insertions(+), 58 deletions(-) create mode 100644 diff.json diff --git a/diff.json b/diff.json new file mode 100644 index 00000000..52ad63d2 --- /dev/null +++ b/diff.json @@ -0,0 +1,38 @@ +[ + { + "baseBuild": { + "source": "https://api.github.com/repos/nodejs/node/git/refs/heads/v10.x", + "upstream": "https://ci.nodejs.org/job/citgm-smoker/2417/" + }, + "comparisonBuild": { + "source": "https://api.github.com/repos/nodejs/node/git/refs/heads/v10.22.0-proposal", + "upstream": "https://ci.nodejs.org/job/citgm-smoker/2421/" + }, + "aix71-ppc64": [ + "ember-cli-v3.19.0" + ], + "ubuntu1804-64": [], + "fedora-last-latest-x64": [ + "spawn-wrap-v2.0.0", + "winston-v3.3.3" + ], + "osx1014": [ + "fastify-v3.0.3" + ], + "ubuntu1404-64": [], + "rhel7-s390x": [ + "uglify-js-v3.10.0" + ], + "osx1015": [], + "centos7-ppcle": [ + "ember-cli-v3.19.0", + "multer-v1.4.2" + ], + "ubuntu1604-64": [ + "clinic-v6.0.2", + "yargs-v15.4.1" + ], + "debian9-64": [], + "fedora-latest-x64": [] + } +] \ No newline at end of file diff --git a/lib/ci/build-types/citgm_build.js b/lib/ci/build-types/citgm_build.js index 44ad04fa..2ca05d6b 100644 --- a/lib/ci/build-types/citgm_build.js +++ b/lib/ci/build-types/citgm_build.js @@ -68,6 +68,7 @@ class CITGMBuild extends TestBuild { parseResults(data) { const { childReports, totalCount, skipCount, failCount } = data; const results = { all: {}, failures: {}, statistics: {} }; + const failureStatuses = ['FAILED', 'REGRESSION']; const passCount = totalCount - failCount - skipCount; results.statistics.passed = passCount; @@ -82,7 +83,10 @@ class CITGMBuild extends TestBuild { results.all[nodeName] = { url, modules: cases }; - const failedModules = cases.filter(c => c.status === 'FAILED'); + const failedModules = cases.filter(c => { + return failureStatuses.includes(c.status); + }); + results.failures[nodeName] = { url, modules: failedModules }; }); diff --git a/lib/ci/build-types/citgm_comparison_build.js b/lib/ci/build-types/citgm_comparison_build.js index 15450697..2a282bd7 100644 --- a/lib/ci/build-types/citgm_comparison_build.js +++ b/lib/ci/build-types/citgm_comparison_build.js @@ -31,14 +31,25 @@ class CITGMComparisonBuild { const { failures: comparisonFailures } = comparisonBuild.results; const failures = {}; - for (const platform in baseFailures) { - const { modules: baseModules } = baseFailures[platform]; - const { modules: comparisonModules } = comparisonFailures[platform]; + for (const platform in comparisonFailures) { + // Account for no failure on this platform, or different platform. + if (!Object.prototype.hasOwnProperty.call(baseFailures, platform)) { + failures[platform] = []; + continue; + } - const newFailures = comparisonModules.filter(f => { - return !baseModules.includes(f.name); + const baseModules = baseFailures[platform].modules.map(f => { + return f.name; + }); + const comparisonModules = comparisonFailures[platform].modules.map(f => { + return f.name; }); + // Filter for every failed module in the comparison job module set + // that is not present in the failure set for the base job module set. + const newFailures = comparisonModules.filter(f => { + return !baseModules.includes(f); + }); if (newFailures.length !== 0) { result = statusType.FAILURE; } @@ -65,26 +76,30 @@ class CITGMComparisonBuild { displayBuilds() { const { builds, cli, results, result } = this; - const baseID = builds.baseBuild.id; - const comparisonID = builds.comparisonBuild.id; + const bID = builds.baseBuild.id; + const cID = builds.comparisonBuild.id; cli.separator('Results'); if (result === statusType.SUCCESS) { cli.log('\n\n'); - const str = `No new failures in ${baseID} compared to ${comparisonID}`; + const str = `No new failures in ${cID} compared to ${bID}`; cli.log(`${statusType.SUCCESS}: ${str}\n\n`); return; } const output = {}; + let totalFailures = 0; for (const platform in results.failures) { - const modules = results.failures[platform]; - const failures = modules.map(f => f.name); + const failures = results.failures[platform]; + totalFailures += failures.length; output[platform] = failures; } + cli.log('\n\n'); + const str = `${totalFailures} failures in ${cID} not present in ${bID}`; + cli.log(`${statusType.FAILURE}: ${str}\n\n`); console.table(output); } @@ -128,7 +143,7 @@ class CITGMComparisonBuild { const data = results.failures[failure]; output += `### ${failure}\n\n`; - const failures = data.map(f => `* ${f.name}`); + const failures = data.map(f => `* ${f}`); output += failures.length ? `${failures.join('\n')}\n\n` : 'None.\n\n'; } return output; diff --git a/test/fixtures/jenkins/citgm-compare/expected.json b/test/fixtures/jenkins/citgm-compare/expected.json index ddd76542..f990fbb5 100644 --- a/test/fixtures/jenkins/citgm-compare/expected.json +++ b/test/fixtures/jenkins/citgm-compare/expected.json @@ -7,43 +7,22 @@ "source": "https://github.com/nodejs/node/pull/33811/", "upstream": "https://ci.nodejs.org/job/citgm-smoker/2392/" }, - "debian9-64": [ - { - "name": "express-session-v1.17.1", - "status": "FAILED" - }, - { - "name": "yeoman-generator-v4.10.1", - "status": "FAILED" - } - ], "centos7-ppcle": [ - { - "name": "ember-cli-v3.18.0", - "status": "FAILED" - }, - { - "name": "multer-v1.4.2", - "status": "FAILED" - }, - { - "name": "torrent-stream-v1.2.0", - "status": "FAILED" - } - ], - "rhel7-s390x": [ - { - "name": "torrent-stream-v1.2.0", - "status": "FAILED" - } + "multer-v1.4.2" ], "fedora-latest-x64": [ - { - "name": "spawn-wrap-v2.0.0", - "status": "FAILED" - } + "spawn-wrap-v2.0.0" ], - "ubuntu1804-64": [], "fedora-last-latest-x64": [], - "ubuntu1604-64": [] -} + "debian9-64": [ + "express-session-v1.17.1", + "yeoman-generator-v4.10.1" + ], + "osx1014": [], + "rhel7-s390x": [ + "torrent-stream-v1.2.0" + ], + "aix71-ppc64": [], + "ubuntu1604-64": [], + "ubuntu1804-64": [] +} \ No newline at end of file diff --git a/test/fixtures/jenkins/citgm-compare/expected.md b/test/fixtures/jenkins/citgm-compare/expected.md index b446debf..d3f880e0 100644 --- a/test/fixtures/jenkins/citgm-compare/expected.md +++ b/test/fixtures/jenkins/citgm-compare/expected.md @@ -2,34 +2,40 @@ ## New Failures in job [#2390](https://ci.nodejs.org/job/citgm-smoker/2390/) +### centos7-ppcle + +* multer-v1.4.2 + +### fedora-latest-x64 + +* spawn-wrap-v2.0.0 + +### fedora-last-latest-x64 + +None. + ### debian9-64 * express-session-v1.17.1 * yeoman-generator-v4.10.1 -### centos7-ppcle +### osx1014 -* ember-cli-v3.18.0 -* multer-v1.4.2 -* torrent-stream-v1.2.0 +None. ### rhel7-s390x * torrent-stream-v1.2.0 -### fedora-latest-x64 - -* spawn-wrap-v2.0.0 - -### ubuntu1804-64 +### aix71-ppc64 None. -### fedora-last-latest-x64 +### ubuntu1604-64 None. -### ubuntu1604-64 +### ubuntu1804-64 None. From 18109a6aadd7fad5c4c51872dae0b30c69f77827 Mon Sep 17 00:00:00 2001 From: Shelley Vohr Date: Tue, 21 Jul 2020 12:19:43 -0700 Subject: [PATCH 5/8] Remove accidental test diff --- diff.json | 38 -------------------------------------- 1 file changed, 38 deletions(-) delete mode 100644 diff.json diff --git a/diff.json b/diff.json deleted file mode 100644 index 52ad63d2..00000000 --- a/diff.json +++ /dev/null @@ -1,38 +0,0 @@ -[ - { - "baseBuild": { - "source": "https://api.github.com/repos/nodejs/node/git/refs/heads/v10.x", - "upstream": "https://ci.nodejs.org/job/citgm-smoker/2417/" - }, - "comparisonBuild": { - "source": "https://api.github.com/repos/nodejs/node/git/refs/heads/v10.22.0-proposal", - "upstream": "https://ci.nodejs.org/job/citgm-smoker/2421/" - }, - "aix71-ppc64": [ - "ember-cli-v3.19.0" - ], - "ubuntu1804-64": [], - "fedora-last-latest-x64": [ - "spawn-wrap-v2.0.0", - "winston-v3.3.3" - ], - "osx1014": [ - "fastify-v3.0.3" - ], - "ubuntu1404-64": [], - "rhel7-s390x": [ - "uglify-js-v3.10.0" - ], - "osx1015": [], - "centos7-ppcle": [ - "ember-cli-v3.19.0", - "multer-v1.4.2" - ], - "ubuntu1604-64": [ - "clinic-v6.0.2", - "yargs-v15.4.1" - ], - "debian9-64": [], - "fedora-latest-x64": [] - } -] \ No newline at end of file From 91f107edd41ab30715c13222239d2033c3146ccc Mon Sep 17 00:00:00 2001 From: Shelley Vohr Date: Wed, 22 Jul 2020 11:55:12 -0700 Subject: [PATCH 6/8] Fixup after nobuild PR --- bin/ncu-ci | 21 +++--------- lib/ci/build-types/citgm_build.js | 34 ++++++++++++++++---- lib/ci/build-types/citgm_comparison_build.js | 14 +++++--- test/unit/ci_result_parser.test.js | 9 +++++- 4 files changed, 49 insertions(+), 29 deletions(-) diff --git a/bin/ncu-ci b/bin/ncu-ci index 42e485fc..ff8a7ae5 100755 --- a/bin/ncu-ci +++ b/bin/ncu-ci @@ -247,10 +247,9 @@ class CICommand { case CITGM: case CITGM_NOBUILD: if (job.jobid2) { - const ids = [job.jobid, job.jobid2]; - build = new CITGMComparisonBuild(cli, request, ids); + build = new CITGMComparisonBuild(cli, request, job); } else { - build = new CITGMBuild(cli, request, job.jobid); + build = new CITGMBuild(cli, request, job); } break; case BENCHMARK: @@ -375,21 +374,9 @@ class JobCommand extends CICommand { queue.push({ type: commandToType[this.command], -<<<<<<< HEAD -<<<<<<< HEAD - jobid: this.argv.jobid, - noBuild: this.argv.nobuild || false -||||||| merged common ancestors - jobid: this.argv.jobid -======= - jobid: argv.jobid ->>>>>>> refactor: pull some builds into own files -||||||| merged common ancestors - jobid: argv.jobid -======= jobid: argv.jobid, - jobid2: argv.jobid2 ->>>>>>> feat: enable citgm run comparisons + jobid2: argv.jobid2, + noBuild: this.argv.nobuild || false }); } } diff --git a/lib/ci/build-types/citgm_build.js b/lib/ci/build-types/citgm_build.js index 2ca05d6b..037418ed 100644 --- a/lib/ci/build-types/citgm_build.js +++ b/lib/ci/build-types/citgm_build.js @@ -16,17 +16,22 @@ const { } = require('../ci_failure_parser'); class CITGMBuild extends TestBuild { - constructor(cli, request, id) { - const path = `job/citgm-smoker/${id}/`; + constructor(cli, request, job) { + const { jobid, noBuild } = job; + const path = noBuild + ? `job/citgm-smoker-nobuild/${jobid}/` + : `job/citgm-smoker/${jobid}/`; + const tree = CITGM_MAIN_TREE; super(cli, request, path, tree); - this.id = id; + this.id = jobid; + this.noBuild = noBuild; } async getResults() { - const { apiUrl, id } = this; + const { apiUrl } = this; let headerData; try { @@ -45,7 +50,7 @@ class CITGMBuild extends TestBuild { // they do summary data, so we need to update the endpoint // and issue a second API call in order to fetch result data. this.tree = CITGM_REPORT_TREE; - this.path = `job/citgm-smoker/${id}/testReport/`; + this.updatePath(true); let resultData; try { @@ -60,7 +65,7 @@ class CITGMBuild extends TestBuild { this.results = this.parseResults(resultData); // Update id again so that it correctly displays in Summary output. - this.path = `job/citgm-smoker/${id}/`; + this.updatePath(false); return { result }; } @@ -93,6 +98,19 @@ class CITGMBuild extends TestBuild { return results; } + updatePath(testReport) { + const { id, noBuild } = this; + if (testReport) { + this.path = noBuild + ? `job/citgm-smoker-nobuild/${id}/testReport/` + : `job/citgm-smoker/${id}/testReport/`; + } else { + this.path = noBuild + ? `job/citgm-smoker-nobuild/${id}/` + : `job/citgm-smoker/${id}/`; + } + } + displayBuilds() { const { cli, results } = this; const { failed, skipped, passed, total } = results.statistics; @@ -154,8 +172,10 @@ class CITGMBuild extends TestBuild { output += `### [${failure}](${data.url})\n\n`; const failures = data.modules.map(f => `* ${f.name}`); - output += `${failures.join('\n')}\n\n`; + const items = failures.length > 0 ? `${failures.join('\n')}` : 'None.'; + output += `${items}\n\n`; } + return output; } } diff --git a/lib/ci/build-types/citgm_comparison_build.js b/lib/ci/build-types/citgm_comparison_build.js index 2a282bd7..f192cab1 100644 --- a/lib/ci/build-types/citgm_comparison_build.js +++ b/lib/ci/build-types/citgm_comparison_build.js @@ -4,14 +4,20 @@ const { statusType } = require('../ci_utils'); const { CITGMBuild } = require('./citgm_build'); class CITGMComparisonBuild { - constructor(cli, request, ids) { - const baseBuild = new CITGMBuild(cli, request, ids[0]); - const comparisonBuild = new CITGMBuild(cli, request, ids[1]); + constructor(cli, request, job) { + const { jobid, jobid2, noBuild } = job; + + const baseBuild = new CITGMBuild(cli, request, { jobid, noBuild }); + + // noBuild in a comparison build only applies to the base build. + const comparisonBuild = new CITGMBuild(cli, request, { + jobid: jobid2, + noBuild: false + }); this.cli = cli; this.builds = { baseBuild, comparisonBuild }; this.results = {}; - this.ids = ids; } async getResults() { diff --git a/test/unit/ci_result_parser.test.js b/test/unit/ci_result_parser.test.js index 46126a0c..cff9ad02 100644 --- a/test/unit/ci_result_parser.test.js +++ b/test/unit/ci_result_parser.test.js @@ -232,7 +232,14 @@ describe('Jenkins', () => { jobCache.enable(); const cli = new TestCLI(); - const comparisonBuild = new CITGMComparisonBuild(cli, {}, [2392, 2390]); + + const job = { + jobid: 2392, + jobid2: 2390, + noBuild: false + }; + + const comparisonBuild = new CITGMComparisonBuild(cli, {}, job); await comparisonBuild.getResults(); const expectedJson = fixtures.readJSON(...prefix, 'expected.json'); From 8f9dd8e1b2c2e422758b2c77242bd3ab06907384 Mon Sep 17 00:00:00 2001 From: Shelley Vohr Date: Wed, 22 Jul 2020 13:26:13 -0700 Subject: [PATCH 7/8] Add new test for noBuild comparison --- lib/ci/build-types/citgm_build.js | 1 - .../citgm-smoker-2433-testReport.json | 4398 +++++++++++++++++ .../citgm-smoker-2433.json | 114 + .../citgm-smoker-nobuild-880-testReport.json | 4398 +++++++++++++++++ .../citgm-smoker-nobuild-880.json | 160 + .../citgm-compare-nobuild/expected.json | 41 + .../jenkins/citgm-compare-nobuild/expected.md | 46 + test/unit/ci_result_parser.test.js | 27 + 8 files changed, 9184 insertions(+), 1 deletion(-) create mode 100644 test/fixtures/jenkins/citgm-compare-nobuild/citgm-smoker-2433-testReport.json create mode 100644 test/fixtures/jenkins/citgm-compare-nobuild/citgm-smoker-2433.json create mode 100644 test/fixtures/jenkins/citgm-compare-nobuild/citgm-smoker-nobuild-880-testReport.json create mode 100644 test/fixtures/jenkins/citgm-compare-nobuild/citgm-smoker-nobuild-880.json create mode 100644 test/fixtures/jenkins/citgm-compare-nobuild/expected.json create mode 100644 test/fixtures/jenkins/citgm-compare-nobuild/expected.md diff --git a/lib/ci/build-types/citgm_build.js b/lib/ci/build-types/citgm_build.js index 037418ed..6ce4edb2 100644 --- a/lib/ci/build-types/citgm_build.js +++ b/lib/ci/build-types/citgm_build.js @@ -51,7 +51,6 @@ class CITGMBuild extends TestBuild { // and issue a second API call in order to fetch result data. this.tree = CITGM_REPORT_TREE; this.updatePath(true); - let resultData; try { resultData = await this.getBuildData('Results'); diff --git a/test/fixtures/jenkins/citgm-compare-nobuild/citgm-smoker-2433-testReport.json b/test/fixtures/jenkins/citgm-compare-nobuild/citgm-smoker-2433-testReport.json new file mode 100644 index 00000000..944d262c --- /dev/null +++ b/test/fixtures/jenkins/citgm-compare-nobuild/citgm-smoker-2433-testReport.json @@ -0,0 +1,4398 @@ +{ + "_class": "hudson.tasks.test.MatrixTestResult", + "failCount": 32, + "skipCount": 289, + "totalCount": 1060, + "childReports": [ + { + "child": { + "_class": "hudson.matrix.MatrixRun", + "url": "https://ci.nodejs.org/job/citgm-smoker/nodes=ubuntu1804-64/2433/" + }, + "result": { + "_class": "hudson.tasks.junit.TestResult", + "suites": [ + { + "cases": [ + { + "name": "@nearform/doctor-v5.0.2", + "status": "SKIPPED" + }, + { + "name": "@nearform/bubbleprof-v4.0.3", + "status": "FIXED" + }, + { + "name": "JSONStream-v1.3.5", + "status": "PASSED" + }, + { + "name": "@nearform/flame-v6.0.1", + "status": "SKIPPED" + }, + { + "name": "async", + "status": "SKIPPED" + }, + { + "name": "acorn-v7.3.1", + "status": "PASSED" + }, + { + "name": "bcrypt-v5.0.0", + "status": "PASSED" + }, + { + "name": "binary-split-v1.0.5", + "status": "PASSED" + }, + { + "name": "bl-v4.0.2", + "status": "PASSED" + }, + { + "name": "blake2b-wasm-v2.1.0", + "status": "PASSED" + }, + { + "name": "bluebird-v3.7.2", + "status": "PASSED" + }, + { + "name": "body-parser-v1.19.0", + "status": "PASSED" + }, + { + "name": "ava-v3.10.1", + "status": "REGRESSION" + }, + { + "name": "bson", + "status": "SKIPPED" + }, + { + "name": "bufferutil-v4.0.1", + "status": "PASSED" + }, + { + "name": "cheerio-v1.0.0-rc.3", + "status": "PASSED" + }, + { + "name": "browserify-v16.5.1", + "status": "PASSED" + }, + { + "name": "coffeescript-v2.5.1", + "status": "PASSED" + }, + { + "name": "commander", + "status": "SKIPPED" + }, + { + "name": "crc32-stream-v4.0.0", + "status": "PASSED" + }, + { + "name": "csv-parser-v2.3.3", + "status": "PASSED" + }, + { + "name": "david", + "status": "SKIPPED" + }, + { + "name": "debug-v4.1.1", + "status": "PASSED" + }, + { + "name": "dicer-v0.3.0", + "status": "PASSED" + }, + { + "name": "duplexer2-v0.1.4", + "status": "PASSED" + }, + { + "name": "duplexify-v4.1.1", + "status": "PASSED" + }, + { + "name": "clinic-v6.0.2", + "status": "PASSED" + }, + { + "name": "eslint", + "status": "SKIPPED" + }, + { + "name": "ember-cli-v3.19.0", + "status": "PASSED" + }, + { + "name": "eslint-plugin-jest-v23.18.0", + "status": "PASSED" + }, + { + "name": "esprima-v4.0.1", + "status": "PASSED" + }, + { + "name": "express-v4.17.1", + "status": "PASSED" + }, + { + "name": "express-session-v1.17.1", + "status": "PASSED" + }, + { + "name": "ffi", + "status": "SKIPPED" + }, + { + "name": "flush-write-stream-v2.0.0", + "status": "PASSED" + }, + { + "name": "from2-v2.3.0", + "status": "PASSED" + }, + { + "name": "fs-extra", + "status": "SKIPPED" + }, + { + "name": "full-icu-test-v1.0.3", + "status": "PASSED" + }, + { + "name": "glob-v7.1.6", + "status": "PASSED" + }, + { + "name": "got", + "status": "SKIPPED" + }, + { + "name": "graceful-fs", + "status": "SKIPPED" + }, + { + "name": "gulp-v4.0.2", + "status": "PASSED" + }, + { + "name": "gulp-util-v3.0.8", + "status": "PASSED" + }, + { + "name": "fastify-v3.1.1", + "status": "PASSED" + }, + { + "name": "iconv-v3.0.0", + "status": "PASSED" + }, + { + "name": "isarray-v2.0.5", + "status": "PASSED" + }, + { + "name": "inherits-v2.0.4", + "status": "PASSED" + }, + { + "name": "koa-v2.13.0", + "status": "PASSED" + }, + { + "name": "jquery-v3.5.1", + "status": "SKIPPED" + }, + { + "name": "level-v6.0.1", + "status": "PASSED" + }, + { + "name": "libxmljs", + "status": "SKIPPED" + }, + { + "name": "lodash-v4.17.19", + "status": "PASSED" + }, + { + "name": "leveldown-v5.6.0", + "status": "PASSED" + }, + { + "name": "mime-v2.4.6", + "status": "PASSED" + }, + { + "name": "microtime-v3.0.0", + "status": "PASSED" + }, + { + "name": "mkdirp", + "status": "SKIPPED" + }, + { + "name": "mocha", + "status": "SKIPPED" + }, + { + "name": "moment", + "status": "SKIPPED" + }, + { + "name": "minimist-v1.2.5", + "status": "PASSED" + }, + { + "name": "multer-v1.4.2", + "status": "PASSED" + }, + { + "name": "node-gyp-v7.0.0", + "status": "PASSED" + }, + { + "name": "nan-v2.14.1", + "status": "PASSED" + }, + { + "name": "node-sass", + "status": "SKIPPED" + }, + { + "name": "node-report-v2.2.11", + "status": "PASSED" + }, + { + "name": "path-to-regexp-v6.1.0", + "status": "PASSED" + }, + { + "name": "pino-v6.4.0", + "status": "PASSED" + }, + { + "name": "pumpify-v2.0.1", + "status": "PASSED" + }, + { + "name": "q-v1.5.1", + "status": "PASSED" + }, + { + "name": "pug-v3.0.0", + "status": "PASSED" + }, + { + "name": "react", + "status": "SKIPPED" + }, + { + "name": "readable-stream", + "status": "SKIPPED" + }, + { + "name": "ref", + "status": "SKIPPED" + }, + { + "name": "radium-v0.26.0", + "status": "PASSED" + }, + { + "name": "resolve-v1.17.0", + "status": "PASSED" + }, + { + "name": "rewire-v5.0.0", + "status": "PASSED" + }, + { + "name": "rimraf-v3.0.2", + "status": "PASSED" + }, + { + "name": "router-v1.3.5", + "status": "PASSED" + }, + { + "name": "sax-v1.2.4", + "status": "PASSED" + }, + { + "name": "semver-v7.3.2", + "status": "PASSED" + }, + { + "name": "serialport-v9.0.0", + "status": "PASSED" + }, + { + "name": "shot-v4.0.7", + "status": "REGRESSION" + }, + { + "name": "socket.io-v2.3.0", + "status": "PASSED" + }, + { + "name": "spdy", + "status": "SKIPPED" + }, + { + "name": "spdy-transport", + "status": "SKIPPED" + }, + { + "name": "spawn-wrap-v2.0.0", + "status": "PASSED" + }, + { + "name": "split2-v3.1.1", + "status": "PASSED" + }, + { + "name": "stylus", + "status": "SKIPPED" + }, + { + "name": "sqlite3-v5.0.0", + "status": "PASSED" + }, + { + "name": "thread-sleep-v2.2.0", + "status": "PASSED" + }, + { + "name": "tape-v5.0.1", + "status": "PASSED" + }, + { + "name": "throughv-v1.0.4", + "status": "PASSED" + }, + { + "name": "time", + "status": "SKIPPED" + }, + { + "name": "through2-v4.0.2", + "status": "PASSED" + }, + { + "name": "torrent-stream-v1.2.0", + "status": "PASSED" + }, + { + "name": "underscore-v1.10.2", + "status": "PASSED" + }, + { + "name": "uuid-v8.2.0", + "status": "PASSED" + }, + { + "name": "vinyl-v2.2.0", + "status": "PASSED" + }, + { + "name": "vinyl-fs", + "status": "SKIPPED" + }, + { + "name": "watchify-v3.11.1", + "status": "PASSED" + }, + { + "name": "weak", + "status": "SKIPPED" + }, + { + "name": "uglify-js-v3.10.0", + "status": "PASSED" + }, + { + "name": "ws-v7.3.1", + "status": "PASSED" + }, + { + "name": "winston-v3.3.3", + "status": "PASSED" + }, + { + "name": "yargs-v15.4.1", + "status": "PASSED" + }, + { + "name": "zeromq", + "status": "SKIPPED" + }, + { + "name": "yeoman-generator-v4.11.0", + "status": "PASSED" + } + ] + } + ] + } + }, + { + "child": { + "_class": "hudson.matrix.MatrixRun", + "url": "https://ci.nodejs.org/job/citgm-smoker/nodes=aix71-ppc64/2433/" + }, + "result": { + "_class": "hudson.tasks.junit.TestResult", + "suites": [ + { + "cases": [ + { + "name": "@nearform/doctor-v5.0.2", + "status": "SKIPPED" + }, + { + "name": "@nearform/bubbleprof-v4.0.3", + "status": "FIXED" + }, + { + "name": "JSONStream-v1.3.5", + "status": "PASSED" + }, + { + "name": "acorn", + "status": "SKIPPED" + }, + { + "name": "async", + "status": "SKIPPED" + }, + { + "name": "ava", + "status": "SKIPPED" + }, + { + "name": "@nearform/flame-v6.0.1", + "status": "SKIPPED" + }, + { + "name": "binary-split-v1.0.5", + "status": "PASSED" + }, + { + "name": "bcrypt-v5.0.0", + "status": "PASSED" + }, + { + "name": "blake2b-wasm-v2.1.0", + "status": "PASSED" + }, + { + "name": "bl-v4.0.2", + "status": "PASSED" + }, + { + "name": "bluebird-v3.7.2", + "status": "PASSED" + }, + { + "name": "body-parser-v1.19.0", + "status": "PASSED" + }, + { + "name": "bson", + "status": "SKIPPED" + }, + { + "name": "bufferutil-v4.0.1", + "status": "PASSED" + }, + { + "name": "cheerio-v1.0.0-rc.3", + "status": "PASSED" + }, + { + "name": "clinic", + "status": "SKIPPED" + }, + { + "name": "coffeescript-v2.5.1", + "status": "PASSED" + }, + { + "name": "commander", + "status": "SKIPPED" + }, + { + "name": "crc32-stream-v4.0.0", + "status": "PASSED" + }, + { + "name": "browserify-v16.5.1", + "status": "PASSED" + }, + { + "name": "david", + "status": "SKIPPED" + }, + { + "name": "debug", + "status": "SKIPPED" + }, + { + "name": "dicer-v0.3.0", + "status": "PASSED" + }, + { + "name": "duplexer2-v0.1.4", + "status": "PASSED" + }, + { + "name": "csv-parser-v2.3.3", + "status": "PASSED" + }, + { + "name": "duplexify-v4.1.1", + "status": "PASSED" + }, + { + "name": "eslint", + "status": "SKIPPED" + }, + { + "name": "eslint-plugin-jest", + "status": "SKIPPED" + }, + { + "name": "esprima-v4.0.1", + "status": "PASSED" + }, + { + "name": "express-v4.17.1", + "status": "PASSED" + }, + { + "name": "express-session-v1.17.1", + "status": "PASSED" + }, + { + "name": "fastify-v3.1.1", + "status": "PASSED" + }, + { + "name": "ffi", + "status": "SKIPPED" + }, + { + "name": "flush-write-stream-v2.0.0", + "status": "PASSED" + }, + { + "name": "from2-v2.3.0", + "status": "PASSED" + }, + { + "name": "fs-extra", + "status": "SKIPPED" + }, + { + "name": "full-icu-test-v1.0.3", + "status": "PASSED" + }, + { + "name": "glob-v7.1.6", + "status": "PASSED" + }, + { + "name": "got", + "status": "SKIPPED" + }, + { + "name": "graceful-fs", + "status": "SKIPPED" + }, + { + "name": "ember-cli-v3.19.0", + "status": "PASSED" + }, + { + "name": "gulp-v4.0.2", + "status": "PASSED" + }, + { + "name": "gulp-util-v3.0.8", + "status": "PASSED" + }, + { + "name": "iconv-v3.0.0", + "status": "PASSED" + }, + { + "name": "inherits-v2.0.4", + "status": "PASSED" + }, + { + "name": "isarray-v2.0.5", + "status": "PASSED" + }, + { + "name": "koa-v2.13.0", + "status": "PASSED" + }, + { + "name": "jquery-v3.5.1", + "status": "SKIPPED" + }, + { + "name": "leveldown-v5.6.0", + "status": "SKIPPED" + }, + { + "name": "libxmljs", + "status": "SKIPPED" + }, + { + "name": "level-v6.0.1", + "status": "SKIPPED" + }, + { + "name": "microtime-v3.0.0", + "status": "PASSED" + }, + { + "name": "mime-v2.4.6", + "status": "PASSED" + }, + { + "name": "lodash-v4.17.19", + "status": "PASSED" + }, + { + "name": "mkdirp", + "status": "SKIPPED" + }, + { + "name": "mocha", + "status": "SKIPPED" + }, + { + "name": "moment", + "status": "SKIPPED" + }, + { + "name": "minimist-v1.2.5", + "status": "PASSED" + }, + { + "name": "multer-v1.4.2", + "status": "PASSED" + }, + { + "name": "node-gyp-v7.0.0", + "status": "PASSED" + }, + { + "name": "node-report-v2.2.11", + "status": "PASSED" + }, + { + "name": "node-sass", + "status": "SKIPPED" + }, + { + "name": "nan-v2.14.1", + "status": "PASSED" + }, + { + "name": "path-to-regexp-v6.1.0", + "status": "FAILED" + }, + { + "name": "pino-v6.4.0", + "status": "PASSED" + }, + { + "name": "pug-v3.0.0", + "status": "FAILED" + }, + { + "name": "pumpify-v2.0.1", + "status": "PASSED" + }, + { + "name": "q-v1.5.1", + "status": "PASSED" + }, + { + "name": "react", + "status": "SKIPPED" + }, + { + "name": "readable-stream", + "status": "SKIPPED" + }, + { + "name": "ref", + "status": "SKIPPED" + }, + { + "name": "radium-v0.26.0", + "status": "PASSED" + }, + { + "name": "resolve-v1.17.0", + "status": "PASSED" + }, + { + "name": "rewire-v5.0.0", + "status": "PASSED" + }, + { + "name": "rimraf-v3.0.2", + "status": "PASSED" + }, + { + "name": "router-v1.3.5", + "status": "PASSED" + }, + { + "name": "sax-v1.2.4", + "status": "PASSED" + }, + { + "name": "semver-v7.3.2", + "status": "PASSED" + }, + { + "name": "shot-v4.0.7", + "status": "REGRESSION" + }, + { + "name": "serialport-v9.0.0", + "status": "SKIPPED" + }, + { + "name": "socket.io-v2.3.0", + "status": "PASSED" + }, + { + "name": "spdy", + "status": "SKIPPED" + }, + { + "name": "spdy-transport", + "status": "SKIPPED" + }, + { + "name": "spawn-wrap-v2.0.0", + "status": "PASSED" + }, + { + "name": "split2-v3.1.1", + "status": "PASSED" + }, + { + "name": "stylus", + "status": "SKIPPED" + }, + { + "name": "tape-v5.0.1", + "status": "PASSED" + }, + { + "name": "thread-sleep-v2.2.0", + "status": "PASSED" + }, + { + "name": "through2", + "status": "SKIPPED" + }, + { + "name": "throughv-v1.0.4", + "status": "PASSED" + }, + { + "name": "time", + "status": "SKIPPED" + }, + { + "name": "torrent-stream-v1.2.0", + "status": "FIXED" + }, + { + "name": "sqlite3-v5.0.0", + "status": "PASSED" + }, + { + "name": "underscore-v1.10.2", + "status": "PASSED" + }, + { + "name": "uuid-v8.2.0", + "status": "FAILED" + }, + { + "name": "vinyl-v2.2.0", + "status": "PASSED" + }, + { + "name": "vinyl-fs", + "status": "SKIPPED" + }, + { + "name": "uglify-js-v3.10.0", + "status": "PASSED" + }, + { + "name": "weak", + "status": "SKIPPED" + }, + { + "name": "watchify-v3.11.1", + "status": "PASSED" + }, + { + "name": "ws-v7.3.1", + "status": "PASSED" + }, + { + "name": "winston-v3.3.3", + "status": "FIXED" + }, + { + "name": "yargs-v15.4.1", + "status": "FIXED" + }, + { + "name": "zeromq", + "status": "SKIPPED" + }, + { + "name": "yeoman-generator-v4.11.0", + "status": "SKIPPED" + } + ] + } + ] + } + }, + { + "child": { + "_class": "hudson.matrix.MatrixRun", + "url": "https://ci.nodejs.org/job/citgm-smoker/nodes=osx1015/2433/" + }, + "result": { + "_class": "hudson.tasks.junit.TestResult", + "suites": [ + { + "cases": [ + { + "name": "@nearform/doctor-v5.0.2", + "status": "SKIPPED" + }, + { + "name": "@nearform/bubbleprof-v4.0.3", + "status": "FIXED" + }, + { + "name": "JSONStream-v1.3.5", + "status": "PASSED" + }, + { + "name": "@nearform/flame-v6.0.1", + "status": "FIXED" + }, + { + "name": "async", + "status": "SKIPPED" + }, + { + "name": "acorn-v7.3.1", + "status": "FIXED" + }, + { + "name": "bcrypt-v5.0.0", + "status": "PASSED" + }, + { + "name": "binary-split-v1.0.5", + "status": "PASSED" + }, + { + "name": "bl-v4.0.2", + "status": "PASSED" + }, + { + "name": "blake2b-wasm-v2.1.0", + "status": "PASSED" + }, + { + "name": "bluebird-v3.7.2", + "status": "PASSED" + }, + { + "name": "body-parser-v1.19.0", + "status": "PASSED" + }, + { + "name": "ava-v3.10.1", + "status": "FAILED" + }, + { + "name": "bson", + "status": "SKIPPED" + }, + { + "name": "bufferutil-v4.0.1", + "status": "PASSED" + }, + { + "name": "cheerio-v1.0.0-rc.3", + "status": "PASSED" + }, + { + "name": "browserify-v16.5.1", + "status": "PASSED" + }, + { + "name": "coffeescript-v2.5.1", + "status": "PASSED" + }, + { + "name": "commander", + "status": "SKIPPED" + }, + { + "name": "crc32-stream-v4.0.0", + "status": "PASSED" + }, + { + "name": "csv-parser-v2.3.3", + "status": "PASSED" + }, + { + "name": "david", + "status": "SKIPPED" + }, + { + "name": "debug-v4.1.1", + "status": "PASSED" + }, + { + "name": "dicer-v0.3.0", + "status": "PASSED" + }, + { + "name": "duplexer2-v0.1.4", + "status": "PASSED" + }, + { + "name": "duplexify-v4.1.1", + "status": "PASSED" + }, + { + "name": "clinic-v6.0.2", + "status": "FIXED" + }, + { + "name": "eslint", + "status": "SKIPPED" + }, + { + "name": "eslint-plugin-jest-v23.18.0", + "status": "PASSED" + }, + { + "name": "esprima-v4.0.1", + "status": "PASSED" + }, + { + "name": "express-v4.17.1", + "status": "PASSED" + }, + { + "name": "ember-cli-v3.19.0", + "status": "FIXED" + }, + { + "name": "express-session-v1.17.1", + "status": "PASSED" + }, + { + "name": "ffi", + "status": "SKIPPED" + }, + { + "name": "flush-write-stream-v2.0.0", + "status": "PASSED" + }, + { + "name": "from2-v2.3.0", + "status": "PASSED" + }, + { + "name": "fs-extra", + "status": "SKIPPED" + }, + { + "name": "full-icu-test-v1.0.3", + "status": "PASSED" + }, + { + "name": "glob-v7.1.6", + "status": "PASSED" + }, + { + "name": "got", + "status": "SKIPPED" + }, + { + "name": "graceful-fs", + "status": "SKIPPED" + }, + { + "name": "gulp-v4.0.2", + "status": "REGRESSION" + }, + { + "name": "gulp-util-v3.0.8", + "status": "PASSED" + }, + { + "name": "iconv-v3.0.0", + "status": "PASSED" + }, + { + "name": "fastify-v3.1.1", + "status": "PASSED" + }, + { + "name": "isarray-v2.0.5", + "status": "PASSED" + }, + { + "name": "inherits-v2.0.4", + "status": "PASSED" + }, + { + "name": "koa-v2.13.0", + "status": "PASSED" + }, + { + "name": "jquery-v3.5.1", + "status": "SKIPPED" + }, + { + "name": "level-v6.0.1", + "status": "PASSED" + }, + { + "name": "libxmljs", + "status": "SKIPPED" + }, + { + "name": "leveldown-v5.6.0", + "status": "PASSED" + }, + { + "name": "lodash-v4.17.19", + "status": "PASSED" + }, + { + "name": "microtime-v3.0.0", + "status": "PASSED" + }, + { + "name": "mime-v2.4.6", + "status": "PASSED" + }, + { + "name": "mkdirp", + "status": "SKIPPED" + }, + { + "name": "mocha", + "status": "SKIPPED" + }, + { + "name": "moment", + "status": "SKIPPED" + }, + { + "name": "minimist-v1.2.5", + "status": "PASSED" + }, + { + "name": "multer-v1.4.2", + "status": "PASSED" + }, + { + "name": "node-gyp-v7.0.0", + "status": "PASSED" + }, + { + "name": "nan-v2.14.1", + "status": "PASSED" + }, + { + "name": "node-sass", + "status": "SKIPPED" + }, + { + "name": "node-report-v2.2.11", + "status": "PASSED" + }, + { + "name": "path-to-regexp-v6.1.0", + "status": "PASSED" + }, + { + "name": "pino-v6.4.0", + "status": "PASSED" + }, + { + "name": "pumpify-v2.0.1", + "status": "PASSED" + }, + { + "name": "pug-v3.0.0", + "status": "PASSED" + }, + { + "name": "q-v1.5.1", + "status": "PASSED" + }, + { + "name": "react", + "status": "SKIPPED" + }, + { + "name": "readable-stream", + "status": "SKIPPED" + }, + { + "name": "ref", + "status": "SKIPPED" + }, + { + "name": "resolve-v1.17.0", + "status": "PASSED" + }, + { + "name": "radium-v0.26.0", + "status": "PASSED" + }, + { + "name": "rewire-v5.0.0", + "status": "PASSED" + }, + { + "name": "rimraf-v3.0.2", + "status": "PASSED" + }, + { + "name": "router-v1.3.5", + "status": "PASSED" + }, + { + "name": "sax-v1.2.4", + "status": "PASSED" + }, + { + "name": "semver-v7.3.2", + "status": "FIXED" + }, + { + "name": "serialport-v9.0.0", + "status": "PASSED" + }, + { + "name": "shot-v4.0.7", + "status": "REGRESSION" + }, + { + "name": "socket.io-v2.3.0", + "status": "PASSED" + }, + { + "name": "spdy", + "status": "SKIPPED" + }, + { + "name": "spdy-transport", + "status": "SKIPPED" + }, + { + "name": "spawn-wrap-v2.0.0", + "status": "PASSED" + }, + { + "name": "split2-v3.1.1", + "status": "PASSED" + }, + { + "name": "stylus", + "status": "SKIPPED" + }, + { + "name": "sqlite3-v5.0.0", + "status": "PASSED" + }, + { + "name": "thread-sleep-v2.2.0", + "status": "PASSED" + }, + { + "name": "tape-v5.0.1", + "status": "PASSED" + }, + { + "name": "throughv-v1.0.4", + "status": "PASSED" + }, + { + "name": "time", + "status": "SKIPPED" + }, + { + "name": "through2-v4.0.2", + "status": "PASSED" + }, + { + "name": "torrent-stream-v1.2.0", + "status": "PASSED" + }, + { + "name": "underscore-v1.10.2", + "status": "FAILED" + }, + { + "name": "uuid-v8.2.0", + "status": "PASSED" + }, + { + "name": "vinyl-v2.2.0", + "status": "PASSED" + }, + { + "name": "vinyl-fs", + "status": "SKIPPED" + }, + { + "name": "uglify-js-v3.10.0", + "status": "PASSED" + }, + { + "name": "weak", + "status": "SKIPPED" + }, + { + "name": "watchify-v3.11.1", + "status": "PASSED" + }, + { + "name": "ws-v7.3.1", + "status": "PASSED" + }, + { + "name": "winston-v3.3.3", + "status": "FIXED" + }, + { + "name": "yargs-v15.4.1", + "status": "FIXED" + }, + { + "name": "zeromq", + "status": "SKIPPED" + }, + { + "name": "yeoman-generator-v4.11.0", + "status": "FIXED" + } + ] + } + ] + } + }, + { + "child": { + "_class": "hudson.matrix.MatrixRun", + "url": "https://ci.nodejs.org/job/citgm-smoker/nodes=debian9-64/2433/" + }, + "result": { + "_class": "hudson.tasks.junit.TestResult", + "suites": [ + { + "cases": [ + { + "name": "@nearform/doctor-v5.0.2", + "status": "SKIPPED" + }, + { + "name": "@nearform/bubbleprof-v4.0.3", + "status": "FIXED" + }, + { + "name": "JSONStream-v1.3.5", + "status": "PASSED" + }, + { + "name": "@nearform/flame-v6.0.1", + "status": "SKIPPED" + }, + { + "name": "async", + "status": "SKIPPED" + }, + { + "name": "acorn-v7.3.1", + "status": "PASSED" + }, + { + "name": "bcrypt-v5.0.0", + "status": "PASSED" + }, + { + "name": "binary-split-v1.0.5", + "status": "PASSED" + }, + { + "name": "bl-v4.0.2", + "status": "PASSED" + }, + { + "name": "blake2b-wasm-v2.1.0", + "status": "PASSED" + }, + { + "name": "bluebird-v3.7.2", + "status": "PASSED" + }, + { + "name": "body-parser-v1.19.0", + "status": "PASSED" + }, + { + "name": "ava-v3.10.1", + "status": "REGRESSION" + }, + { + "name": "bson", + "status": "SKIPPED" + }, + { + "name": "bufferutil-v4.0.1", + "status": "PASSED" + }, + { + "name": "cheerio-v1.0.0-rc.3", + "status": "PASSED" + }, + { + "name": "browserify-v16.5.1", + "status": "PASSED" + }, + { + "name": "coffeescript-v2.5.1", + "status": "PASSED" + }, + { + "name": "commander", + "status": "SKIPPED" + }, + { + "name": "crc32-stream-v4.0.0", + "status": "PASSED" + }, + { + "name": "csv-parser-v2.3.3", + "status": "PASSED" + }, + { + "name": "david", + "status": "SKIPPED" + }, + { + "name": "debug-v4.1.1", + "status": "PASSED" + }, + { + "name": "dicer-v0.3.0", + "status": "PASSED" + }, + { + "name": "duplexer2-v0.1.4", + "status": "PASSED" + }, + { + "name": "duplexify-v4.1.1", + "status": "PASSED" + }, + { + "name": "clinic-v6.0.2", + "status": "PASSED" + }, + { + "name": "eslint", + "status": "SKIPPED" + }, + { + "name": "ember-cli-v3.19.0", + "status": "PASSED" + }, + { + "name": "eslint-plugin-jest-v23.18.0", + "status": "PASSED" + }, + { + "name": "express-v4.17.1", + "status": "PASSED" + }, + { + "name": "express-session-v1.17.1", + "status": "PASSED" + }, + { + "name": "esprima-v4.0.1", + "status": "PASSED" + }, + { + "name": "ffi", + "status": "SKIPPED" + }, + { + "name": "flush-write-stream-v2.0.0", + "status": "PASSED" + }, + { + "name": "from2-v2.3.0", + "status": "PASSED" + }, + { + "name": "fs-extra", + "status": "SKIPPED" + }, + { + "name": "full-icu-test-v1.0.3", + "status": "PASSED" + }, + { + "name": "glob-v7.1.6", + "status": "PASSED" + }, + { + "name": "got", + "status": "SKIPPED" + }, + { + "name": "graceful-fs", + "status": "SKIPPED" + }, + { + "name": "gulp-v4.0.2", + "status": "PASSED" + }, + { + "name": "gulp-util-v3.0.8", + "status": "PASSED" + }, + { + "name": "fastify-v3.1.1", + "status": "PASSED" + }, + { + "name": "iconv-v3.0.0", + "status": "PASSED" + }, + { + "name": "isarray-v2.0.5", + "status": "PASSED" + }, + { + "name": "inherits-v2.0.4", + "status": "PASSED" + }, + { + "name": "koa-v2.13.0", + "status": "PASSED" + }, + { + "name": "jquery-v3.5.1", + "status": "SKIPPED" + }, + { + "name": "level-v6.0.1", + "status": "PASSED" + }, + { + "name": "libxmljs", + "status": "SKIPPED" + }, + { + "name": "lodash-v4.17.19", + "status": "PASSED" + }, + { + "name": "leveldown-v5.6.0", + "status": "PASSED" + }, + { + "name": "microtime-v3.0.0", + "status": "PASSED" + }, + { + "name": "minimist-v1.2.5", + "status": "PASSED" + }, + { + "name": "mkdirp", + "status": "SKIPPED" + }, + { + "name": "mocha", + "status": "SKIPPED" + }, + { + "name": "moment", + "status": "SKIPPED" + }, + { + "name": "mime-v2.4.6", + "status": "PASSED" + }, + { + "name": "multer-v1.4.2", + "status": "PASSED" + }, + { + "name": "nan-v2.14.1", + "status": "PASSED" + }, + { + "name": "node-gyp-v7.0.0", + "status": "PASSED" + }, + { + "name": "node-sass", + "status": "SKIPPED" + }, + { + "name": "node-report-v2.2.11", + "status": "PASSED" + }, + { + "name": "path-to-regexp-v6.1.0", + "status": "PASSED" + }, + { + "name": "pino-v6.4.0", + "status": "PASSED" + }, + { + "name": "pumpify-v2.0.1", + "status": "PASSED" + }, + { + "name": "q-v1.5.1", + "status": "PASSED" + }, + { + "name": "pug-v3.0.0", + "status": "PASSED" + }, + { + "name": "react", + "status": "SKIPPED" + }, + { + "name": "readable-stream", + "status": "SKIPPED" + }, + { + "name": "ref", + "status": "SKIPPED" + }, + { + "name": "resolve-v1.17.0", + "status": "PASSED" + }, + { + "name": "radium-v0.26.0", + "status": "PASSED" + }, + { + "name": "rewire-v5.0.0", + "status": "PASSED" + }, + { + "name": "rimraf-v3.0.2", + "status": "PASSED" + }, + { + "name": "router-v1.3.5", + "status": "PASSED" + }, + { + "name": "sax-v1.2.4", + "status": "PASSED" + }, + { + "name": "semver-v7.3.2", + "status": "PASSED" + }, + { + "name": "serialport-v9.0.0", + "status": "PASSED" + }, + { + "name": "shot-v4.0.7", + "status": "REGRESSION" + }, + { + "name": "socket.io-v2.3.0", + "status": "PASSED" + }, + { + "name": "spdy", + "status": "SKIPPED" + }, + { + "name": "spdy-transport", + "status": "SKIPPED" + }, + { + "name": "spawn-wrap-v2.0.0", + "status": "PASSED" + }, + { + "name": "split2-v3.1.1", + "status": "PASSED" + }, + { + "name": "stylus", + "status": "SKIPPED" + }, + { + "name": "sqlite3-v5.0.0", + "status": "PASSED" + }, + { + "name": "thread-sleep-v2.2.0", + "status": "PASSED" + }, + { + "name": "tape-v5.0.1", + "status": "PASSED" + }, + { + "name": "throughv-v1.0.4", + "status": "PASSED" + }, + { + "name": "time", + "status": "SKIPPED" + }, + { + "name": "through2-v4.0.2", + "status": "PASSED" + }, + { + "name": "torrent-stream-v1.2.0", + "status": "PASSED" + }, + { + "name": "underscore-v1.10.2", + "status": "PASSED" + }, + { + "name": "uuid-v8.2.0", + "status": "PASSED" + }, + { + "name": "vinyl-v2.2.0", + "status": "PASSED" + }, + { + "name": "vinyl-fs", + "status": "SKIPPED" + }, + { + "name": "watchify-v3.11.1", + "status": "PASSED" + }, + { + "name": "weak", + "status": "SKIPPED" + }, + { + "name": "uglify-js-v3.10.0", + "status": "PASSED" + }, + { + "name": "ws-v7.3.1", + "status": "PASSED" + }, + { + "name": "winston-v3.3.3", + "status": "PASSED" + }, + { + "name": "yargs-v15.4.1", + "status": "PASSED" + }, + { + "name": "zeromq", + "status": "SKIPPED" + }, + { + "name": "yeoman-generator-v4.11.0", + "status": "PASSED" + } + ] + } + ] + } + }, + { + "child": { + "_class": "hudson.matrix.MatrixRun", + "url": "https://ci.nodejs.org/job/citgm-smoker/nodes=osx1014/2433/" + }, + "result": { + "_class": "hudson.tasks.junit.TestResult", + "suites": [ + { + "cases": [ + { + "name": "JSONStream-v1.3.5", + "status": "PASSED" + }, + { + "name": "@nearform/flame-v6.0.1", + "status": "SKIPPED" + }, + { + "name": "async", + "status": "SKIPPED" + }, + { + "name": "@nearform/doctor-v5.0.2", + "status": "SKIPPED" + }, + { + "name": "@nearform/bubbleprof-v4.0.3", + "status": "FIXED" + }, + { + "name": "bcrypt-v5.0.0", + "status": "PASSED" + }, + { + "name": "binary-split-v1.0.5", + "status": "PASSED" + }, + { + "name": "bl-v4.0.2", + "status": "PASSED" + }, + { + "name": "blake2b-wasm-v2.1.0", + "status": "PASSED" + }, + { + "name": "acorn-v7.3.1", + "status": "FAILED" + }, + { + "name": "body-parser-v1.19.0", + "status": "PASSED" + }, + { + "name": "bson", + "status": "SKIPPED" + }, + { + "name": "bluebird-v3.7.2", + "status": "PASSED" + }, + { + "name": "bufferutil-v4.0.1", + "status": "PASSED" + }, + { + "name": "cheerio-v1.0.0-rc.3", + "status": "PASSED" + }, + { + "name": "coffeescript-v2.5.1", + "status": "PASSED" + }, + { + "name": "commander", + "status": "SKIPPED" + }, + { + "name": "crc32-stream-v4.0.0", + "status": "PASSED" + }, + { + "name": "ava-v3.10.1", + "status": "FAILED" + }, + { + "name": "david", + "status": "SKIPPED" + }, + { + "name": "browserify-v16.5.1", + "status": "PASSED" + }, + { + "name": "dicer-v0.3.0", + "status": "PASSED" + }, + { + "name": "duplexer2-v0.1.4", + "status": "PASSED" + }, + { + "name": "duplexify-v4.1.1", + "status": "PASSED" + }, + { + "name": "csv-parser-v2.3.3", + "status": "PASSED" + }, + { + "name": "eslint", + "status": "SKIPPED" + }, + { + "name": "debug-v4.1.1", + "status": "PASSED" + }, + { + "name": "clinic-v6.0.2", + "status": "FAILED" + }, + { + "name": "esprima-v4.0.1", + "status": "PASSED" + }, + { + "name": "eslint-plugin-jest-v23.18.0", + "status": "FIXED" + }, + { + "name": "express-v4.17.1", + "status": "PASSED" + }, + { + "name": "ffi", + "status": "SKIPPED" + }, + { + "name": "express-session-v1.17.1", + "status": "PASSED" + }, + { + "name": "flush-write-stream-v2.0.0", + "status": "PASSED" + }, + { + "name": "fs-extra", + "status": "SKIPPED" + }, + { + "name": "from2-v2.3.0", + "status": "PASSED" + }, + { + "name": "full-icu-test-v1.0.3", + "status": "PASSED" + }, + { + "name": "got", + "status": "SKIPPED" + }, + { + "name": "graceful-fs", + "status": "SKIPPED" + }, + { + "name": "glob-v7.1.6", + "status": "PASSED" + }, + { + "name": "gulp-v4.0.2", + "status": "REGRESSION" + }, + { + "name": "gulp-util-v3.0.8", + "status": "PASSED" + }, + { + "name": "ember-cli-v3.19.0", + "status": "FAILED" + }, + { + "name": "iconv-v3.0.0", + "status": "PASSED" + }, + { + "name": "isarray-v2.0.5", + "status": "PASSED" + }, + { + "name": "inherits-v2.0.4", + "status": "PASSED" + }, + { + "name": "fastify-v3.1.1", + "status": "PASSED" + }, + { + "name": "koa-v2.13.0", + "status": "PASSED" + }, + { + "name": "libxmljs", + "status": "SKIPPED" + }, + { + "name": "jquery-v3.5.1", + "status": "SKIPPED" + }, + { + "name": "level-v6.0.1", + "status": "PASSED" + }, + { + "name": "microtime-v3.0.0", + "status": "PASSED" + }, + { + "name": "mime-v2.4.6", + "status": "PASSED" + }, + { + "name": "mkdirp", + "status": "SKIPPED" + }, + { + "name": "mocha", + "status": "SKIPPED" + }, + { + "name": "moment", + "status": "SKIPPED" + }, + { + "name": "minimist-v1.2.5", + "status": "PASSED" + }, + { + "name": "multer-v1.4.2", + "status": "PASSED" + }, + { + "name": "lodash-v4.17.19", + "status": "PASSED" + }, + { + "name": "leveldown-v5.6.0", + "status": "PASSED" + }, + { + "name": "node-sass", + "status": "SKIPPED" + }, + { + "name": "nan-v2.14.1", + "status": "PASSED" + }, + { + "name": "node-report-v2.2.11", + "status": "PASSED" + }, + { + "name": "node-gyp-v7.0.0", + "status": "PASSED" + }, + { + "name": "pumpify-v2.0.1", + "status": "PASSED" + }, + { + "name": "q-v1.5.1", + "status": "PASSED" + }, + { + "name": "path-to-regexp-v6.1.0", + "status": "PASSED" + }, + { + "name": "react", + "status": "SKIPPED" + }, + { + "name": "readable-stream", + "status": "SKIPPED" + }, + { + "name": "ref", + "status": "SKIPPED" + }, + { + "name": "pug-v3.0.0", + "status": "PASSED" + }, + { + "name": "pino-v6.4.0", + "status": "PASSED" + }, + { + "name": "rewire-v5.0.0", + "status": "PASSED" + }, + { + "name": "radium-v0.26.0", + "status": "PASSED" + }, + { + "name": "rimraf-v3.0.2", + "status": "PASSED" + }, + { + "name": "router-v1.3.5", + "status": "PASSED" + }, + { + "name": "resolve-v1.17.0", + "status": "PASSED" + }, + { + "name": "sax-v1.2.4", + "status": "PASSED" + }, + { + "name": "shot-v4.0.7", + "status": "REGRESSION" + }, + { + "name": "semver-v7.3.2", + "status": "REGRESSION" + }, + { + "name": "spdy", + "status": "SKIPPED" + }, + { + "name": "spdy-transport", + "status": "SKIPPED" + }, + { + "name": "serialport-v9.0.0", + "status": "PASSED" + }, + { + "name": "socket.io-v2.3.0", + "status": "PASSED" + }, + { + "name": "stylus", + "status": "SKIPPED" + }, + { + "name": "spawn-wrap-v2.0.0", + "status": "SKIPPED" + }, + { + "name": "split2-v3.1.1", + "status": "PASSED" + }, + { + "name": "thread-sleep-v2.2.0", + "status": "PASSED" + }, + { + "name": "throughv-v1.0.4", + "status": "PASSED" + }, + { + "name": "time", + "status": "SKIPPED" + }, + { + "name": "through2-v4.0.2", + "status": "PASSED" + }, + { + "name": "tape-v5.0.1", + "status": "PASSED" + }, + { + "name": "torrent-stream-v1.2.0", + "status": "PASSED" + }, + { + "name": "underscore-v1.10.2", + "status": "FAILED" + }, + { + "name": "sqlite3-v5.0.0", + "status": "PASSED" + }, + { + "name": "vinyl-fs", + "status": "SKIPPED" + }, + { + "name": "uuid-v8.2.0", + "status": "PASSED" + }, + { + "name": "weak", + "status": "SKIPPED" + }, + { + "name": "vinyl-v2.2.0", + "status": "PASSED" + }, + { + "name": "watchify-v3.11.1", + "status": "PASSED" + }, + { + "name": "ws-v7.3.1", + "status": "PASSED" + }, + { + "name": "winston-v3.3.3", + "status": "SKIPPED" + }, + { + "name": "zeromq", + "status": "SKIPPED" + }, + { + "name": "uglify-js-v3.10.0", + "status": "PASSED" + }, + { + "name": "yargs-v15.4.1", + "status": "FIXED" + }, + { + "name": "yeoman-generator-v4.11.0", + "status": "PASSED" + } + ] + } + ] + } + }, + { + "child": { + "_class": "hudson.matrix.MatrixRun", + "url": "https://ci.nodejs.org/job/citgm-smoker/nodes=fedora-last-latest-x64/2433/" + }, + "result": { + "_class": "hudson.tasks.junit.TestResult", + "suites": [ + { + "cases": [ + { + "name": "@nearform/doctor-v5.0.2", + "status": "SKIPPED" + }, + { + "name": "@nearform/bubbleprof-v4.0.3", + "status": "PASSED" + }, + { + "name": "JSONStream-v1.3.5", + "status": "PASSED" + }, + { + "name": "@nearform/flame-v6.0.1", + "status": "SKIPPED" + }, + { + "name": "async", + "status": "SKIPPED" + }, + { + "name": "acorn-v7.3.1", + "status": "PASSED" + }, + { + "name": "bcrypt-v5.0.0", + "status": "PASSED" + }, + { + "name": "binary-split-v1.0.5", + "status": "PASSED" + }, + { + "name": "bl-v4.0.2", + "status": "PASSED" + }, + { + "name": "blake2b-wasm-v2.1.0", + "status": "PASSED" + }, + { + "name": "bluebird-v3.7.2", + "status": "PASSED" + }, + { + "name": "body-parser-v1.19.0", + "status": "PASSED" + }, + { + "name": "ava-v3.10.1", + "status": "FAILED" + }, + { + "name": "bson", + "status": "SKIPPED" + }, + { + "name": "bufferutil-v4.0.1", + "status": "PASSED" + }, + { + "name": "cheerio-v1.0.0-rc.3", + "status": "PASSED" + }, + { + "name": "browserify-v16.5.1", + "status": "PASSED" + }, + { + "name": "coffeescript-v2.5.1", + "status": "PASSED" + }, + { + "name": "commander", + "status": "SKIPPED" + }, + { + "name": "crc32-stream-v4.0.0", + "status": "PASSED" + }, + { + "name": "csv-parser-v2.3.3", + "status": "PASSED" + }, + { + "name": "david", + "status": "SKIPPED" + }, + { + "name": "debug-v4.1.1", + "status": "PASSED" + }, + { + "name": "dicer-v0.3.0", + "status": "PASSED" + }, + { + "name": "duplexer2-v0.1.4", + "status": "PASSED" + }, + { + "name": "duplexify-v4.1.1", + "status": "PASSED" + }, + { + "name": "clinic-v6.0.2", + "status": "PASSED" + }, + { + "name": "eslint", + "status": "SKIPPED" + }, + { + "name": "ember-cli-v3.19.0", + "status": "PASSED" + }, + { + "name": "eslint-plugin-jest-v23.18.0", + "status": "PASSED" + }, + { + "name": "esprima-v4.0.1", + "status": "PASSED" + }, + { + "name": "express-v4.17.1", + "status": "PASSED" + }, + { + "name": "express-session-v1.17.1", + "status": "PASSED" + }, + { + "name": "ffi", + "status": "SKIPPED" + }, + { + "name": "flush-write-stream-v2.0.0", + "status": "PASSED" + }, + { + "name": "from2-v2.3.0", + "status": "PASSED" + }, + { + "name": "fs-extra", + "status": "SKIPPED" + }, + { + "name": "full-icu-test-v1.0.3", + "status": "PASSED" + }, + { + "name": "glob-v7.1.6", + "status": "PASSED" + }, + { + "name": "got", + "status": "SKIPPED" + }, + { + "name": "graceful-fs", + "status": "SKIPPED" + }, + { + "name": "gulp-v4.0.2", + "status": "PASSED" + }, + { + "name": "gulp-util-v3.0.8", + "status": "PASSED" + }, + { + "name": "iconv-v3.0.0", + "status": "PASSED" + }, + { + "name": "fastify-v3.1.1", + "status": "PASSED" + }, + { + "name": "isarray-v2.0.5", + "status": "PASSED" + }, + { + "name": "inherits-v2.0.4", + "status": "PASSED" + }, + { + "name": "koa-v2.13.0", + "status": "PASSED" + }, + { + "name": "jquery-v3.5.1", + "status": "SKIPPED" + }, + { + "name": "level-v6.0.1", + "status": "PASSED" + }, + { + "name": "libxmljs", + "status": "SKIPPED" + }, + { + "name": "leveldown-v5.6.0", + "status": "PASSED" + }, + { + "name": "lodash-v4.17.19", + "status": "PASSED" + }, + { + "name": "microtime-v3.0.0", + "status": "PASSED" + }, + { + "name": "mime-v2.4.6", + "status": "PASSED" + }, + { + "name": "mkdirp", + "status": "SKIPPED" + }, + { + "name": "mocha", + "status": "SKIPPED" + }, + { + "name": "moment", + "status": "SKIPPED" + }, + { + "name": "minimist-v1.2.5", + "status": "PASSED" + }, + { + "name": "multer-v1.4.2", + "status": "PASSED" + }, + { + "name": "node-gyp-v7.0.0", + "status": "PASSED" + }, + { + "name": "nan-v2.14.1", + "status": "PASSED" + }, + { + "name": "node-sass", + "status": "SKIPPED" + }, + { + "name": "node-report-v2.2.11", + "status": "PASSED" + }, + { + "name": "path-to-regexp-v6.1.0", + "status": "PASSED" + }, + { + "name": "pino-v6.4.0", + "status": "PASSED" + }, + { + "name": "pumpify-v2.0.1", + "status": "PASSED" + }, + { + "name": "q-v1.5.1", + "status": "PASSED" + }, + { + "name": "pug-v3.0.0", + "status": "PASSED" + }, + { + "name": "react", + "status": "SKIPPED" + }, + { + "name": "readable-stream", + "status": "SKIPPED" + }, + { + "name": "ref", + "status": "SKIPPED" + }, + { + "name": "resolve-v1.17.0", + "status": "PASSED" + }, + { + "name": "radium-v0.26.0", + "status": "PASSED" + }, + { + "name": "rewire-v5.0.0", + "status": "PASSED" + }, + { + "name": "rimraf-v3.0.2", + "status": "PASSED" + }, + { + "name": "router-v1.3.5", + "status": "PASSED" + }, + { + "name": "sax-v1.2.4", + "status": "PASSED" + }, + { + "name": "semver-v7.3.2", + "status": "PASSED" + }, + { + "name": "serialport-v9.0.0", + "status": "PASSED" + }, + { + "name": "shot-v4.0.7", + "status": "FAILED" + }, + { + "name": "spawn-wrap-v2.0.0", + "status": "PASSED" + }, + { + "name": "spdy", + "status": "SKIPPED" + }, + { + "name": "spdy-transport", + "status": "SKIPPED" + }, + { + "name": "socket.io-v2.3.0", + "status": "PASSED" + }, + { + "name": "split2-v3.1.1", + "status": "PASSED" + }, + { + "name": "stylus", + "status": "SKIPPED" + }, + { + "name": "sqlite3-v5.0.0", + "status": "PASSED" + }, + { + "name": "thread-sleep-v2.2.0", + "status": "PASSED" + }, + { + "name": "tape-v5.0.1", + "status": "PASSED" + }, + { + "name": "through2-v4.0.2", + "status": "PASSED" + }, + { + "name": "time", + "status": "SKIPPED" + }, + { + "name": "throughv-v1.0.4", + "status": "PASSED" + }, + { + "name": "torrent-stream-v1.2.0", + "status": "PASSED" + }, + { + "name": "underscore-v1.10.2", + "status": "PASSED" + }, + { + "name": "uuid-v8.2.0", + "status": "PASSED" + }, + { + "name": "vinyl-v2.2.0", + "status": "PASSED" + }, + { + "name": "vinyl-fs", + "status": "SKIPPED" + }, + { + "name": "watchify-v3.11.1", + "status": "PASSED" + }, + { + "name": "weak", + "status": "SKIPPED" + }, + { + "name": "uglify-js-v3.10.0", + "status": "PASSED" + }, + { + "name": "ws-v7.3.1", + "status": "PASSED" + }, + { + "name": "winston-v3.3.3", + "status": "FIXED" + }, + { + "name": "yargs-v15.4.1", + "status": "PASSED" + }, + { + "name": "zeromq", + "status": "SKIPPED" + }, + { + "name": "yeoman-generator-v4.11.0", + "status": "PASSED" + } + ] + } + ] + } + }, + { + "child": { + "_class": "hudson.matrix.MatrixRun", + "url": "https://ci.nodejs.org/job/citgm-smoker/nodes=centos7-ppcle/2433/" + }, + "result": { + "_class": "hudson.tasks.junit.TestResult", + "suites": [ + { + "cases": [ + { + "name": "JSONStream-v1.3.5", + "status": "PASSED" + }, + { + "name": "acorn", + "status": "SKIPPED" + }, + { + "name": "async", + "status": "SKIPPED" + }, + { + "name": "ava", + "status": "SKIPPED" + }, + { + "name": "bcrypt-v5.0.0", + "status": "PASSED" + }, + { + "name": "binary-split-v1.0.5", + "status": "PASSED" + }, + { + "name": "bl-v4.0.2", + "status": "PASSED" + }, + { + "name": "@nearform/doctor-v5.0.2", + "status": "SKIPPED" + }, + { + "name": "blake2b-wasm-v2.1.0", + "status": "PASSED" + }, + { + "name": "@nearform/flame-v6.0.1", + "status": "SKIPPED" + }, + { + "name": "body-parser-v1.19.0", + "status": "PASSED" + }, + { + "name": "bson", + "status": "SKIPPED" + }, + { + "name": "bluebird-v3.7.2", + "status": "PASSED" + }, + { + "name": "@nearform/bubbleprof-v4.0.3", + "status": "FIXED" + }, + { + "name": "bufferutil-v4.0.1", + "status": "PASSED" + }, + { + "name": "cheerio-v1.0.0-rc.3", + "status": "PASSED" + }, + { + "name": "commander", + "status": "SKIPPED" + }, + { + "name": "crc32-stream-v4.0.0", + "status": "PASSED" + }, + { + "name": "coffeescript-v2.5.1", + "status": "PASSED" + }, + { + "name": "david", + "status": "SKIPPED" + }, + { + "name": "debug", + "status": "SKIPPED" + }, + { + "name": "browserify-v16.5.1", + "status": "PASSED" + }, + { + "name": "dicer-v0.3.0", + "status": "PASSED" + }, + { + "name": "duplexer2-v0.1.4", + "status": "PASSED" + }, + { + "name": "duplexify-v4.1.1", + "status": "PASSED" + }, + { + "name": "eslint", + "status": "SKIPPED" + }, + { + "name": "csv-parser-v2.3.3", + "status": "PASSED" + }, + { + "name": "esprima-v4.0.1", + "status": "PASSED" + }, + { + "name": "express-v4.17.1", + "status": "PASSED" + }, + { + "name": "express-session-v1.17.1", + "status": "PASSED" + }, + { + "name": "fastify-v3.1.1", + "status": "FIXED" + }, + { + "name": "ffi", + "status": "SKIPPED" + }, + { + "name": "flush-write-stream-v2.0.0", + "status": "PASSED" + }, + { + "name": "from2-v2.3.0", + "status": "PASSED" + }, + { + "name": "fs-extra", + "status": "SKIPPED" + }, + { + "name": "full-icu-test-v1.0.3", + "status": "PASSED" + }, + { + "name": "clinic-v6.0.2", + "status": "FIXED" + }, + { + "name": "got", + "status": "SKIPPED" + }, + { + "name": "graceful-fs", + "status": "SKIPPED" + }, + { + "name": "glob-v7.1.6", + "status": "PASSED" + }, + { + "name": "ember-cli-v3.19.0", + "status": "FAILED" + }, + { + "name": "eslint-plugin-jest-v23.18.0", + "status": "PASSED" + }, + { + "name": "gulp-util-v3.0.8", + "status": "PASSED" + }, + { + "name": "iconv-v3.0.0", + "status": "PASSED" + }, + { + "name": "inherits-v2.0.4", + "status": "PASSED" + }, + { + "name": "isarray-v2.0.5", + "status": "PASSED" + }, + { + "name": "gulp-v4.0.2", + "status": "PASSED" + }, + { + "name": "koa-v2.13.0", + "status": "PASSED" + }, + { + "name": "libxmljs", + "status": "SKIPPED" + }, + { + "name": "jquery-v3.5.1", + "status": "SKIPPED" + }, + { + "name": "level-v6.0.1", + "status": "PASSED" + }, + { + "name": "lodash-v4.17.19", + "status": "PASSED" + }, + { + "name": "microtime-v3.0.0", + "status": "PASSED" + }, + { + "name": "mkdirp", + "status": "SKIPPED" + }, + { + "name": "mocha", + "status": "SKIPPED" + }, + { + "name": "moment", + "status": "SKIPPED" + }, + { + "name": "minimist-v1.2.5", + "status": "PASSED" + }, + { + "name": "multer-v1.4.2", + "status": "FIXED" + }, + { + "name": "mime-v2.4.6", + "status": "PASSED" + }, + { + "name": "nan-v2.14.1", + "status": "PASSED" + }, + { + "name": "node-sass", + "status": "SKIPPED" + }, + { + "name": "node-report-v2.2.11", + "status": "PASSED" + }, + { + "name": "node-gyp-v7.0.0", + "status": "PASSED" + }, + { + "name": "pug-v3.0.0", + "status": "PASSED" + }, + { + "name": "pumpify-v2.0.1", + "status": "PASSED" + }, + { + "name": "q-v1.5.1", + "status": "PASSED" + }, + { + "name": "pino-v6.4.0", + "status": "PASSED" + }, + { + "name": "react", + "status": "SKIPPED" + }, + { + "name": "readable-stream", + "status": "SKIPPED" + }, + { + "name": "ref", + "status": "SKIPPED" + }, + { + "name": "resolve-v1.17.0", + "status": "PASSED" + }, + { + "name": "radium-v0.26.0", + "status": "PASSED" + }, + { + "name": "rewire-v5.0.0", + "status": "PASSED" + }, + { + "name": "rimraf-v3.0.2", + "status": "PASSED" + }, + { + "name": "router-v1.3.5", + "status": "PASSED" + }, + { + "name": "leveldown-v5.6.0", + "status": "SKIPPED" + }, + { + "name": "sax-v1.2.4", + "status": "PASSED" + }, + { + "name": "shot-v4.0.7", + "status": "REGRESSION" + }, + { + "name": "path-to-regexp-v6.1.0", + "status": "PASSED" + }, + { + "name": "serialport-v9.0.0", + "status": "SKIPPED" + }, + { + "name": "spdy", + "status": "SKIPPED" + }, + { + "name": "spdy-transport", + "status": "SKIPPED" + }, + { + "name": "semver-v7.3.2", + "status": "PASSED" + }, + { + "name": "socket.io-v2.3.0", + "status": "FIXED" + }, + { + "name": "stylus", + "status": "SKIPPED" + }, + { + "name": "spawn-wrap-v2.0.0", + "status": "PASSED" + }, + { + "name": "thread-sleep-v2.2.0", + "status": "PASSED" + }, + { + "name": "split2-v3.1.1", + "status": "PASSED" + }, + { + "name": "tape-v5.0.1", + "status": "PASSED" + }, + { + "name": "time", + "status": "SKIPPED" + }, + { + "name": "throughv-v1.0.4", + "status": "PASSED" + }, + { + "name": "through2-v4.0.2", + "status": "PASSED" + }, + { + "name": "torrent-stream-v1.2.0", + "status": "FAILED" + }, + { + "name": "underscore-v1.10.2", + "status": "PASSED" + }, + { + "name": "vinyl-v2.2.0", + "status": "PASSED" + }, + { + "name": "vinyl-fs", + "status": "SKIPPED" + }, + { + "name": "uuid-v8.2.0", + "status": "PASSED" + }, + { + "name": "weak", + "status": "SKIPPED" + }, + { + "name": "watchify-v3.11.1", + "status": "FIXED" + }, + { + "name": "uglify-js-v3.10.0", + "status": "PASSED" + }, + { + "name": "winston-v3.3.3", + "status": "SKIPPED" + }, + { + "name": "ws-v7.3.1", + "status": "PASSED" + }, + { + "name": "zeromq", + "status": "SKIPPED" + }, + { + "name": "yeoman-generator-v4.11.0", + "status": "PASSED" + }, + { + "name": "yargs-v15.4.1", + "status": "FIXED" + }, + { + "name": "sqlite3-v5.0.0", + "status": "FIXED" + } + ] + } + ] + } + }, + { + "child": { + "_class": "hudson.matrix.MatrixRun", + "url": "https://ci.nodejs.org/job/citgm-smoker/nodes=rhel7-s390x/2433/" + }, + "result": { + "_class": "hudson.tasks.junit.TestResult", + "suites": [ + { + "cases": [ + { + "name": "JSONStream-v1.3.5", + "status": "PASSED" + }, + { + "name": "@nearform/flame-v6.0.1", + "status": "PASSED" + }, + { + "name": "async", + "status": "SKIPPED" + }, + { + "name": "ava", + "status": "SKIPPED" + }, + { + "name": "@nearform/doctor-v5.0.2", + "status": "PASSED" + }, + { + "name": "bcrypt-v5.0.0", + "status": "PASSED" + }, + { + "name": "binary-split-v1.0.5", + "status": "PASSED" + }, + { + "name": "@nearform/bubbleprof-v4.0.3", + "status": "FIXED" + }, + { + "name": "blake2b-wasm-v2.1.0", + "status": "PASSED" + }, + { + "name": "bl-v4.0.2", + "status": "PASSED" + }, + { + "name": "acorn-v7.3.1", + "status": "PASSED" + }, + { + "name": "bson", + "status": "SKIPPED" + }, + { + "name": "body-parser-v1.19.0", + "status": "PASSED" + }, + { + "name": "bluebird-v3.7.2", + "status": "PASSED" + }, + { + "name": "bufferutil-v4.0.1", + "status": "PASSED" + }, + { + "name": "coffeescript", + "status": "SKIPPED" + }, + { + "name": "commander", + "status": "SKIPPED" + }, + { + "name": "cheerio-v1.0.0-rc.3", + "status": "PASSED" + }, + { + "name": "crc32-stream-v4.0.0", + "status": "PASSED" + }, + { + "name": "david", + "status": "SKIPPED" + }, + { + "name": "debug", + "status": "SKIPPED" + }, + { + "name": "dicer-v0.3.0", + "status": "PASSED" + }, + { + "name": "duplexer2-v0.1.4", + "status": "PASSED" + }, + { + "name": "duplexify-v4.1.1", + "status": "PASSED" + }, + { + "name": "csv-parser-v2.3.3", + "status": "PASSED" + }, + { + "name": "eslint", + "status": "SKIPPED" + }, + { + "name": "browserify-v16.5.1", + "status": "PASSED" + }, + { + "name": "eslint-plugin-jest-v23.18.0", + "status": "PASSED" + }, + { + "name": "esprima-v4.0.1", + "status": "PASSED" + }, + { + "name": "express-v4.17.1", + "status": "PASSED" + }, + { + "name": "express-session-v1.17.1", + "status": "PASSED" + }, + { + "name": "ffi", + "status": "SKIPPED" + }, + { + "name": "flush-write-stream-v2.0.0", + "status": "PASSED" + }, + { + "name": "from2-v2.3.0", + "status": "PASSED" + }, + { + "name": "fs-extra", + "status": "SKIPPED" + }, + { + "name": "full-icu-test-v1.0.3", + "status": "PASSED" + }, + { + "name": "fastify-v3.1.1", + "status": "PASSED" + }, + { + "name": "got", + "status": "SKIPPED" + }, + { + "name": "graceful-fs", + "status": "SKIPPED" + }, + { + "name": "glob-v7.1.6", + "status": "PASSED" + }, + { + "name": "ember-cli-v3.19.0", + "status": "PASSED" + }, + { + "name": "gulp-util-v3.0.8", + "status": "PASSED" + }, + { + "name": "iconv-v3.0.0", + "status": "PASSED" + }, + { + "name": "gulp-v4.0.2", + "status": "PASSED" + }, + { + "name": "inherits-v2.0.4", + "status": "PASSED" + }, + { + "name": "isarray-v2.0.5", + "status": "PASSED" + }, + { + "name": "level-v6.0.1", + "status": "SKIPPED" + }, + { + "name": "koa-v2.13.0", + "status": "PASSED" + }, + { + "name": "libxmljs", + "status": "SKIPPED" + }, + { + "name": "jquery-v3.5.1", + "status": "SKIPPED" + }, + { + "name": "clinic-v6.0.2", + "status": "PASSED" + }, + { + "name": "mime-v2.4.6", + "status": "PASSED" + }, + { + "name": "microtime-v3.0.0", + "status": "PASSED" + }, + { + "name": "mkdirp", + "status": "SKIPPED" + }, + { + "name": "mocha", + "status": "SKIPPED" + }, + { + "name": "moment", + "status": "SKIPPED" + }, + { + "name": "lodash-v4.17.19", + "status": "PASSED" + }, + { + "name": "minimist-v1.2.5", + "status": "PASSED" + }, + { + "name": "multer-v1.4.2", + "status": "PASSED" + }, + { + "name": "leveldown-v5.6.0", + "status": "SKIPPED" + }, + { + "name": "node-sass", + "status": "SKIPPED" + }, + { + "name": "node-gyp-v7.0.0", + "status": "PASSED" + }, + { + "name": "node-report-v2.2.11", + "status": "PASSED" + }, + { + "name": "nan-v2.14.1", + "status": "PASSED" + }, + { + "name": "pumpify-v2.0.1", + "status": "PASSED" + }, + { + "name": "pug-v3.0.0", + "status": "PASSED" + }, + { + "name": "pino-v6.4.0", + "status": "PASSED" + }, + { + "name": "react", + "status": "SKIPPED" + }, + { + "name": "readable-stream", + "status": "SKIPPED" + }, + { + "name": "ref", + "status": "SKIPPED" + }, + { + "name": "q-v1.5.1", + "status": "PASSED" + }, + { + "name": "path-to-regexp-v6.1.0", + "status": "PASSED" + }, + { + "name": "radium-v0.26.0", + "status": "PASSED" + }, + { + "name": "rewire-v5.0.0", + "status": "PASSED" + }, + { + "name": "rimraf-v3.0.2", + "status": "PASSED" + }, + { + "name": "router-v1.3.5", + "status": "PASSED" + }, + { + "name": "sax-v1.2.4", + "status": "PASSED" + }, + { + "name": "resolve-v1.17.0", + "status": "PASSED" + }, + { + "name": "shot-v4.0.7", + "status": "REGRESSION" + }, + { + "name": "semver-v7.3.2", + "status": "PASSED" + }, + { + "name": "spdy", + "status": "SKIPPED" + }, + { + "name": "spdy-transport", + "status": "SKIPPED" + }, + { + "name": "serialport-v9.0.0", + "status": "PASSED" + }, + { + "name": "spawn-wrap-v2.0.0", + "status": "PASSED" + }, + { + "name": "stylus", + "status": "SKIPPED" + }, + { + "name": "socket.io-v2.3.0", + "status": "PASSED" + }, + { + "name": "thread-sleep-v2.2.0", + "status": "PASSED" + }, + { + "name": "split2-v3.1.1", + "status": "PASSED" + }, + { + "name": "through2-v4.0.2", + "status": "PASSED" + }, + { + "name": "time", + "status": "SKIPPED" + }, + { + "name": "tape-v5.0.1", + "status": "PASSED" + }, + { + "name": "throughv-v1.0.4", + "status": "PASSED" + }, + { + "name": "underscore-v1.10.2", + "status": "PASSED" + }, + { + "name": "torrent-stream-v1.2.0", + "status": "FAILED" + }, + { + "name": "sqlite3-v5.0.0", + "status": "PASSED" + }, + { + "name": "vinyl-fs", + "status": "SKIPPED" + }, + { + "name": "uuid-v8.2.0", + "status": "PASSED" + }, + { + "name": "weak", + "status": "SKIPPED" + }, + { + "name": "vinyl-v2.2.0", + "status": "PASSED" + }, + { + "name": "ws-v7.3.1", + "status": "PASSED" + }, + { + "name": "watchify-v3.11.1", + "status": "PASSED" + }, + { + "name": "yeoman-generator-v4.11.0", + "status": "PASSED" + }, + { + "name": "zeromq", + "status": "SKIPPED" + }, + { + "name": "winston-v3.3.3", + "status": "PASSED" + }, + { + "name": "yargs-v15.4.1", + "status": "PASSED" + }, + { + "name": "uglify-js-v3.10.0", + "status": "PASSED" + } + ] + } + ] + } + }, + { + "child": { + "_class": "hudson.matrix.MatrixRun", + "url": "https://ci.nodejs.org/job/citgm-smoker/nodes=ubuntu1604-64/2433/" + }, + "result": { + "_class": "hudson.tasks.junit.TestResult", + "suites": [ + { + "cases": [ + { + "name": "JSONStream-v1.3.5", + "status": "PASSED" + }, + { + "name": "@nearform/flame-v6.0.1", + "status": "FIXED" + }, + { + "name": "async", + "status": "SKIPPED" + }, + { + "name": "@nearform/doctor-v5.0.2", + "status": "SKIPPED" + }, + { + "name": "acorn-v7.3.1", + "status": "PASSED" + }, + { + "name": "@nearform/bubbleprof-v4.0.3", + "status": "FIXED" + }, + { + "name": "bcrypt-v5.0.0", + "status": "PASSED" + }, + { + "name": "blake2b-wasm-v2.1.0", + "status": "PASSED" + }, + { + "name": "binary-split-v1.0.5", + "status": "PASSED" + }, + { + "name": "bl-v4.0.2", + "status": "PASSED" + }, + { + "name": "body-parser-v1.19.0", + "status": "PASSED" + }, + { + "name": "bson", + "status": "SKIPPED" + }, + { + "name": "bluebird-v3.7.2", + "status": "PASSED" + }, + { + "name": "bufferutil-v4.0.1", + "status": "PASSED" + }, + { + "name": "cheerio-v1.0.0-rc.3", + "status": "PASSED" + }, + { + "name": "coffeescript-v2.5.1", + "status": "PASSED" + }, + { + "name": "commander", + "status": "SKIPPED" + }, + { + "name": "crc32-stream-v4.0.0", + "status": "PASSED" + }, + { + "name": "browserify-v16.5.1", + "status": "PASSED" + }, + { + "name": "david", + "status": "SKIPPED" + }, + { + "name": "csv-parser-v2.3.3", + "status": "PASSED" + }, + { + "name": "dicer-v0.3.0", + "status": "PASSED" + }, + { + "name": "duplexer2-v0.1.4", + "status": "PASSED" + }, + { + "name": "debug-v4.1.1", + "status": "PASSED" + }, + { + "name": "duplexify-v4.1.1", + "status": "PASSED" + }, + { + "name": "eslint", + "status": "SKIPPED" + }, + { + "name": "ava-v3.10.1", + "status": "REGRESSION" + }, + { + "name": "eslint-plugin-jest-v23.18.0", + "status": "PASSED" + }, + { + "name": "esprima-v4.0.1", + "status": "PASSED" + }, + { + "name": "express-v4.17.1", + "status": "PASSED" + }, + { + "name": "express-session-v1.17.1", + "status": "PASSED" + }, + { + "name": "ffi", + "status": "SKIPPED" + }, + { + "name": "flush-write-stream-v2.0.0", + "status": "PASSED" + }, + { + "name": "from2-v2.3.0", + "status": "PASSED" + }, + { + "name": "fs-extra", + "status": "SKIPPED" + }, + { + "name": "full-icu-test-v1.0.3", + "status": "PASSED" + }, + { + "name": "glob-v7.1.6", + "status": "PASSED" + }, + { + "name": "got", + "status": "SKIPPED" + }, + { + "name": "graceful-fs", + "status": "SKIPPED" + }, + { + "name": "fastify-v3.1.1", + "status": "PASSED" + }, + { + "name": "clinic-v6.0.2", + "status": "PASSED" + }, + { + "name": "gulp-v4.0.2", + "status": "PASSED" + }, + { + "name": "gulp-util-v3.0.8", + "status": "PASSED" + }, + { + "name": "isarray-v2.0.5", + "status": "PASSED" + }, + { + "name": "iconv-v3.0.0", + "status": "PASSED" + }, + { + "name": "inherits-v2.0.4", + "status": "PASSED" + }, + { + "name": "koa-v2.13.0", + "status": "PASSED" + }, + { + "name": "level-v6.0.1", + "status": "PASSED" + }, + { + "name": "libxmljs", + "status": "SKIPPED" + }, + { + "name": "ember-cli-v3.19.0", + "status": "PASSED" + }, + { + "name": "jquery-v3.5.1", + "status": "SKIPPED" + }, + { + "name": "microtime-v3.0.0", + "status": "PASSED" + }, + { + "name": "mime-v2.4.6", + "status": "PASSED" + }, + { + "name": "mkdirp", + "status": "SKIPPED" + }, + { + "name": "mocha", + "status": "SKIPPED" + }, + { + "name": "moment", + "status": "SKIPPED" + }, + { + "name": "minimist-v1.2.5", + "status": "PASSED" + }, + { + "name": "multer-v1.4.2", + "status": "PASSED" + }, + { + "name": "lodash-v4.17.19", + "status": "PASSED" + }, + { + "name": "leveldown-v5.6.0", + "status": "PASSED" + }, + { + "name": "node-sass", + "status": "SKIPPED" + }, + { + "name": "nan-v2.14.1", + "status": "PASSED" + }, + { + "name": "node-report-v2.2.11", + "status": "PASSED" + }, + { + "name": "node-gyp-v7.0.0", + "status": "PASSED" + }, + { + "name": "pumpify-v2.0.1", + "status": "PASSED" + }, + { + "name": "q-v1.5.1", + "status": "PASSED" + }, + { + "name": "pug-v3.0.0", + "status": "PASSED" + }, + { + "name": "react", + "status": "SKIPPED" + }, + { + "name": "readable-stream", + "status": "SKIPPED" + }, + { + "name": "ref", + "status": "SKIPPED" + }, + { + "name": "path-to-regexp-v6.1.0", + "status": "PASSED" + }, + { + "name": "rewire-v5.0.0", + "status": "PASSED" + }, + { + "name": "pino-v6.4.0", + "status": "PASSED" + }, + { + "name": "radium-v0.26.0", + "status": "PASSED" + }, + { + "name": "resolve-v1.17.0", + "status": "PASSED" + }, + { + "name": "rimraf-v3.0.2", + "status": "PASSED" + }, + { + "name": "router-v1.3.5", + "status": "PASSED" + }, + { + "name": "shot-v4.0.7", + "status": "REGRESSION" + }, + { + "name": "sax-v1.2.4", + "status": "PASSED" + }, + { + "name": "semver-v7.3.2", + "status": "PASSED" + }, + { + "name": "spdy", + "status": "SKIPPED" + }, + { + "name": "spdy-transport", + "status": "SKIPPED" + }, + { + "name": "socket.io-v2.3.0", + "status": "PASSED" + }, + { + "name": "spawn-wrap-v2.0.0", + "status": "PASSED" + }, + { + "name": "stylus", + "status": "SKIPPED" + }, + { + "name": "serialport-v9.0.0", + "status": "PASSED" + }, + { + "name": "thread-sleep-v2.2.0", + "status": "PASSED" + }, + { + "name": "split2-v3.1.1", + "status": "PASSED" + }, + { + "name": "throughv-v1.0.4", + "status": "PASSED" + }, + { + "name": "time", + "status": "SKIPPED" + }, + { + "name": "through2-v4.0.2", + "status": "PASSED" + }, + { + "name": "tape-v5.0.1", + "status": "PASSED" + }, + { + "name": "torrent-stream-v1.2.0", + "status": "PASSED" + }, + { + "name": "sqlite3-v5.0.0", + "status": "PASSED" + }, + { + "name": "underscore-v1.10.2", + "status": "PASSED" + }, + { + "name": "vinyl-fs", + "status": "SKIPPED" + }, + { + "name": "vinyl-v2.2.0", + "status": "PASSED" + }, + { + "name": "weak", + "status": "SKIPPED" + }, + { + "name": "uuid-v8.2.0", + "status": "PASSED" + }, + { + "name": "watchify-v3.11.1", + "status": "PASSED" + }, + { + "name": "winston-v3.3.3", + "status": "REGRESSION" + }, + { + "name": "ws-v7.3.1", + "status": "PASSED" + }, + { + "name": "zeromq", + "status": "SKIPPED" + }, + { + "name": "yargs-v15.4.1", + "status": "PASSED" + }, + { + "name": "yeoman-generator-v4.11.0", + "status": "PASSED" + }, + { + "name": "uglify-js-v3.10.0", + "status": "PASSED" + } + ] + } + ] + } + }, + { + "child": { + "_class": "hudson.matrix.MatrixRun", + "url": "https://ci.nodejs.org/job/citgm-smoker/nodes=fedora-latest-x64/2433/" + }, + "result": { + "_class": "hudson.tasks.junit.TestResult", + "suites": [ + { + "cases": [ + { + "name": "@nearform/doctor-v5.0.2", + "status": "SKIPPED" + }, + { + "name": "@nearform/bubbleprof-v4.0.3", + "status": "FIXED" + }, + { + "name": "JSONStream-v1.3.5", + "status": "PASSED" + }, + { + "name": "@nearform/flame-v6.0.1", + "status": "SKIPPED" + }, + { + "name": "async", + "status": "SKIPPED" + }, + { + "name": "acorn-v7.3.1", + "status": "PASSED" + }, + { + "name": "bcrypt-v5.0.0", + "status": "PASSED" + }, + { + "name": "binary-split-v1.0.5", + "status": "PASSED" + }, + { + "name": "bl-v4.0.2", + "status": "PASSED" + }, + { + "name": "blake2b-wasm-v2.1.0", + "status": "PASSED" + }, + { + "name": "bluebird-v3.7.2", + "status": "PASSED" + }, + { + "name": "body-parser-v1.19.0", + "status": "PASSED" + }, + { + "name": "ava-v3.10.1", + "status": "REGRESSION" + }, + { + "name": "bson", + "status": "SKIPPED" + }, + { + "name": "bufferutil-v4.0.1", + "status": "PASSED" + }, + { + "name": "cheerio-v1.0.0-rc.3", + "status": "PASSED" + }, + { + "name": "browserify-v16.5.1", + "status": "PASSED" + }, + { + "name": "coffeescript-v2.5.1", + "status": "PASSED" + }, + { + "name": "commander", + "status": "SKIPPED" + }, + { + "name": "crc32-stream-v4.0.0", + "status": "PASSED" + }, + { + "name": "csv-parser-v2.3.3", + "status": "PASSED" + }, + { + "name": "david", + "status": "SKIPPED" + }, + { + "name": "debug-v4.1.1", + "status": "PASSED" + }, + { + "name": "dicer-v0.3.0", + "status": "PASSED" + }, + { + "name": "duplexer2-v0.1.4", + "status": "PASSED" + }, + { + "name": "duplexify-v4.1.1", + "status": "PASSED" + }, + { + "name": "clinic-v6.0.2", + "status": "FIXED" + }, + { + "name": "eslint", + "status": "SKIPPED" + }, + { + "name": "ember-cli-v3.19.0", + "status": "PASSED" + }, + { + "name": "eslint-plugin-jest-v23.18.0", + "status": "PASSED" + }, + { + "name": "esprima-v4.0.1", + "status": "PASSED" + }, + { + "name": "express-v4.17.1", + "status": "PASSED" + }, + { + "name": "express-session-v1.17.1", + "status": "PASSED" + }, + { + "name": "ffi", + "status": "SKIPPED" + }, + { + "name": "flush-write-stream-v2.0.0", + "status": "PASSED" + }, + { + "name": "from2-v2.3.0", + "status": "PASSED" + }, + { + "name": "fs-extra", + "status": "SKIPPED" + }, + { + "name": "full-icu-test-v1.0.3", + "status": "PASSED" + }, + { + "name": "glob-v7.1.6", + "status": "PASSED" + }, + { + "name": "got", + "status": "SKIPPED" + }, + { + "name": "graceful-fs", + "status": "SKIPPED" + }, + { + "name": "gulp-v4.0.2", + "status": "PASSED" + }, + { + "name": "gulp-util-v3.0.8", + "status": "PASSED" + }, + { + "name": "iconv-v3.0.0", + "status": "PASSED" + }, + { + "name": "fastify-v3.1.1", + "status": "PASSED" + }, + { + "name": "isarray-v2.0.5", + "status": "PASSED" + }, + { + "name": "inherits-v2.0.4", + "status": "PASSED" + }, + { + "name": "koa-v2.13.0", + "status": "PASSED" + }, + { + "name": "jquery-v3.5.1", + "status": "SKIPPED" + }, + { + "name": "level-v6.0.1", + "status": "PASSED" + }, + { + "name": "libxmljs", + "status": "SKIPPED" + }, + { + "name": "leveldown-v5.6.0", + "status": "PASSED" + }, + { + "name": "lodash-v4.17.19", + "status": "PASSED" + }, + { + "name": "mime-v2.4.6", + "status": "PASSED" + }, + { + "name": "microtime-v3.0.0", + "status": "PASSED" + }, + { + "name": "mkdirp", + "status": "SKIPPED" + }, + { + "name": "mocha", + "status": "SKIPPED" + }, + { + "name": "moment", + "status": "SKIPPED" + }, + { + "name": "minimist-v1.2.5", + "status": "PASSED" + }, + { + "name": "multer-v1.4.2", + "status": "PASSED" + }, + { + "name": "node-gyp-v7.0.0", + "status": "PASSED" + }, + { + "name": "nan-v2.14.1", + "status": "PASSED" + }, + { + "name": "node-sass", + "status": "SKIPPED" + }, + { + "name": "node-report-v2.2.11", + "status": "PASSED" + }, + { + "name": "path-to-regexp-v6.1.0", + "status": "PASSED" + }, + { + "name": "pino-v6.4.0", + "status": "PASSED" + }, + { + "name": "pumpify-v2.0.1", + "status": "PASSED" + }, + { + "name": "q-v1.5.1", + "status": "PASSED" + }, + { + "name": "pug-v3.0.0", + "status": "PASSED" + }, + { + "name": "react", + "status": "SKIPPED" + }, + { + "name": "readable-stream", + "status": "SKIPPED" + }, + { + "name": "ref", + "status": "SKIPPED" + }, + { + "name": "radium-v0.26.0", + "status": "PASSED" + }, + { + "name": "resolve-v1.17.0", + "status": "PASSED" + }, + { + "name": "rewire-v5.0.0", + "status": "PASSED" + }, + { + "name": "rimraf-v3.0.2", + "status": "PASSED" + }, + { + "name": "router-v1.3.5", + "status": "PASSED" + }, + { + "name": "sax-v1.2.4", + "status": "PASSED" + }, + { + "name": "semver-v7.3.2", + "status": "PASSED" + }, + { + "name": "shot-v4.0.7", + "status": "REGRESSION" + }, + { + "name": "serialport-v9.0.0", + "status": "PASSED" + }, + { + "name": "spawn-wrap-v2.0.0", + "status": "PASSED" + }, + { + "name": "spdy", + "status": "SKIPPED" + }, + { + "name": "spdy-transport", + "status": "SKIPPED" + }, + { + "name": "socket.io-v2.3.0", + "status": "PASSED" + }, + { + "name": "split2-v3.1.1", + "status": "PASSED" + }, + { + "name": "stylus", + "status": "SKIPPED" + }, + { + "name": "sqlite3-v5.0.0", + "status": "PASSED" + }, + { + "name": "thread-sleep-v2.2.0", + "status": "PASSED" + }, + { + "name": "tape-v5.0.1", + "status": "PASSED" + }, + { + "name": "through2-v4.0.2", + "status": "PASSED" + }, + { + "name": "time", + "status": "SKIPPED" + }, + { + "name": "throughv-v1.0.4", + "status": "PASSED" + }, + { + "name": "torrent-stream-v1.2.0", + "status": "PASSED" + }, + { + "name": "underscore-v1.10.2", + "status": "PASSED" + }, + { + "name": "uuid-v8.2.0", + "status": "PASSED" + }, + { + "name": "vinyl-v2.2.0", + "status": "PASSED" + }, + { + "name": "vinyl-fs", + "status": "SKIPPED" + }, + { + "name": "watchify-v3.11.1", + "status": "PASSED" + }, + { + "name": "weak", + "status": "SKIPPED" + }, + { + "name": "uglify-js-v3.10.0", + "status": "PASSED" + }, + { + "name": "ws-v7.3.1", + "status": "PASSED" + }, + { + "name": "winston-v3.3.3", + "status": "PASSED" + }, + { + "name": "yargs-v15.4.1", + "status": "PASSED" + }, + { + "name": "zeromq", + "status": "SKIPPED" + }, + { + "name": "yeoman-generator-v4.11.0", + "status": "PASSED" + } + ] + } + ] + } + } + ] +} \ No newline at end of file diff --git a/test/fixtures/jenkins/citgm-compare-nobuild/citgm-smoker-2433.json b/test/fixtures/jenkins/citgm-compare-nobuild/citgm-smoker-2433.json new file mode 100644 index 00000000..3b79b749 --- /dev/null +++ b/test/fixtures/jenkins/citgm-compare-nobuild/citgm-smoker-2433.json @@ -0,0 +1,114 @@ +{ + "_class": "hudson.matrix.MatrixBuild", + "actions": [ + { + "_class": "hudson.model.CauseAction" + }, + {}, + {}, + {}, + {}, + { + "_class": "hudson.plugins.git.util.BuildData" + }, + { + "_class": "hudson.plugins.git.GitTagAction" + }, + {}, + { + "_class": "hudson.model.ParametersAction", + "parameters": [ + { + "_class": "hudson.model.StringParameterValue", + "name": "NODEJS_VERSION", + "value": "14.6.0" + }, + { + "_class": "hudson.model.StringParameterValue", + "name": "NODEJS_MAJOR_VERSION", + "value": "14" + }, + { + "_class": "hudson.model.StringParameterValue", + "name": "GITHUB_ORG", + "value": "nodejs" + }, + { + "_class": "hudson.model.StringParameterValue", + "name": "REPO_NAME", + "value": "node" + }, + { + "_class": "hudson.model.StringParameterValue", + "name": "GIT_REMOTE_REF", + "value": "refs/heads/v14.6.0-proposal" + }, + { + "_class": "hudson.model.StringParameterValue", + "name": "REBASE_ONTO", + "value": "" + }, + { + "_class": "hudson.model.StringParameterValue", + "name": "CITGM_LOGLEVEL", + "value": "warn" + }, + { + "_class": "hudson.model.StringParameterValue", + "name": "NPM_LOGLEVEL", + "value": "error" + }, + { + "_class": "hudson.model.StringParameterValue", + "name": "CITGM", + "value": "citgm" + }, + { + "_class": "hudson.model.StringParameterValue", + "name": "CITGM_COMMAND", + "value": "citgm-all -J" + }, + { + "_class": "hudson.model.BooleanParameterValue", + "name": "DISABLE_READABLE_STREAM", + "value": false + }, + { + "_class": "hudson.plugins.matrix_configuration_parameter.MatrixCombinationsParameterValue", + "name": "PLATFORMS" + } + ] + }, + {}, + {}, + { + "_class": "hudson.tasks.test.MatrixTestResult" + }, + {}, + {}, + {}, + {}, + {}, + {} + ], + "number": 2433, + "result": "FAILURE", + "url": "https://ci.nodejs.org/job/citgm-smoker/2433/", + "builtOn": "test-packetnet-ubuntu1804-x64-1", + "changeSet": { + "_class": "hudson.plugins.git.GitChangeSetList", + "items": [ + { + "_class": "hudson.plugins.git.GitChangeSet", + "commitId": "ca62c34f69bf2270a51577f99ae892509fb5fe13", + "author": { + "absoluteUrl": "https://ci.nodejs.org/user/mylesborins", + "fullName": "Myles Borins" + }, + "authorEmail": "mylesborins@github.com", + "date": "2020-07-20 16:51:34 -0400", + "msg": "2020-07-21, Version 14.6.0 (Current)" + } + ] + } +} \ No newline at end of file diff --git a/test/fixtures/jenkins/citgm-compare-nobuild/citgm-smoker-nobuild-880-testReport.json b/test/fixtures/jenkins/citgm-compare-nobuild/citgm-smoker-nobuild-880-testReport.json new file mode 100644 index 00000000..39f3055d --- /dev/null +++ b/test/fixtures/jenkins/citgm-compare-nobuild/citgm-smoker-nobuild-880-testReport.json @@ -0,0 +1,4398 @@ +{ + "_class": "hudson.tasks.test.MatrixTestResult", + "failCount": 34, + "skipCount": 289, + "totalCount": 1060, + "childReports": [ + { + "child": { + "_class": "hudson.matrix.MatrixRun", + "url": "https://ci.nodejs.org/job/citgm-smoker-nobuild/nodes=debian9-64/880/" + }, + "result": { + "_class": "hudson.tasks.junit.TestResult", + "suites": [ + { + "cases": [ + { + "name": "@nearform/bubbleprof-v4.0.3", + "status": "PASSED" + }, + { + "name": "@nearform/doctor-v5.0.2", + "status": "SKIPPED" + }, + { + "name": "@nearform/flame-v6.0.1", + "status": "FIXED" + }, + { + "name": "JSONStream-v1.3.5", + "status": "PASSED" + }, + { + "name": "acorn-v7.3.1", + "status": "PASSED" + }, + { + "name": "async", + "status": "SKIPPED" + }, + { + "name": "ava-v3.10.1", + "status": "FAILED" + }, + { + "name": "bcrypt-v5.0.0", + "status": "PASSED" + }, + { + "name": "binary-split-v1.0.5", + "status": "PASSED" + }, + { + "name": "bl-v4.0.2", + "status": "PASSED" + }, + { + "name": "blake2b-wasm-v2.1.0", + "status": "PASSED" + }, + { + "name": "bluebird-v3.7.2", + "status": "PASSED" + }, + { + "name": "body-parser-v1.19.0", + "status": "PASSED" + }, + { + "name": "browserify-v16.5.1", + "status": "PASSED" + }, + { + "name": "bson", + "status": "SKIPPED" + }, + { + "name": "bufferutil-v4.0.1", + "status": "PASSED" + }, + { + "name": "cheerio-v1.0.0-rc.3", + "status": "PASSED" + }, + { + "name": "clinic-v6.0.2", + "status": "PASSED" + }, + { + "name": "coffeescript-v2.5.1", + "status": "PASSED" + }, + { + "name": "commander", + "status": "SKIPPED" + }, + { + "name": "crc32-stream-v4.0.0", + "status": "PASSED" + }, + { + "name": "csv-parser-v2.3.3", + "status": "PASSED" + }, + { + "name": "david", + "status": "SKIPPED" + }, + { + "name": "debug-v4.1.1", + "status": "PASSED" + }, + { + "name": "dicer-v0.3.0", + "status": "PASSED" + }, + { + "name": "duplexer2-v0.1.4", + "status": "PASSED" + }, + { + "name": "duplexify-v4.1.1", + "status": "PASSED" + }, + { + "name": "ember-cli-v3.19.0", + "status": "PASSED" + }, + { + "name": "eslint", + "status": "SKIPPED" + }, + { + "name": "eslint-plugin-jest-v23.18.0", + "status": "PASSED" + }, + { + "name": "esprima-v4.0.1", + "status": "PASSED" + }, + { + "name": "express-v4.17.1", + "status": "PASSED" + }, + { + "name": "express-session-v1.17.1", + "status": "PASSED" + }, + { + "name": "fastify-v3.1.1", + "status": "PASSED" + }, + { + "name": "ffi", + "status": "SKIPPED" + }, + { + "name": "flush-write-stream-v2.0.0", + "status": "PASSED" + }, + { + "name": "from2-v2.3.0", + "status": "PASSED" + }, + { + "name": "fs-extra", + "status": "SKIPPED" + }, + { + "name": "full-icu-test-v1.0.3", + "status": "PASSED" + }, + { + "name": "glob-v7.1.6", + "status": "PASSED" + }, + { + "name": "got", + "status": "SKIPPED" + }, + { + "name": "graceful-fs", + "status": "SKIPPED" + }, + { + "name": "gulp-v4.0.2", + "status": "PASSED" + }, + { + "name": "gulp-util-v3.0.8", + "status": "PASSED" + }, + { + "name": "iconv-v3.0.0", + "status": "PASSED" + }, + { + "name": "inherits-v2.0.4", + "status": "PASSED" + }, + { + "name": "isarray-v2.0.5", + "status": "PASSED" + }, + { + "name": "jquery-v3.5.1", + "status": "SKIPPED" + }, + { + "name": "koa-v2.13.0", + "status": "PASSED" + }, + { + "name": "level-v6.0.1", + "status": "PASSED" + }, + { + "name": "leveldown-v5.6.0", + "status": "PASSED" + }, + { + "name": "libxmljs", + "status": "SKIPPED" + }, + { + "name": "lodash-v4.17.19", + "status": "PASSED" + }, + { + "name": "microtime-v3.0.0", + "status": "PASSED" + }, + { + "name": "mime-v2.4.6", + "status": "PASSED" + }, + { + "name": "minimist-v1.2.5", + "status": "PASSED" + }, + { + "name": "mkdirp", + "status": "SKIPPED" + }, + { + "name": "mocha", + "status": "SKIPPED" + }, + { + "name": "moment", + "status": "SKIPPED" + }, + { + "name": "multer-v1.4.2", + "status": "PASSED" + }, + { + "name": "nan-v2.14.1", + "status": "PASSED" + }, + { + "name": "node-gyp-v7.0.0", + "status": "PASSED" + }, + { + "name": "node-report-v2.2.11", + "status": "PASSED" + }, + { + "name": "node-sass", + "status": "SKIPPED" + }, + { + "name": "path-to-regexp-v6.1.0", + "status": "PASSED" + }, + { + "name": "pino-v6.4.0", + "status": "PASSED" + }, + { + "name": "pug-v3.0.0", + "status": "PASSED" + }, + { + "name": "pumpify-v2.0.1", + "status": "PASSED" + }, + { + "name": "q-v1.5.1", + "status": "PASSED" + }, + { + "name": "radium-v0.26.0", + "status": "PASSED" + }, + { + "name": "react", + "status": "SKIPPED" + }, + { + "name": "readable-stream", + "status": "SKIPPED" + }, + { + "name": "ref", + "status": "SKIPPED" + }, + { + "name": "resolve-v1.17.0", + "status": "PASSED" + }, + { + "name": "rewire-v5.0.0", + "status": "PASSED" + }, + { + "name": "rimraf-v3.0.2", + "status": "PASSED" + }, + { + "name": "router-v1.3.5", + "status": "PASSED" + }, + { + "name": "sax-v1.2.4", + "status": "PASSED" + }, + { + "name": "semver-v7.3.2", + "status": "PASSED" + }, + { + "name": "serialport-v9.0.0", + "status": "PASSED" + }, + { + "name": "shot-v4.0.7", + "status": "PASSED" + }, + { + "name": "socket.io-v2.3.0", + "status": "PASSED" + }, + { + "name": "spawn-wrap-v2.0.0", + "status": "PASSED" + }, + { + "name": "spdy", + "status": "SKIPPED" + }, + { + "name": "spdy-transport", + "status": "SKIPPED" + }, + { + "name": "split2-v3.1.1", + "status": "PASSED" + }, + { + "name": "sqlite3-v5.0.0", + "status": "PASSED" + }, + { + "name": "stylus", + "status": "SKIPPED" + }, + { + "name": "tape-v5.0.1", + "status": "PASSED" + }, + { + "name": "thread-sleep-v2.2.0", + "status": "PASSED" + }, + { + "name": "through2-v4.0.2", + "status": "PASSED" + }, + { + "name": "throughv-v1.0.4", + "status": "PASSED" + }, + { + "name": "time", + "status": "SKIPPED" + }, + { + "name": "torrent-stream-v1.2.0", + "status": "PASSED" + }, + { + "name": "uglify-js-v3.10.0", + "status": "PASSED" + }, + { + "name": "underscore-v1.10.2", + "status": "PASSED" + }, + { + "name": "uuid-v8.2.0", + "status": "PASSED" + }, + { + "name": "vinyl-v2.2.0", + "status": "PASSED" + }, + { + "name": "vinyl-fs", + "status": "SKIPPED" + }, + { + "name": "watchify-v3.11.1", + "status": "PASSED" + }, + { + "name": "weak", + "status": "SKIPPED" + }, + { + "name": "winston-v3.3.3", + "status": "PASSED" + }, + { + "name": "ws-v7.3.1", + "status": "PASSED" + }, + { + "name": "yargs-v15.4.1", + "status": "PASSED" + }, + { + "name": "yeoman-generator-v4.11.0", + "status": "PASSED" + }, + { + "name": "zeromq", + "status": "SKIPPED" + } + ] + } + ] + } + }, + { + "child": { + "_class": "hudson.matrix.MatrixRun", + "url": "https://ci.nodejs.org/job/citgm-smoker-nobuild/nodes=ubuntu1804-64/880/" + }, + "result": { + "_class": "hudson.tasks.junit.TestResult", + "suites": [ + { + "cases": [ + { + "name": "@nearform/doctor-v5.0.2", + "status": "SKIPPED" + }, + { + "name": "@nearform/bubbleprof-v4.0.3", + "status": "PASSED" + }, + { + "name": "JSONStream-v1.3.5", + "status": "PASSED" + }, + { + "name": "@nearform/flame-v6.0.1", + "status": "SKIPPED" + }, + { + "name": "async", + "status": "SKIPPED" + }, + { + "name": "acorn-v7.3.1", + "status": "PASSED" + }, + { + "name": "bcrypt-v5.0.0", + "status": "PASSED" + }, + { + "name": "binary-split-v1.0.5", + "status": "PASSED" + }, + { + "name": "bl-v4.0.2", + "status": "PASSED" + }, + { + "name": "blake2b-wasm-v2.1.0", + "status": "PASSED" + }, + { + "name": "bluebird-v3.7.2", + "status": "PASSED" + }, + { + "name": "body-parser-v1.19.0", + "status": "PASSED" + }, + { + "name": "ava-v3.10.1", + "status": "FAILED" + }, + { + "name": "bson", + "status": "SKIPPED" + }, + { + "name": "bufferutil-v4.0.1", + "status": "PASSED" + }, + { + "name": "cheerio-v1.0.0-rc.3", + "status": "PASSED" + }, + { + "name": "browserify-v16.5.1", + "status": "PASSED" + }, + { + "name": "coffeescript-v2.5.1", + "status": "PASSED" + }, + { + "name": "commander", + "status": "SKIPPED" + }, + { + "name": "crc32-stream-v4.0.0", + "status": "PASSED" + }, + { + "name": "csv-parser-v2.3.3", + "status": "PASSED" + }, + { + "name": "david", + "status": "SKIPPED" + }, + { + "name": "debug-v4.1.1", + "status": "PASSED" + }, + { + "name": "dicer-v0.3.0", + "status": "PASSED" + }, + { + "name": "duplexer2-v0.1.4", + "status": "PASSED" + }, + { + "name": "duplexify-v4.1.1", + "status": "PASSED" + }, + { + "name": "clinic-v6.0.2", + "status": "PASSED" + }, + { + "name": "eslint", + "status": "SKIPPED" + }, + { + "name": "eslint-plugin-jest-v23.18.0", + "status": "PASSED" + }, + { + "name": "ember-cli-v3.19.0", + "status": "PASSED" + }, + { + "name": "express-v4.17.1", + "status": "PASSED" + }, + { + "name": "express-session-v1.17.1", + "status": "PASSED" + }, + { + "name": "esprima-v4.0.1", + "status": "PASSED" + }, + { + "name": "ffi", + "status": "SKIPPED" + }, + { + "name": "flush-write-stream-v2.0.0", + "status": "PASSED" + }, + { + "name": "from2-v2.3.0", + "status": "PASSED" + }, + { + "name": "fs-extra", + "status": "SKIPPED" + }, + { + "name": "full-icu-test-v1.0.3", + "status": "PASSED" + }, + { + "name": "glob-v7.1.6", + "status": "PASSED" + }, + { + "name": "got", + "status": "SKIPPED" + }, + { + "name": "graceful-fs", + "status": "SKIPPED" + }, + { + "name": "gulp-v4.0.2", + "status": "PASSED" + }, + { + "name": "gulp-util-v3.0.8", + "status": "PASSED" + }, + { + "name": "fastify-v3.1.1", + "status": "PASSED" + }, + { + "name": "iconv-v3.0.0", + "status": "PASSED" + }, + { + "name": "isarray-v2.0.5", + "status": "PASSED" + }, + { + "name": "inherits-v2.0.4", + "status": "PASSED" + }, + { + "name": "koa-v2.13.0", + "status": "PASSED" + }, + { + "name": "jquery-v3.5.1", + "status": "SKIPPED" + }, + { + "name": "level-v6.0.1", + "status": "PASSED" + }, + { + "name": "libxmljs", + "status": "SKIPPED" + }, + { + "name": "lodash-v4.17.19", + "status": "PASSED" + }, + { + "name": "leveldown-v5.6.0", + "status": "PASSED" + }, + { + "name": "microtime-v3.0.0", + "status": "PASSED" + }, + { + "name": "mime-v2.4.6", + "status": "PASSED" + }, + { + "name": "mkdirp", + "status": "SKIPPED" + }, + { + "name": "mocha", + "status": "SKIPPED" + }, + { + "name": "moment", + "status": "SKIPPED" + }, + { + "name": "minimist-v1.2.5", + "status": "PASSED" + }, + { + "name": "multer-v1.4.2", + "status": "PASSED" + }, + { + "name": "node-gyp-v7.0.0", + "status": "PASSED" + }, + { + "name": "node-report-v2.2.11", + "status": "PASSED" + }, + { + "name": "node-sass", + "status": "SKIPPED" + }, + { + "name": "nan-v2.14.1", + "status": "PASSED" + }, + { + "name": "path-to-regexp-v6.1.0", + "status": "PASSED" + }, + { + "name": "pino-v6.4.0", + "status": "PASSED" + }, + { + "name": "pumpify-v2.0.1", + "status": "PASSED" + }, + { + "name": "q-v1.5.1", + "status": "PASSED" + }, + { + "name": "pug-v3.0.0", + "status": "PASSED" + }, + { + "name": "react", + "status": "SKIPPED" + }, + { + "name": "readable-stream", + "status": "SKIPPED" + }, + { + "name": "ref", + "status": "SKIPPED" + }, + { + "name": "radium-v0.26.0", + "status": "PASSED" + }, + { + "name": "resolve-v1.17.0", + "status": "PASSED" + }, + { + "name": "rewire-v5.0.0", + "status": "PASSED" + }, + { + "name": "rimraf-v3.0.2", + "status": "PASSED" + }, + { + "name": "router-v1.3.5", + "status": "PASSED" + }, + { + "name": "sax-v1.2.4", + "status": "PASSED" + }, + { + "name": "semver-v7.3.2", + "status": "PASSED" + }, + { + "name": "serialport-v9.0.0", + "status": "PASSED" + }, + { + "name": "shot-v4.0.7", + "status": "PASSED" + }, + { + "name": "spawn-wrap-v2.0.0", + "status": "PASSED" + }, + { + "name": "spdy", + "status": "SKIPPED" + }, + { + "name": "spdy-transport", + "status": "SKIPPED" + }, + { + "name": "socket.io-v2.3.0", + "status": "PASSED" + }, + { + "name": "split2-v3.1.1", + "status": "PASSED" + }, + { + "name": "stylus", + "status": "SKIPPED" + }, + { + "name": "tape-v5.0.1", + "status": "PASSED" + }, + { + "name": "sqlite3-v5.0.0", + "status": "PASSED" + }, + { + "name": "thread-sleep-v2.2.0", + "status": "PASSED" + }, + { + "name": "throughv-v1.0.4", + "status": "PASSED" + }, + { + "name": "time", + "status": "SKIPPED" + }, + { + "name": "torrent-stream-v1.2.0", + "status": "PASSED" + }, + { + "name": "through2-v4.0.2", + "status": "PASSED" + }, + { + "name": "underscore-v1.10.2", + "status": "PASSED" + }, + { + "name": "uuid-v8.2.0", + "status": "PASSED" + }, + { + "name": "vinyl-v2.2.0", + "status": "PASSED" + }, + { + "name": "vinyl-fs", + "status": "SKIPPED" + }, + { + "name": "watchify-v3.11.1", + "status": "PASSED" + }, + { + "name": "weak", + "status": "SKIPPED" + }, + { + "name": "winston-v3.3.3", + "status": "REGRESSION" + }, + { + "name": "uglify-js-v3.10.0", + "status": "PASSED" + }, + { + "name": "ws-v7.3.1", + "status": "PASSED" + }, + { + "name": "yargs-v15.4.1", + "status": "PASSED" + }, + { + "name": "zeromq", + "status": "SKIPPED" + }, + { + "name": "yeoman-generator-v4.11.0", + "status": "PASSED" + } + ] + } + ] + } + }, + { + "child": { + "_class": "hudson.matrix.MatrixRun", + "url": "https://ci.nodejs.org/job/citgm-smoker-nobuild/nodes=fedora-last-latest-x64/880/" + }, + "result": { + "_class": "hudson.tasks.junit.TestResult", + "suites": [ + { + "cases": [ + { + "name": "@nearform/doctor-v5.0.2", + "status": "SKIPPED" + }, + { + "name": "@nearform/bubbleprof-v4.0.3", + "status": "PASSED" + }, + { + "name": "JSONStream-v1.3.5", + "status": "PASSED" + }, + { + "name": "@nearform/flame-v6.0.1", + "status": "FIXED" + }, + { + "name": "async", + "status": "SKIPPED" + }, + { + "name": "acorn-v7.3.1", + "status": "PASSED" + }, + { + "name": "bcrypt-v5.0.0", + "status": "PASSED" + }, + { + "name": "binary-split-v1.0.5", + "status": "PASSED" + }, + { + "name": "bl-v4.0.2", + "status": "PASSED" + }, + { + "name": "blake2b-wasm-v2.1.0", + "status": "PASSED" + }, + { + "name": "bluebird-v3.7.2", + "status": "PASSED" + }, + { + "name": "body-parser-v1.19.0", + "status": "PASSED" + }, + { + "name": "ava-v3.10.1", + "status": "FAILED" + }, + { + "name": "bson", + "status": "SKIPPED" + }, + { + "name": "bufferutil-v4.0.1", + "status": "PASSED" + }, + { + "name": "cheerio-v1.0.0-rc.3", + "status": "PASSED" + }, + { + "name": "browserify-v16.5.1", + "status": "PASSED" + }, + { + "name": "coffeescript-v2.5.1", + "status": "PASSED" + }, + { + "name": "commander", + "status": "SKIPPED" + }, + { + "name": "crc32-stream-v4.0.0", + "status": "PASSED" + }, + { + "name": "csv-parser-v2.3.3", + "status": "PASSED" + }, + { + "name": "david", + "status": "SKIPPED" + }, + { + "name": "debug-v4.1.1", + "status": "PASSED" + }, + { + "name": "dicer-v0.3.0", + "status": "PASSED" + }, + { + "name": "duplexer2-v0.1.4", + "status": "PASSED" + }, + { + "name": "duplexify-v4.1.1", + "status": "PASSED" + }, + { + "name": "clinic-v6.0.2", + "status": "PASSED" + }, + { + "name": "eslint", + "status": "SKIPPED" + }, + { + "name": "eslint-plugin-jest-v23.18.0", + "status": "PASSED" + }, + { + "name": "ember-cli-v3.19.0", + "status": "PASSED" + }, + { + "name": "express-v4.17.1", + "status": "PASSED" + }, + { + "name": "express-session-v1.17.1", + "status": "PASSED" + }, + { + "name": "esprima-v4.0.1", + "status": "PASSED" + }, + { + "name": "ffi", + "status": "SKIPPED" + }, + { + "name": "flush-write-stream-v2.0.0", + "status": "PASSED" + }, + { + "name": "from2-v2.3.0", + "status": "PASSED" + }, + { + "name": "fs-extra", + "status": "SKIPPED" + }, + { + "name": "full-icu-test-v1.0.3", + "status": "PASSED" + }, + { + "name": "glob-v7.1.6", + "status": "PASSED" + }, + { + "name": "got", + "status": "SKIPPED" + }, + { + "name": "graceful-fs", + "status": "SKIPPED" + }, + { + "name": "gulp-v4.0.2", + "status": "PASSED" + }, + { + "name": "gulp-util-v3.0.8", + "status": "PASSED" + }, + { + "name": "fastify-v3.1.1", + "status": "PASSED" + }, + { + "name": "iconv-v3.0.0", + "status": "PASSED" + }, + { + "name": "isarray-v2.0.5", + "status": "PASSED" + }, + { + "name": "inherits-v2.0.4", + "status": "PASSED" + }, + { + "name": "koa-v2.13.0", + "status": "PASSED" + }, + { + "name": "jquery-v3.5.1", + "status": "SKIPPED" + }, + { + "name": "level-v6.0.1", + "status": "PASSED" + }, + { + "name": "libxmljs", + "status": "SKIPPED" + }, + { + "name": "leveldown-v5.6.0", + "status": "PASSED" + }, + { + "name": "lodash-v4.17.19", + "status": "PASSED" + }, + { + "name": "mime-v2.4.6", + "status": "PASSED" + }, + { + "name": "microtime-v3.0.0", + "status": "PASSED" + }, + { + "name": "mkdirp", + "status": "SKIPPED" + }, + { + "name": "mocha", + "status": "SKIPPED" + }, + { + "name": "moment", + "status": "SKIPPED" + }, + { + "name": "minimist-v1.2.5", + "status": "PASSED" + }, + { + "name": "multer-v1.4.2", + "status": "PASSED" + }, + { + "name": "node-gyp-v7.0.0", + "status": "PASSED" + }, + { + "name": "nan-v2.14.1", + "status": "PASSED" + }, + { + "name": "node-sass", + "status": "SKIPPED" + }, + { + "name": "node-report-v2.2.11", + "status": "PASSED" + }, + { + "name": "path-to-regexp-v6.1.0", + "status": "PASSED" + }, + { + "name": "pino-v6.4.0", + "status": "PASSED" + }, + { + "name": "pumpify-v2.0.1", + "status": "PASSED" + }, + { + "name": "q-v1.5.1", + "status": "PASSED" + }, + { + "name": "pug-v3.0.0", + "status": "PASSED" + }, + { + "name": "react", + "status": "SKIPPED" + }, + { + "name": "readable-stream", + "status": "SKIPPED" + }, + { + "name": "ref", + "status": "SKIPPED" + }, + { + "name": "radium-v0.26.0", + "status": "PASSED" + }, + { + "name": "resolve-v1.17.0", + "status": "PASSED" + }, + { + "name": "rewire-v5.0.0", + "status": "PASSED" + }, + { + "name": "rimraf-v3.0.2", + "status": "PASSED" + }, + { + "name": "router-v1.3.5", + "status": "PASSED" + }, + { + "name": "sax-v1.2.4", + "status": "PASSED" + }, + { + "name": "semver-v7.3.2", + "status": "PASSED" + }, + { + "name": "serialport-v9.0.0", + "status": "PASSED" + }, + { + "name": "shot-v4.0.7", + "status": "PASSED" + }, + { + "name": "socket.io-v2.3.0", + "status": "PASSED" + }, + { + "name": "spdy", + "status": "SKIPPED" + }, + { + "name": "spdy-transport", + "status": "SKIPPED" + }, + { + "name": "spawn-wrap-v2.0.0", + "status": "PASSED" + }, + { + "name": "split2-v3.1.1", + "status": "PASSED" + }, + { + "name": "stylus", + "status": "SKIPPED" + }, + { + "name": "sqlite3-v5.0.0", + "status": "PASSED" + }, + { + "name": "thread-sleep-v2.2.0", + "status": "PASSED" + }, + { + "name": "tape-v5.0.1", + "status": "PASSED" + }, + { + "name": "throughv-v1.0.4", + "status": "PASSED" + }, + { + "name": "time", + "status": "SKIPPED" + }, + { + "name": "through2-v4.0.2", + "status": "PASSED" + }, + { + "name": "torrent-stream-v1.2.0", + "status": "PASSED" + }, + { + "name": "underscore-v1.10.2", + "status": "PASSED" + }, + { + "name": "uuid-v8.2.0", + "status": "PASSED" + }, + { + "name": "vinyl-v2.2.0", + "status": "PASSED" + }, + { + "name": "vinyl-fs", + "status": "SKIPPED" + }, + { + "name": "watchify-v3.11.1", + "status": "PASSED" + }, + { + "name": "weak", + "status": "SKIPPED" + }, + { + "name": "uglify-js-v3.10.0", + "status": "PASSED" + }, + { + "name": "ws-v7.3.1", + "status": "PASSED" + }, + { + "name": "winston-v3.3.3", + "status": "PASSED" + }, + { + "name": "yargs-v15.4.1", + "status": "PASSED" + }, + { + "name": "zeromq", + "status": "SKIPPED" + }, + { + "name": "yeoman-generator-v4.11.0", + "status": "PASSED" + } + ] + } + ] + } + }, + { + "child": { + "_class": "hudson.matrix.MatrixRun", + "url": "https://ci.nodejs.org/job/citgm-smoker-nobuild/nodes=centos7-ppcle/880/" + }, + "result": { + "_class": "hudson.tasks.junit.TestResult", + "suites": [ + { + "cases": [ + { + "name": "JSONStream-v1.3.5", + "status": "PASSED" + }, + { + "name": "acorn", + "status": "SKIPPED" + }, + { + "name": "async", + "status": "SKIPPED" + }, + { + "name": "ava", + "status": "SKIPPED" + }, + { + "name": "bcrypt-v5.0.0", + "status": "PASSED" + }, + { + "name": "binary-split-v1.0.5", + "status": "PASSED" + }, + { + "name": "bl-v4.0.2", + "status": "PASSED" + }, + { + "name": "@nearform/flame-v6.0.1", + "status": "PASSED" + }, + { + "name": "blake2b-wasm-v2.1.0", + "status": "PASSED" + }, + { + "name": "body-parser-v1.19.0", + "status": "PASSED" + }, + { + "name": "@nearform/doctor-v5.0.2", + "status": "SKIPPED" + }, + { + "name": "bson", + "status": "SKIPPED" + }, + { + "name": "bluebird-v3.7.2", + "status": "PASSED" + }, + { + "name": "bufferutil-v4.0.1", + "status": "PASSED" + }, + { + "name": "@nearform/bubbleprof-v4.0.3", + "status": "PASSED" + }, + { + "name": "cheerio-v1.0.0-rc.3", + "status": "PASSED" + }, + { + "name": "commander", + "status": "SKIPPED" + }, + { + "name": "crc32-stream-v4.0.0", + "status": "PASSED" + }, + { + "name": "coffeescript-v2.5.1", + "status": "PASSED" + }, + { + "name": "david", + "status": "SKIPPED" + }, + { + "name": "debug", + "status": "SKIPPED" + }, + { + "name": "dicer-v0.3.0", + "status": "PASSED" + }, + { + "name": "browserify-v16.5.1", + "status": "PASSED" + }, + { + "name": "duplexer2-v0.1.4", + "status": "PASSED" + }, + { + "name": "duplexify-v4.1.1", + "status": "PASSED" + }, + { + "name": "eslint", + "status": "SKIPPED" + }, + { + "name": "csv-parser-v2.3.3", + "status": "PASSED" + }, + { + "name": "esprima-v4.0.1", + "status": "PASSED" + }, + { + "name": "express-v4.17.1", + "status": "PASSED" + }, + { + "name": "express-session-v1.17.1", + "status": "PASSED" + }, + { + "name": "fastify-v3.1.1", + "status": "FAILED" + }, + { + "name": "ffi", + "status": "SKIPPED" + }, + { + "name": "flush-write-stream-v2.0.0", + "status": "PASSED" + }, + { + "name": "clinic-v6.0.2", + "status": "PASSED" + }, + { + "name": "fs-extra", + "status": "SKIPPED" + }, + { + "name": "from2-v2.3.0", + "status": "PASSED" + }, + { + "name": "ember-cli-v3.19.0", + "status": "REGRESSION" + }, + { + "name": "got", + "status": "SKIPPED" + }, + { + "name": "graceful-fs", + "status": "SKIPPED" + }, + { + "name": "full-icu-test-v1.0.3", + "status": "PASSED" + }, + { + "name": "gulp-util-v3.0.8", + "status": "PASSED" + }, + { + "name": "iconv-v3.0.0", + "status": "PASSED" + }, + { + "name": "gulp-v4.0.2", + "status": "PASSED" + }, + { + "name": "glob-v7.1.6", + "status": "PASSED" + }, + { + "name": "isarray-v2.0.5", + "status": "PASSED" + }, + { + "name": "inherits-v2.0.4", + "status": "PASSED" + }, + { + "name": "eslint-plugin-jest-v23.18.0", + "status": "PASSED" + }, + { + "name": "koa-v2.13.0", + "status": "PASSED" + }, + { + "name": "libxmljs", + "status": "SKIPPED" + }, + { + "name": "jquery-v3.5.1", + "status": "SKIPPED" + }, + { + "name": "microtime-v3.0.0", + "status": "PASSED" + }, + { + "name": "lodash-v4.17.19", + "status": "PASSED" + }, + { + "name": "mime-v2.4.6", + "status": "PASSED" + }, + { + "name": "mkdirp", + "status": "SKIPPED" + }, + { + "name": "mocha", + "status": "SKIPPED" + }, + { + "name": "moment", + "status": "SKIPPED" + }, + { + "name": "minimist-v1.2.5", + "status": "PASSED" + }, + { + "name": "multer-v1.4.2", + "status": "PASSED" + }, + { + "name": "nan-v2.14.1", + "status": "PASSED" + }, + { + "name": "level-v6.0.1", + "status": "PASSED" + }, + { + "name": "node-sass", + "status": "SKIPPED" + }, + { + "name": "node-gyp-v7.0.0", + "status": "PASSED" + }, + { + "name": "node-report-v2.2.11", + "status": "PASSED" + }, + { + "name": "pug-v3.0.0", + "status": "PASSED" + }, + { + "name": "pumpify-v2.0.1", + "status": "PASSED" + }, + { + "name": "q-v1.5.1", + "status": "PASSED" + }, + { + "name": "path-to-regexp-v6.1.0", + "status": "PASSED" + }, + { + "name": "react", + "status": "SKIPPED" + }, + { + "name": "readable-stream", + "status": "SKIPPED" + }, + { + "name": "ref", + "status": "SKIPPED" + }, + { + "name": "pino-v6.4.0", + "status": "PASSED" + }, + { + "name": "rewire-v5.0.0", + "status": "PASSED" + }, + { + "name": "radium-v0.26.0", + "status": "PASSED" + }, + { + "name": "rimraf-v3.0.2", + "status": "PASSED" + }, + { + "name": "resolve-v1.17.0", + "status": "PASSED" + }, + { + "name": "router-v1.3.5", + "status": "PASSED" + }, + { + "name": "sax-v1.2.4", + "status": "PASSED" + }, + { + "name": "shot-v4.0.7", + "status": "PASSED" + }, + { + "name": "semver-v7.3.2", + "status": "PASSED" + }, + { + "name": "serialport-v9.0.0", + "status": "SKIPPED" + }, + { + "name": "spdy", + "status": "SKIPPED" + }, + { + "name": "spdy-transport", + "status": "SKIPPED" + }, + { + "name": "spawn-wrap-v2.0.0", + "status": "PASSED" + }, + { + "name": "split2-v3.1.1", + "status": "PASSED" + }, + { + "name": "stylus", + "status": "SKIPPED" + }, + { + "name": "socket.io-v2.3.0", + "status": "REGRESSION" + }, + { + "name": "thread-sleep-v2.2.0", + "status": "PASSED" + }, + { + "name": "leveldown-v5.6.0", + "status": "PASSED" + }, + { + "name": "throughv-v1.0.4", + "status": "PASSED" + }, + { + "name": "time", + "status": "SKIPPED" + }, + { + "name": "tape-v5.0.1", + "status": "PASSED" + }, + { + "name": "through2-v4.0.2", + "status": "PASSED" + }, + { + "name": "underscore-v1.10.2", + "status": "PASSED" + }, + { + "name": "torrent-stream-v1.2.0", + "status": "FAILED" + }, + { + "name": "vinyl-v2.2.0", + "status": "PASSED" + }, + { + "name": "vinyl-fs", + "status": "SKIPPED" + }, + { + "name": "uuid-v8.2.0", + "status": "PASSED" + }, + { + "name": "weak", + "status": "SKIPPED" + }, + { + "name": "watchify-v3.11.1", + "status": "FIXED" + }, + { + "name": "ws-v7.3.1", + "status": "PASSED" + }, + { + "name": "winston-v3.3.3", + "status": "SKIPPED" + }, + { + "name": "uglify-js-v3.10.0", + "status": "PASSED" + }, + { + "name": "zeromq", + "status": "SKIPPED" + }, + { + "name": "yargs-v15.4.1", + "status": "PASSED" + }, + { + "name": "yeoman-generator-v4.11.0", + "status": "PASSED" + }, + { + "name": "sqlite3-v5.0.0", + "status": "PASSED" + } + ] + } + ] + } + }, + { + "child": { + "_class": "hudson.matrix.MatrixRun", + "url": "https://ci.nodejs.org/job/citgm-smoker-nobuild/nodes=osx1014/880/" + }, + "result": { + "_class": "hudson.tasks.junit.TestResult", + "suites": [ + { + "cases": [ + { + "name": "JSONStream-v1.3.5", + "status": "PASSED" + }, + { + "name": "@nearform/flame-v6.0.1", + "status": "SKIPPED" + }, + { + "name": "async", + "status": "SKIPPED" + }, + { + "name": "@nearform/doctor-v5.0.2", + "status": "SKIPPED" + }, + { + "name": "@nearform/bubbleprof-v4.0.3", + "status": "PASSED" + }, + { + "name": "bcrypt-v5.0.0", + "status": "PASSED" + }, + { + "name": "binary-split-v1.0.5", + "status": "PASSED" + }, + { + "name": "blake2b-wasm-v2.1.0", + "status": "PASSED" + }, + { + "name": "bl-v4.0.2", + "status": "PASSED" + }, + { + "name": "acorn-v7.3.1", + "status": "FAILED" + }, + { + "name": "bluebird-v3.7.2", + "status": "PASSED" + }, + { + "name": "bson", + "status": "SKIPPED" + }, + { + "name": "body-parser-v1.19.0", + "status": "PASSED" + }, + { + "name": "bufferutil-v4.0.1", + "status": "PASSED" + }, + { + "name": "cheerio-v1.0.0-rc.3", + "status": "PASSED" + }, + { + "name": "coffeescript-v2.5.1", + "status": "PASSED" + }, + { + "name": "commander", + "status": "SKIPPED" + }, + { + "name": "crc32-stream-v4.0.0", + "status": "PASSED" + }, + { + "name": "ava-v3.10.1", + "status": "FAILED" + }, + { + "name": "david", + "status": "SKIPPED" + }, + { + "name": "browserify-v16.5.1", + "status": "PASSED" + }, + { + "name": "dicer-v0.3.0", + "status": "PASSED" + }, + { + "name": "duplexer2-v0.1.4", + "status": "PASSED" + }, + { + "name": "duplexify-v4.1.1", + "status": "PASSED" + }, + { + "name": "csv-parser-v2.3.3", + "status": "PASSED" + }, + { + "name": "eslint", + "status": "SKIPPED" + }, + { + "name": "debug-v4.1.1", + "status": "PASSED" + }, + { + "name": "esprima-v4.0.1", + "status": "PASSED" + }, + { + "name": "clinic-v6.0.2", + "status": "FAILED" + }, + { + "name": "express-v4.17.1", + "status": "PASSED" + }, + { + "name": "eslint-plugin-jest-v23.18.0", + "status": "FIXED" + }, + { + "name": "ffi", + "status": "SKIPPED" + }, + { + "name": "express-session-v1.17.1", + "status": "FIXED" + }, + { + "name": "flush-write-stream-v2.0.0", + "status": "PASSED" + }, + { + "name": "fs-extra", + "status": "SKIPPED" + }, + { + "name": "full-icu-test-v1.0.3", + "status": "PASSED" + }, + { + "name": "from2-v2.3.0", + "status": "PASSED" + }, + { + "name": "got", + "status": "SKIPPED" + }, + { + "name": "graceful-fs", + "status": "SKIPPED" + }, + { + "name": "glob-v7.1.6", + "status": "PASSED" + }, + { + "name": "gulp-v4.0.2", + "status": "PASSED" + }, + { + "name": "ember-cli-v3.19.0", + "status": "FAILED" + }, + { + "name": "gulp-util-v3.0.8", + "status": "PASSED" + }, + { + "name": "iconv-v3.0.0", + "status": "PASSED" + }, + { + "name": "isarray-v2.0.5", + "status": "PASSED" + }, + { + "name": "inherits-v2.0.4", + "status": "PASSED" + }, + { + "name": "fastify-v3.1.1", + "status": "PASSED" + }, + { + "name": "jquery-v3.5.1", + "status": "SKIPPED" + }, + { + "name": "libxmljs", + "status": "SKIPPED" + }, + { + "name": "koa-v2.13.0", + "status": "PASSED" + }, + { + "name": "level-v6.0.1", + "status": "PASSED" + }, + { + "name": "mime-v2.4.6", + "status": "PASSED" + }, + { + "name": "microtime-v3.0.0", + "status": "PASSED" + }, + { + "name": "mkdirp", + "status": "SKIPPED" + }, + { + "name": "mocha", + "status": "SKIPPED" + }, + { + "name": "moment", + "status": "SKIPPED" + }, + { + "name": "leveldown-v5.6.0", + "status": "PASSED" + }, + { + "name": "minimist-v1.2.5", + "status": "PASSED" + }, + { + "name": "multer-v1.4.2", + "status": "PASSED" + }, + { + "name": "lodash-v4.17.19", + "status": "PASSED" + }, + { + "name": "node-sass", + "status": "SKIPPED" + }, + { + "name": "node-report-v2.2.11", + "status": "PASSED" + }, + { + "name": "nan-v2.14.1", + "status": "PASSED" + }, + { + "name": "node-gyp-v7.0.0", + "status": "PASSED" + }, + { + "name": "pumpify-v2.0.1", + "status": "PASSED" + }, + { + "name": "q-v1.5.1", + "status": "PASSED" + }, + { + "name": "path-to-regexp-v6.1.0", + "status": "PASSED" + }, + { + "name": "react", + "status": "SKIPPED" + }, + { + "name": "readable-stream", + "status": "SKIPPED" + }, + { + "name": "ref", + "status": "SKIPPED" + }, + { + "name": "pug-v3.0.0", + "status": "PASSED" + }, + { + "name": "pino-v6.4.0", + "status": "PASSED" + }, + { + "name": "rewire-v5.0.0", + "status": "PASSED" + }, + { + "name": "resolve-v1.17.0", + "status": "FAILED" + }, + { + "name": "radium-v0.26.0", + "status": "PASSED" + }, + { + "name": "rimraf-v3.0.2", + "status": "PASSED" + }, + { + "name": "router-v1.3.5", + "status": "PASSED" + }, + { + "name": "sax-v1.2.4", + "status": "PASSED" + }, + { + "name": "shot-v4.0.7", + "status": "PASSED" + }, + { + "name": "semver-v7.3.2", + "status": "FAILED" + }, + { + "name": "spdy", + "status": "SKIPPED" + }, + { + "name": "spdy-transport", + "status": "SKIPPED" + }, + { + "name": "spawn-wrap-v2.0.0", + "status": "PASSED" + }, + { + "name": "serialport-v9.0.0", + "status": "PASSED" + }, + { + "name": "stylus", + "status": "SKIPPED" + }, + { + "name": "socket.io-v2.3.0", + "status": "REGRESSION" + }, + { + "name": "split2-v3.1.1", + "status": "PASSED" + }, + { + "name": "thread-sleep-v2.2.0", + "status": "PASSED" + }, + { + "name": "throughv-v1.0.4", + "status": "PASSED" + }, + { + "name": "time", + "status": "SKIPPED" + }, + { + "name": "through2-v4.0.2", + "status": "PASSED" + }, + { + "name": "tape-v5.0.1", + "status": "PASSED" + }, + { + "name": "torrent-stream-v1.2.0", + "status": "PASSED" + }, + { + "name": "sqlite3-v5.0.0", + "status": "PASSED" + }, + { + "name": "underscore-v1.10.2", + "status": "FAILED" + }, + { + "name": "vinyl-fs", + "status": "SKIPPED" + }, + { + "name": "uuid-v8.2.0", + "status": "PASSED" + }, + { + "name": "weak", + "status": "SKIPPED" + }, + { + "name": "watchify-v3.11.1", + "status": "FIXED" + }, + { + "name": "vinyl-v2.2.0", + "status": "PASSED" + }, + { + "name": "ws-v7.3.1", + "status": "PASSED" + }, + { + "name": "winston-v3.3.3", + "status": "SKIPPED" + }, + { + "name": "zeromq", + "status": "SKIPPED" + }, + { + "name": "uglify-js-v3.10.0", + "status": "PASSED" + }, + { + "name": "yargs-v15.4.1", + "status": "PASSED" + }, + { + "name": "yeoman-generator-v4.11.0", + "status": "PASSED" + } + ] + } + ] + } + }, + { + "child": { + "_class": "hudson.matrix.MatrixRun", + "url": "https://ci.nodejs.org/job/citgm-smoker-nobuild/nodes=rhel7-s390x/880/" + }, + "result": { + "_class": "hudson.tasks.junit.TestResult", + "suites": [ + { + "cases": [ + { + "name": "JSONStream-v1.3.5", + "status": "PASSED" + }, + { + "name": "@nearform/flame-v6.0.1", + "status": "PASSED" + }, + { + "name": "async", + "status": "SKIPPED" + }, + { + "name": "ava", + "status": "SKIPPED" + }, + { + "name": "@nearform/doctor-v5.0.2", + "status": "FIXED" + }, + { + "name": "binary-split-v1.0.5", + "status": "PASSED" + }, + { + "name": "@nearform/bubbleprof-v4.0.3", + "status": "PASSED" + }, + { + "name": "bcrypt-v5.0.0", + "status": "PASSED" + }, + { + "name": "blake2b-wasm-v2.1.0", + "status": "PASSED" + }, + { + "name": "bl-v4.0.2", + "status": "PASSED" + }, + { + "name": "acorn-v7.3.1", + "status": "PASSED" + }, + { + "name": "bson", + "status": "SKIPPED" + }, + { + "name": "body-parser-v1.19.0", + "status": "PASSED" + }, + { + "name": "bluebird-v3.7.2", + "status": "PASSED" + }, + { + "name": "bufferutil-v4.0.1", + "status": "PASSED" + }, + { + "name": "coffeescript", + "status": "SKIPPED" + }, + { + "name": "commander", + "status": "SKIPPED" + }, + { + "name": "cheerio-v1.0.0-rc.3", + "status": "PASSED" + }, + { + "name": "crc32-stream-v4.0.0", + "status": "PASSED" + }, + { + "name": "david", + "status": "SKIPPED" + }, + { + "name": "debug", + "status": "SKIPPED" + }, + { + "name": "dicer-v0.3.0", + "status": "PASSED" + }, + { + "name": "duplexer2-v0.1.4", + "status": "PASSED" + }, + { + "name": "csv-parser-v2.3.3", + "status": "PASSED" + }, + { + "name": "duplexify-v4.1.1", + "status": "PASSED" + }, + { + "name": "eslint", + "status": "SKIPPED" + }, + { + "name": "browserify-v16.5.1", + "status": "PASSED" + }, + { + "name": "eslint-plugin-jest-v23.18.0", + "status": "PASSED" + }, + { + "name": "esprima-v4.0.1", + "status": "PASSED" + }, + { + "name": "express-v4.17.1", + "status": "PASSED" + }, + { + "name": "express-session-v1.17.1", + "status": "PASSED" + }, + { + "name": "ffi", + "status": "SKIPPED" + }, + { + "name": "flush-write-stream-v2.0.0", + "status": "PASSED" + }, + { + "name": "from2-v2.3.0", + "status": "PASSED" + }, + { + "name": "fs-extra", + "status": "SKIPPED" + }, + { + "name": "full-icu-test-v1.0.3", + "status": "PASSED" + }, + { + "name": "ember-cli-v3.19.0", + "status": "PASSED" + }, + { + "name": "got", + "status": "SKIPPED" + }, + { + "name": "graceful-fs", + "status": "SKIPPED" + }, + { + "name": "glob-v7.1.6", + "status": "PASSED" + }, + { + "name": "fastify-v3.1.1", + "status": "PASSED" + }, + { + "name": "gulp-util-v3.0.8", + "status": "PASSED" + }, + { + "name": "iconv-v3.0.0", + "status": "PASSED" + }, + { + "name": "isarray-v2.0.5", + "status": "PASSED" + }, + { + "name": "gulp-v4.0.2", + "status": "PASSED" + }, + { + "name": "inherits-v2.0.4", + "status": "PASSED" + }, + { + "name": "koa-v2.13.0", + "status": "PASSED" + }, + { + "name": "level-v6.0.1", + "status": "SKIPPED" + }, + { + "name": "libxmljs", + "status": "SKIPPED" + }, + { + "name": "clinic-v6.0.2", + "status": "PASSED" + }, + { + "name": "jquery-v3.5.1", + "status": "SKIPPED" + }, + { + "name": "microtime-v3.0.0", + "status": "PASSED" + }, + { + "name": "lodash-v4.17.19", + "status": "PASSED" + }, + { + "name": "mkdirp", + "status": "SKIPPED" + }, + { + "name": "mocha", + "status": "SKIPPED" + }, + { + "name": "moment", + "status": "SKIPPED" + }, + { + "name": "mime-v2.4.6", + "status": "PASSED" + }, + { + "name": "minimist-v1.2.5", + "status": "PASSED" + }, + { + "name": "leveldown-v5.6.0", + "status": "SKIPPED" + }, + { + "name": "multer-v1.4.2", + "status": "PASSED" + }, + { + "name": "node-sass", + "status": "SKIPPED" + }, + { + "name": "node-gyp-v7.0.0", + "status": "PASSED" + }, + { + "name": "node-report-v2.2.11", + "status": "PASSED" + }, + { + "name": "nan-v2.14.1", + "status": "PASSED" + }, + { + "name": "pumpify-v2.0.1", + "status": "PASSED" + }, + { + "name": "pug-v3.0.0", + "status": "PASSED" + }, + { + "name": "path-to-regexp-v6.1.0", + "status": "PASSED" + }, + { + "name": "react", + "status": "SKIPPED" + }, + { + "name": "readable-stream", + "status": "SKIPPED" + }, + { + "name": "ref", + "status": "SKIPPED" + }, + { + "name": "q-v1.5.1", + "status": "PASSED" + }, + { + "name": "pino-v6.4.0", + "status": "PASSED" + }, + { + "name": "rewire-v5.0.0", + "status": "PASSED" + }, + { + "name": "rimraf-v3.0.2", + "status": "PASSED" + }, + { + "name": "radium-v0.26.0", + "status": "PASSED" + }, + { + "name": "router-v1.3.5", + "status": "PASSED" + }, + { + "name": "resolve-v1.17.0", + "status": "PASSED" + }, + { + "name": "sax-v1.2.4", + "status": "PASSED" + }, + { + "name": "shot-v4.0.7", + "status": "PASSED" + }, + { + "name": "semver-v7.3.2", + "status": "PASSED" + }, + { + "name": "spdy", + "status": "SKIPPED" + }, + { + "name": "spdy-transport", + "status": "SKIPPED" + }, + { + "name": "serialport-v9.0.0", + "status": "PASSED" + }, + { + "name": "spawn-wrap-v2.0.0", + "status": "PASSED" + }, + { + "name": "stylus", + "status": "SKIPPED" + }, + { + "name": "split2-v3.1.1", + "status": "PASSED" + }, + { + "name": "socket.io-v2.3.0", + "status": "PASSED" + }, + { + "name": "thread-sleep-v2.2.0", + "status": "PASSED" + }, + { + "name": "throughv-v1.0.4", + "status": "PASSED" + }, + { + "name": "time", + "status": "SKIPPED" + }, + { + "name": "tape-v5.0.1", + "status": "PASSED" + }, + { + "name": "through2-v4.0.2", + "status": "PASSED" + }, + { + "name": "underscore-v1.10.2", + "status": "PASSED" + }, + { + "name": "torrent-stream-v1.2.0", + "status": "REGRESSION" + }, + { + "name": "vinyl-v2.2.0", + "status": "PASSED" + }, + { + "name": "vinyl-fs", + "status": "SKIPPED" + }, + { + "name": "uuid-v8.2.0", + "status": "PASSED" + }, + { + "name": "weak", + "status": "SKIPPED" + }, + { + "name": "sqlite3-v5.0.0", + "status": "PASSED" + }, + { + "name": "ws-v7.3.1", + "status": "PASSED" + }, + { + "name": "watchify-v3.11.1", + "status": "PASSED" + }, + { + "name": "yargs-v15.4.1", + "status": "PASSED" + }, + { + "name": "zeromq", + "status": "SKIPPED" + }, + { + "name": "yeoman-generator-v4.11.0", + "status": "PASSED" + }, + { + "name": "winston-v3.3.3", + "status": "PASSED" + }, + { + "name": "uglify-js-v3.10.0", + "status": "PASSED" + } + ] + } + ] + } + }, + { + "child": { + "_class": "hudson.matrix.MatrixRun", + "url": "https://ci.nodejs.org/job/citgm-smoker-nobuild/nodes=aix71-ppc64/880/" + }, + "result": { + "_class": "hudson.tasks.junit.TestResult", + "suites": [ + { + "cases": [ + { + "name": "@nearform/doctor-v5.0.2", + "status": "SKIPPED" + }, + { + "name": "@nearform/bubbleprof-v4.0.3", + "status": "PASSED" + }, + { + "name": "JSONStream-v1.3.5", + "status": "FIXED" + }, + { + "name": "acorn", + "status": "SKIPPED" + }, + { + "name": "async", + "status": "SKIPPED" + }, + { + "name": "ava", + "status": "SKIPPED" + }, + { + "name": "@nearform/flame-v6.0.1", + "status": "SKIPPED" + }, + { + "name": "binary-split-v1.0.5", + "status": "PASSED" + }, + { + "name": "bcrypt-v5.0.0", + "status": "PASSED" + }, + { + "name": "bl-v4.0.2", + "status": "PASSED" + }, + { + "name": "blake2b-wasm-v2.1.0", + "status": "PASSED" + }, + { + "name": "bluebird-v3.7.2", + "status": "PASSED" + }, + { + "name": "body-parser-v1.19.0", + "status": "PASSED" + }, + { + "name": "bson", + "status": "SKIPPED" + }, + { + "name": "bufferutil-v4.0.1", + "status": "PASSED" + }, + { + "name": "cheerio-v1.0.0-rc.3", + "status": "PASSED" + }, + { + "name": "clinic", + "status": "SKIPPED" + }, + { + "name": "coffeescript-v2.5.1", + "status": "PASSED" + }, + { + "name": "commander", + "status": "SKIPPED" + }, + { + "name": "crc32-stream-v4.0.0", + "status": "PASSED" + }, + { + "name": "browserify-v16.5.1", + "status": "PASSED" + }, + { + "name": "david", + "status": "SKIPPED" + }, + { + "name": "debug", + "status": "SKIPPED" + }, + { + "name": "dicer-v0.3.0", + "status": "PASSED" + }, + { + "name": "duplexer2-v0.1.4", + "status": "PASSED" + }, + { + "name": "csv-parser-v2.3.3", + "status": "PASSED" + }, + { + "name": "duplexify-v4.1.1", + "status": "PASSED" + }, + { + "name": "eslint", + "status": "SKIPPED" + }, + { + "name": "eslint-plugin-jest", + "status": "SKIPPED" + }, + { + "name": "esprima-v4.0.1", + "status": "PASSED" + }, + { + "name": "express-v4.17.1", + "status": "PASSED" + }, + { + "name": "express-session-v1.17.1", + "status": "PASSED" + }, + { + "name": "fastify-v3.1.1", + "status": "PASSED" + }, + { + "name": "ffi", + "status": "SKIPPED" + }, + { + "name": "flush-write-stream-v2.0.0", + "status": "PASSED" + }, + { + "name": "from2-v2.3.0", + "status": "PASSED" + }, + { + "name": "fs-extra", + "status": "SKIPPED" + }, + { + "name": "full-icu-test-v1.0.3", + "status": "PASSED" + }, + { + "name": "glob-v7.1.6", + "status": "PASSED" + }, + { + "name": "got", + "status": "SKIPPED" + }, + { + "name": "graceful-fs", + "status": "SKIPPED" + }, + { + "name": "ember-cli-v3.19.0", + "status": "PASSED" + }, + { + "name": "gulp-v4.0.2", + "status": "PASSED" + }, + { + "name": "gulp-util-v3.0.8", + "status": "PASSED" + }, + { + "name": "iconv-v3.0.0", + "status": "PASSED" + }, + { + "name": "isarray-v2.0.5", + "status": "PASSED" + }, + { + "name": "inherits-v2.0.4", + "status": "PASSED" + }, + { + "name": "koa-v2.13.0", + "status": "PASSED" + }, + { + "name": "jquery-v3.5.1", + "status": "SKIPPED" + }, + { + "name": "leveldown-v5.6.0", + "status": "SKIPPED" + }, + { + "name": "libxmljs", + "status": "SKIPPED" + }, + { + "name": "level-v6.0.1", + "status": "SKIPPED" + }, + { + "name": "microtime-v3.0.0", + "status": "PASSED" + }, + { + "name": "mime-v2.4.6", + "status": "PASSED" + }, + { + "name": "lodash-v4.17.19", + "status": "PASSED" + }, + { + "name": "mkdirp", + "status": "SKIPPED" + }, + { + "name": "mocha", + "status": "SKIPPED" + }, + { + "name": "moment", + "status": "SKIPPED" + }, + { + "name": "minimist-v1.2.5", + "status": "PASSED" + }, + { + "name": "multer-v1.4.2", + "status": "PASSED" + }, + { + "name": "node-gyp-v7.0.0", + "status": "PASSED" + }, + { + "name": "node-report-v2.2.11", + "status": "PASSED" + }, + { + "name": "node-sass", + "status": "SKIPPED" + }, + { + "name": "nan-v2.14.1", + "status": "PASSED" + }, + { + "name": "path-to-regexp-v6.1.0", + "status": "FAILED" + }, + { + "name": "pino-v6.4.0", + "status": "PASSED" + }, + { + "name": "pug-v3.0.0", + "status": "FAILED" + }, + { + "name": "pumpify-v2.0.1", + "status": "PASSED" + }, + { + "name": "q-v1.5.1", + "status": "PASSED" + }, + { + "name": "react", + "status": "SKIPPED" + }, + { + "name": "readable-stream", + "status": "SKIPPED" + }, + { + "name": "ref", + "status": "SKIPPED" + }, + { + "name": "radium-v0.26.0", + "status": "PASSED" + }, + { + "name": "resolve-v1.17.0", + "status": "PASSED" + }, + { + "name": "rewire-v5.0.0", + "status": "PASSED" + }, + { + "name": "rimraf-v3.0.2", + "status": "PASSED" + }, + { + "name": "router-v1.3.5", + "status": "PASSED" + }, + { + "name": "sax-v1.2.4", + "status": "PASSED" + }, + { + "name": "semver-v7.3.2", + "status": "PASSED" + }, + { + "name": "shot-v4.0.7", + "status": "PASSED" + }, + { + "name": "serialport-v9.0.0", + "status": "SKIPPED" + }, + { + "name": "socket.io-v2.3.0", + "status": "PASSED" + }, + { + "name": "spdy", + "status": "SKIPPED" + }, + { + "name": "spdy-transport", + "status": "SKIPPED" + }, + { + "name": "spawn-wrap-v2.0.0", + "status": "PASSED" + }, + { + "name": "split2-v3.1.1", + "status": "PASSED" + }, + { + "name": "stylus", + "status": "SKIPPED" + }, + { + "name": "tape-v5.0.1", + "status": "PASSED" + }, + { + "name": "thread-sleep-v2.2.0", + "status": "PASSED" + }, + { + "name": "through2", + "status": "SKIPPED" + }, + { + "name": "throughv-v1.0.4", + "status": "PASSED" + }, + { + "name": "time", + "status": "SKIPPED" + }, + { + "name": "torrent-stream-v1.2.0", + "status": "REGRESSION" + }, + { + "name": "sqlite3-v5.0.0", + "status": "PASSED" + }, + { + "name": "underscore-v1.10.2", + "status": "PASSED" + }, + { + "name": "uuid-v8.2.0", + "status": "FAILED" + }, + { + "name": "vinyl-v2.2.0", + "status": "PASSED" + }, + { + "name": "vinyl-fs", + "status": "SKIPPED" + }, + { + "name": "watchify-v3.11.1", + "status": "PASSED" + }, + { + "name": "weak", + "status": "SKIPPED" + }, + { + "name": "uglify-js-v3.10.0", + "status": "PASSED" + }, + { + "name": "ws-v7.3.1", + "status": "PASSED" + }, + { + "name": "winston-v3.3.3", + "status": "PASSED" + }, + { + "name": "yargs-v15.4.1", + "status": "PASSED" + }, + { + "name": "zeromq", + "status": "SKIPPED" + }, + { + "name": "yeoman-generator-v4.11.0", + "status": "SKIPPED" + } + ] + } + ] + } + }, + { + "child": { + "_class": "hudson.matrix.MatrixRun", + "url": "https://ci.nodejs.org/job/citgm-smoker-nobuild/nodes=osx1015/880/" + }, + "result": { + "_class": "hudson.tasks.junit.TestResult", + "suites": [ + { + "cases": [ + { + "name": "JSONStream-v1.3.5", + "status": "PASSED" + }, + { + "name": "@nearform/flame-v6.0.1", + "status": "SKIPPED" + }, + { + "name": "async", + "status": "SKIPPED" + }, + { + "name": "@nearform/doctor-v5.0.2", + "status": "SKIPPED" + }, + { + "name": "@nearform/bubbleprof-v4.0.3", + "status": "SKIPPED" + }, + { + "name": "bcrypt-v5.0.0", + "status": "PASSED" + }, + { + "name": "binary-split-v1.0.5", + "status": "PASSED" + }, + { + "name": "bl-v4.0.2", + "status": "PASSED" + }, + { + "name": "blake2b-wasm-v2.1.0", + "status": "PASSED" + }, + { + "name": "acorn-v7.3.1", + "status": "REGRESSION" + }, + { + "name": "body-parser-v1.19.0", + "status": "PASSED" + }, + { + "name": "bson", + "status": "SKIPPED" + }, + { + "name": "bluebird-v3.7.2", + "status": "PASSED" + }, + { + "name": "bufferutil-v4.0.1", + "status": "PASSED" + }, + { + "name": "cheerio-v1.0.0-rc.3", + "status": "PASSED" + }, + { + "name": "coffeescript-v2.5.1", + "status": "PASSED" + }, + { + "name": "commander", + "status": "SKIPPED" + }, + { + "name": "crc32-stream-v4.0.0", + "status": "PASSED" + }, + { + "name": "ava-v3.10.1", + "status": "FAILED" + }, + { + "name": "david", + "status": "SKIPPED" + }, + { + "name": "browserify-v16.5.1", + "status": "PASSED" + }, + { + "name": "dicer-v0.3.0", + "status": "PASSED" + }, + { + "name": "duplexer2-v0.1.4", + "status": "PASSED" + }, + { + "name": "duplexify-v4.1.1", + "status": "PASSED" + }, + { + "name": "csv-parser-v2.3.3", + "status": "PASSED" + }, + { + "name": "eslint", + "status": "SKIPPED" + }, + { + "name": "debug-v4.1.1", + "status": "PASSED" + }, + { + "name": "esprima-v4.0.1", + "status": "PASSED" + }, + { + "name": "clinic-v6.0.2", + "status": "REGRESSION" + }, + { + "name": "eslint-plugin-jest-v23.18.0", + "status": "PASSED" + }, + { + "name": "express-v4.17.1", + "status": "PASSED" + }, + { + "name": "ffi", + "status": "SKIPPED" + }, + { + "name": "express-session-v1.17.1", + "status": "PASSED" + }, + { + "name": "flush-write-stream-v2.0.0", + "status": "PASSED" + }, + { + "name": "fs-extra", + "status": "SKIPPED" + }, + { + "name": "full-icu-test-v1.0.3", + "status": "PASSED" + }, + { + "name": "from2-v2.3.0", + "status": "PASSED" + }, + { + "name": "got", + "status": "SKIPPED" + }, + { + "name": "graceful-fs", + "status": "SKIPPED" + }, + { + "name": "gulp-v4.0.2", + "status": "FIXED" + }, + { + "name": "glob-v7.1.6", + "status": "PASSED" + }, + { + "name": "gulp-util-v3.0.8", + "status": "PASSED" + }, + { + "name": "iconv-v3.0.0", + "status": "PASSED" + }, + { + "name": "isarray-v2.0.5", + "status": "PASSED" + }, + { + "name": "ember-cli-v3.19.0", + "status": "REGRESSION" + }, + { + "name": "inherits-v2.0.4", + "status": "PASSED" + }, + { + "name": "fastify-v3.1.1", + "status": "FAILED" + }, + { + "name": "koa-v2.13.0", + "status": "PASSED" + }, + { + "name": "libxmljs", + "status": "SKIPPED" + }, + { + "name": "jquery-v3.5.1", + "status": "SKIPPED" + }, + { + "name": "level-v6.0.1", + "status": "PASSED" + }, + { + "name": "mime-v2.4.6", + "status": "PASSED" + }, + { + "name": "microtime-v3.0.0", + "status": "PASSED" + }, + { + "name": "mkdirp", + "status": "SKIPPED" + }, + { + "name": "mocha", + "status": "SKIPPED" + }, + { + "name": "moment", + "status": "SKIPPED" + }, + { + "name": "lodash-v4.17.19", + "status": "PASSED" + }, + { + "name": "minimist-v1.2.5", + "status": "PASSED" + }, + { + "name": "leveldown-v5.6.0", + "status": "PASSED" + }, + { + "name": "multer-v1.4.2", + "status": "PASSED" + }, + { + "name": "node-sass", + "status": "SKIPPED" + }, + { + "name": "node-report-v2.2.11", + "status": "PASSED" + }, + { + "name": "nan-v2.14.1", + "status": "PASSED" + }, + { + "name": "node-gyp-v7.0.0", + "status": "PASSED" + }, + { + "name": "pumpify-v2.0.1", + "status": "PASSED" + }, + { + "name": "q-v1.5.1", + "status": "PASSED" + }, + { + "name": "pug-v3.0.0", + "status": "PASSED" + }, + { + "name": "react", + "status": "SKIPPED" + }, + { + "name": "readable-stream", + "status": "SKIPPED" + }, + { + "name": "ref", + "status": "SKIPPED" + }, + { + "name": "path-to-regexp-v6.1.0", + "status": "PASSED" + }, + { + "name": "rewire-v5.0.0", + "status": "PASSED" + }, + { + "name": "pino-v6.4.0", + "status": "PASSED" + }, + { + "name": "rimraf-v3.0.2", + "status": "PASSED" + }, + { + "name": "radium-v0.26.0", + "status": "PASSED" + }, + { + "name": "router-v1.3.5", + "status": "PASSED" + }, + { + "name": "resolve-v1.17.0", + "status": "PASSED" + }, + { + "name": "sax-v1.2.4", + "status": "PASSED" + }, + { + "name": "shot-v4.0.7", + "status": "PASSED" + }, + { + "name": "semver-v7.3.2", + "status": "REGRESSION" + }, + { + "name": "spdy", + "status": "SKIPPED" + }, + { + "name": "spdy-transport", + "status": "SKIPPED" + }, + { + "name": "spawn-wrap-v2.0.0", + "status": "SKIPPED" + }, + { + "name": "serialport-v9.0.0", + "status": "PASSED" + }, + { + "name": "stylus", + "status": "SKIPPED" + }, + { + "name": "socket.io-v2.3.0", + "status": "PASSED" + }, + { + "name": "thread-sleep-v2.2.0", + "status": "PASSED" + }, + { + "name": "split2-v3.1.1", + "status": "PASSED" + }, + { + "name": "throughv-v1.0.4", + "status": "PASSED" + }, + { + "name": "time", + "status": "SKIPPED" + }, + { + "name": "tape-v5.0.1", + "status": "PASSED" + }, + { + "name": "torrent-stream-v1.2.0", + "status": "PASSED" + }, + { + "name": "through2-v4.0.2", + "status": "PASSED" + }, + { + "name": "underscore-v1.10.2", + "status": "FAILED" + }, + { + "name": "uuid-v8.2.0", + "status": "PASSED" + }, + { + "name": "vinyl-fs", + "status": "SKIPPED" + }, + { + "name": "vinyl-v2.2.0", + "status": "PASSED" + }, + { + "name": "weak", + "status": "SKIPPED" + }, + { + "name": "watchify-v3.11.1", + "status": "REGRESSION" + }, + { + "name": "sqlite3-v5.0.0", + "status": "PASSED" + }, + { + "name": "winston-v3.3.3", + "status": "SKIPPED" + }, + { + "name": "ws-v7.3.1", + "status": "PASSED" + }, + { + "name": "zeromq", + "status": "SKIPPED" + }, + { + "name": "yeoman-generator-v4.11.0", + "status": "PASSED" + }, + { + "name": "yargs-v15.4.1", + "status": "PASSED" + }, + { + "name": "uglify-js-v3.10.0", + "status": "PASSED" + } + ] + } + ] + } + }, + { + "child": { + "_class": "hudson.matrix.MatrixRun", + "url": "https://ci.nodejs.org/job/citgm-smoker-nobuild/nodes=ubuntu1604-64/880/" + }, + "result": { + "_class": "hudson.tasks.junit.TestResult", + "suites": [ + { + "cases": [ + { + "name": "JSONStream-v1.3.5", + "status": "PASSED" + }, + { + "name": "@nearform/flame-v6.0.1", + "status": "SKIPPED" + }, + { + "name": "async", + "status": "SKIPPED" + }, + { + "name": "@nearform/doctor-v5.0.2", + "status": "SKIPPED" + }, + { + "name": "@nearform/bubbleprof-v4.0.3", + "status": "PASSED" + }, + { + "name": "bcrypt-v5.0.0", + "status": "PASSED" + }, + { + "name": "acorn-v7.3.1", + "status": "PASSED" + }, + { + "name": "blake2b-wasm-v2.1.0", + "status": "PASSED" + }, + { + "name": "binary-split-v1.0.5", + "status": "PASSED" + }, + { + "name": "bl-v4.0.2", + "status": "PASSED" + }, + { + "name": "body-parser-v1.19.0", + "status": "PASSED" + }, + { + "name": "bson", + "status": "SKIPPED" + }, + { + "name": "bluebird-v3.7.2", + "status": "PASSED" + }, + { + "name": "bufferutil-v4.0.1", + "status": "PASSED" + }, + { + "name": "cheerio-v1.0.0-rc.3", + "status": "PASSED" + }, + { + "name": "coffeescript-v2.5.1", + "status": "PASSED" + }, + { + "name": "commander", + "status": "SKIPPED" + }, + { + "name": "crc32-stream-v4.0.0", + "status": "PASSED" + }, + { + "name": "browserify-v16.5.1", + "status": "PASSED" + }, + { + "name": "david", + "status": "SKIPPED" + }, + { + "name": "csv-parser-v2.3.3", + "status": "PASSED" + }, + { + "name": "dicer-v0.3.0", + "status": "PASSED" + }, + { + "name": "duplexer2-v0.1.4", + "status": "PASSED" + }, + { + "name": "duplexify-v4.1.1", + "status": "PASSED" + }, + { + "name": "debug-v4.1.1", + "status": "PASSED" + }, + { + "name": "eslint", + "status": "SKIPPED" + }, + { + "name": "ava-v3.10.1", + "status": "FAILED" + }, + { + "name": "eslint-plugin-jest-v23.18.0", + "status": "PASSED" + }, + { + "name": "esprima-v4.0.1", + "status": "PASSED" + }, + { + "name": "express-v4.17.1", + "status": "PASSED" + }, + { + "name": "express-session-v1.17.1", + "status": "PASSED" + }, + { + "name": "ffi", + "status": "SKIPPED" + }, + { + "name": "flush-write-stream-v2.0.0", + "status": "PASSED" + }, + { + "name": "from2-v2.3.0", + "status": "PASSED" + }, + { + "name": "fs-extra", + "status": "SKIPPED" + }, + { + "name": "full-icu-test-v1.0.3", + "status": "PASSED" + }, + { + "name": "glob-v7.1.6", + "status": "PASSED" + }, + { + "name": "got", + "status": "SKIPPED" + }, + { + "name": "graceful-fs", + "status": "SKIPPED" + }, + { + "name": "gulp-v4.0.2", + "status": "PASSED" + }, + { + "name": "fastify-v3.1.1", + "status": "PASSED" + }, + { + "name": "clinic-v6.0.2", + "status": "PASSED" + }, + { + "name": "gulp-util-v3.0.8", + "status": "PASSED" + }, + { + "name": "isarray-v2.0.5", + "status": "PASSED" + }, + { + "name": "iconv-v3.0.0", + "status": "PASSED" + }, + { + "name": "inherits-v2.0.4", + "status": "PASSED" + }, + { + "name": "koa-v2.13.0", + "status": "PASSED" + }, + { + "name": "level-v6.0.1", + "status": "PASSED" + }, + { + "name": "libxmljs", + "status": "SKIPPED" + }, + { + "name": "ember-cli-v3.19.0", + "status": "PASSED" + }, + { + "name": "jquery-v3.5.1", + "status": "SKIPPED" + }, + { + "name": "mime-v2.4.6", + "status": "PASSED" + }, + { + "name": "microtime-v3.0.0", + "status": "PASSED" + }, + { + "name": "mkdirp", + "status": "SKIPPED" + }, + { + "name": "mocha", + "status": "SKIPPED" + }, + { + "name": "moment", + "status": "SKIPPED" + }, + { + "name": "minimist-v1.2.5", + "status": "PASSED" + }, + { + "name": "lodash-v4.17.19", + "status": "PASSED" + }, + { + "name": "multer-v1.4.2", + "status": "PASSED" + }, + { + "name": "leveldown-v5.6.0", + "status": "PASSED" + }, + { + "name": "node-sass", + "status": "SKIPPED" + }, + { + "name": "node-report-v2.2.11", + "status": "PASSED" + }, + { + "name": "nan-v2.14.1", + "status": "PASSED" + }, + { + "name": "node-gyp-v7.0.0", + "status": "PASSED" + }, + { + "name": "pumpify-v2.0.1", + "status": "PASSED" + }, + { + "name": "q-v1.5.1", + "status": "PASSED" + }, + { + "name": "pug-v3.0.0", + "status": "PASSED" + }, + { + "name": "react", + "status": "SKIPPED" + }, + { + "name": "readable-stream", + "status": "SKIPPED" + }, + { + "name": "ref", + "status": "SKIPPED" + }, + { + "name": "pino-v6.4.0", + "status": "PASSED" + }, + { + "name": "path-to-regexp-v6.1.0", + "status": "PASSED" + }, + { + "name": "radium-v0.26.0", + "status": "PASSED" + }, + { + "name": "resolve-v1.17.0", + "status": "PASSED" + }, + { + "name": "rewire-v5.0.0", + "status": "PASSED" + }, + { + "name": "rimraf-v3.0.2", + "status": "PASSED" + }, + { + "name": "router-v1.3.5", + "status": "PASSED" + }, + { + "name": "sax-v1.2.4", + "status": "PASSED" + }, + { + "name": "shot-v4.0.7", + "status": "PASSED" + }, + { + "name": "semver-v7.3.2", + "status": "PASSED" + }, + { + "name": "spdy", + "status": "SKIPPED" + }, + { + "name": "spdy-transport", + "status": "SKIPPED" + }, + { + "name": "spawn-wrap-v2.0.0", + "status": "PASSED" + }, + { + "name": "serialport-v9.0.0", + "status": "PASSED" + }, + { + "name": "stylus", + "status": "SKIPPED" + }, + { + "name": "socket.io-v2.3.0", + "status": "PASSED" + }, + { + "name": "thread-sleep-v2.2.0", + "status": "PASSED" + }, + { + "name": "split2-v3.1.1", + "status": "PASSED" + }, + { + "name": "throughv-v1.0.4", + "status": "PASSED" + }, + { + "name": "time", + "status": "SKIPPED" + }, + { + "name": "through2-v4.0.2", + "status": "PASSED" + }, + { + "name": "tape-v5.0.1", + "status": "PASSED" + }, + { + "name": "torrent-stream-v1.2.0", + "status": "PASSED" + }, + { + "name": "sqlite3-v5.0.0", + "status": "PASSED" + }, + { + "name": "underscore-v1.10.2", + "status": "REGRESSION" + }, + { + "name": "vinyl-fs", + "status": "SKIPPED" + }, + { + "name": "vinyl-v2.2.0", + "status": "PASSED" + }, + { + "name": "weak", + "status": "SKIPPED" + }, + { + "name": "uuid-v8.2.0", + "status": "PASSED" + }, + { + "name": "watchify-v3.11.1", + "status": "PASSED" + }, + { + "name": "winston-v3.3.3", + "status": "REGRESSION" + }, + { + "name": "ws-v7.3.1", + "status": "PASSED" + }, + { + "name": "zeromq", + "status": "SKIPPED" + }, + { + "name": "yeoman-generator-v4.11.0", + "status": "PASSED" + }, + { + "name": "yargs-v15.4.1", + "status": "PASSED" + }, + { + "name": "uglify-js-v3.10.0", + "status": "PASSED" + } + ] + } + ] + } + }, + { + "child": { + "_class": "hudson.matrix.MatrixRun", + "url": "https://ci.nodejs.org/job/citgm-smoker-nobuild/nodes=fedora-latest-x64/880/" + }, + "result": { + "_class": "hudson.tasks.junit.TestResult", + "suites": [ + { + "cases": [ + { + "name": "@nearform/doctor-v5.0.2", + "status": "SKIPPED" + }, + { + "name": "@nearform/bubbleprof-v4.0.3", + "status": "PASSED" + }, + { + "name": "JSONStream-v1.3.5", + "status": "PASSED" + }, + { + "name": "@nearform/flame-v6.0.1", + "status": "SKIPPED" + }, + { + "name": "async", + "status": "SKIPPED" + }, + { + "name": "acorn-v7.3.1", + "status": "PASSED" + }, + { + "name": "bcrypt-v5.0.0", + "status": "PASSED" + }, + { + "name": "binary-split-v1.0.5", + "status": "PASSED" + }, + { + "name": "bl-v4.0.2", + "status": "PASSED" + }, + { + "name": "blake2b-wasm-v2.1.0", + "status": "PASSED" + }, + { + "name": "bluebird-v3.7.2", + "status": "PASSED" + }, + { + "name": "body-parser-v1.19.0", + "status": "PASSED" + }, + { + "name": "ava-v3.10.1", + "status": "FAILED" + }, + { + "name": "bson", + "status": "SKIPPED" + }, + { + "name": "bufferutil-v4.0.1", + "status": "PASSED" + }, + { + "name": "cheerio-v1.0.0-rc.3", + "status": "PASSED" + }, + { + "name": "browserify-v16.5.1", + "status": "PASSED" + }, + { + "name": "coffeescript-v2.5.1", + "status": "PASSED" + }, + { + "name": "commander", + "status": "SKIPPED" + }, + { + "name": "crc32-stream-v4.0.0", + "status": "PASSED" + }, + { + "name": "csv-parser-v2.3.3", + "status": "PASSED" + }, + { + "name": "david", + "status": "SKIPPED" + }, + { + "name": "debug-v4.1.1", + "status": "PASSED" + }, + { + "name": "dicer-v0.3.0", + "status": "PASSED" + }, + { + "name": "duplexer2-v0.1.4", + "status": "PASSED" + }, + { + "name": "duplexify-v4.1.1", + "status": "PASSED" + }, + { + "name": "clinic-v6.0.2", + "status": "PASSED" + }, + { + "name": "eslint", + "status": "SKIPPED" + }, + { + "name": "ember-cli-v3.19.0", + "status": "PASSED" + }, + { + "name": "eslint-plugin-jest-v23.18.0", + "status": "PASSED" + }, + { + "name": "express-v4.17.1", + "status": "PASSED" + }, + { + "name": "esprima-v4.0.1", + "status": "PASSED" + }, + { + "name": "express-session-v1.17.1", + "status": "PASSED" + }, + { + "name": "ffi", + "status": "SKIPPED" + }, + { + "name": "flush-write-stream-v2.0.0", + "status": "PASSED" + }, + { + "name": "from2-v2.3.0", + "status": "PASSED" + }, + { + "name": "fs-extra", + "status": "SKIPPED" + }, + { + "name": "full-icu-test-v1.0.3", + "status": "PASSED" + }, + { + "name": "glob-v7.1.6", + "status": "PASSED" + }, + { + "name": "got", + "status": "SKIPPED" + }, + { + "name": "graceful-fs", + "status": "SKIPPED" + }, + { + "name": "gulp-v4.0.2", + "status": "PASSED" + }, + { + "name": "gulp-util-v3.0.8", + "status": "PASSED" + }, + { + "name": "iconv-v3.0.0", + "status": "PASSED" + }, + { + "name": "inherits-v2.0.4", + "status": "PASSED" + }, + { + "name": "isarray-v2.0.5", + "status": "PASSED" + }, + { + "name": "fastify-v3.1.1", + "status": "PASSED" + }, + { + "name": "koa-v2.13.0", + "status": "PASSED" + }, + { + "name": "jquery-v3.5.1", + "status": "SKIPPED" + }, + { + "name": "level-v6.0.1", + "status": "PASSED" + }, + { + "name": "libxmljs", + "status": "SKIPPED" + }, + { + "name": "lodash-v4.17.19", + "status": "PASSED" + }, + { + "name": "leveldown-v5.6.0", + "status": "PASSED" + }, + { + "name": "mime-v2.4.6", + "status": "PASSED" + }, + { + "name": "microtime-v3.0.0", + "status": "PASSED" + }, + { + "name": "mkdirp", + "status": "SKIPPED" + }, + { + "name": "mocha", + "status": "SKIPPED" + }, + { + "name": "moment", + "status": "SKIPPED" + }, + { + "name": "minimist-v1.2.5", + "status": "PASSED" + }, + { + "name": "multer-v1.4.2", + "status": "PASSED" + }, + { + "name": "node-gyp-v7.0.0", + "status": "PASSED" + }, + { + "name": "nan-v2.14.1", + "status": "PASSED" + }, + { + "name": "node-sass", + "status": "SKIPPED" + }, + { + "name": "node-report-v2.2.11", + "status": "PASSED" + }, + { + "name": "path-to-regexp-v6.1.0", + "status": "PASSED" + }, + { + "name": "pino-v6.4.0", + "status": "PASSED" + }, + { + "name": "pumpify-v2.0.1", + "status": "PASSED" + }, + { + "name": "q-v1.5.1", + "status": "PASSED" + }, + { + "name": "pug-v3.0.0", + "status": "PASSED" + }, + { + "name": "react", + "status": "SKIPPED" + }, + { + "name": "readable-stream", + "status": "SKIPPED" + }, + { + "name": "ref", + "status": "SKIPPED" + }, + { + "name": "radium-v0.26.0", + "status": "PASSED" + }, + { + "name": "resolve-v1.17.0", + "status": "PASSED" + }, + { + "name": "rewire-v5.0.0", + "status": "PASSED" + }, + { + "name": "rimraf-v3.0.2", + "status": "PASSED" + }, + { + "name": "router-v1.3.5", + "status": "PASSED" + }, + { + "name": "sax-v1.2.4", + "status": "PASSED" + }, + { + "name": "semver-v7.3.2", + "status": "PASSED" + }, + { + "name": "serialport-v9.0.0", + "status": "PASSED" + }, + { + "name": "shot-v4.0.7", + "status": "PASSED" + }, + { + "name": "spawn-wrap-v2.0.0", + "status": "PASSED" + }, + { + "name": "spdy", + "status": "SKIPPED" + }, + { + "name": "spdy-transport", + "status": "SKIPPED" + }, + { + "name": "socket.io-v2.3.0", + "status": "PASSED" + }, + { + "name": "split2-v3.1.1", + "status": "PASSED" + }, + { + "name": "stylus", + "status": "SKIPPED" + }, + { + "name": "sqlite3-v5.0.0", + "status": "PASSED" + }, + { + "name": "thread-sleep-v2.2.0", + "status": "PASSED" + }, + { + "name": "tape-v5.0.1", + "status": "PASSED" + }, + { + "name": "throughv-v1.0.4", + "status": "PASSED" + }, + { + "name": "time", + "status": "SKIPPED" + }, + { + "name": "through2-v4.0.2", + "status": "PASSED" + }, + { + "name": "torrent-stream-v1.2.0", + "status": "PASSED" + }, + { + "name": "underscore-v1.10.2", + "status": "FIXED" + }, + { + "name": "uuid-v8.2.0", + "status": "PASSED" + }, + { + "name": "vinyl-v2.2.0", + "status": "PASSED" + }, + { + "name": "vinyl-fs", + "status": "SKIPPED" + }, + { + "name": "watchify-v3.11.1", + "status": "PASSED" + }, + { + "name": "weak", + "status": "SKIPPED" + }, + { + "name": "uglify-js-v3.10.0", + "status": "PASSED" + }, + { + "name": "winston-v3.3.3", + "status": "FAILED" + }, + { + "name": "ws-v7.3.1", + "status": "PASSED" + }, + { + "name": "yeoman-generator-v4.11.0", + "status": "PASSED" + }, + { + "name": "zeromq", + "status": "SKIPPED" + }, + { + "name": "yargs-v15.4.1", + "status": "PASSED" + } + ] + } + ] + } + } + ] +} \ No newline at end of file diff --git a/test/fixtures/jenkins/citgm-compare-nobuild/citgm-smoker-nobuild-880.json b/test/fixtures/jenkins/citgm-compare-nobuild/citgm-smoker-nobuild-880.json new file mode 100644 index 00000000..314e3c4e --- /dev/null +++ b/test/fixtures/jenkins/citgm-compare-nobuild/citgm-smoker-nobuild-880.json @@ -0,0 +1,160 @@ +{ + "_class": "hudson.matrix.MatrixBuild", + "actions": [ + { + "_class": "hudson.model.CauseAction", + "causes": [ + { + "_class": "hudson.model.Cause$UserIdCause", + "shortDescription": "Started by user Myles Borins", + "userId": "mylesborins", + "userName": "Myles Borins" + }, + { + "_class": "com.sonyericsson.rebuild.RebuildCause", + "shortDescription": "Rebuilds build #879", + "upstreamBuild": 879, + "upstreamProject": "citgm-smoker-nobuild", + "upstreamUrl": "view/Node.js-citgm/job/citgm-smoker-nobuild/" + } + ] + }, + { + "_class": "hudson.model.ParametersAction", + "parameters": [ + { + "_class": "hudson.model.StringParameterValue", + "name": "CITGM", + "value": "citgm" + }, + { + "_class": "hudson.model.StringParameterValue", + "name": "CITGM_COMMAND", + "value": "citgm-all -J" + }, + { + "_class": "hudson.model.StringParameterValue", + "name": "NODE_VERSION", + "value": "v14" + }, + { + "_class": "hudson.model.StringParameterValue", + "name": "CITGM_LOGLEVEL", + "value": "verbose" + }, + { + "_class": "hudson.model.StringParameterValue", + "name": "NPM_LOGLEVEL", + "value": "error" + }, + { + "_class": "hudson.model.StringParameterValue", + "name": "DOWNLOAD_LOCATION", + "value": "release" + }, + { + "_class": "hudson.plugins.matrix_configuration_parameter.MatrixCombinationsParameterValue", + "name": "MACHINES" + } + ] + }, + {}, + {}, + {}, + {}, + {}, + { + "_class": "hudson.tasks.test.MatrixTestResult", + "failCount": 34, + "skipCount": 289, + "totalCount": 1060, + "urlName": "testReport" + }, + {}, + {}, + {}, + {}, + {}, + {} + ], + "artifacts": [], + "building": false, + "description": null, + "displayName": "#880", + "duration": 8352374, + "estimatedDuration": 3250419, + "executor": null, + "fullDisplayName": "citgm-smoker-nobuild #880", + "id": "880", + "keepLog": false, + "number": 880, + "queueId": 869527, + "result": "FAILURE", + "timestamp": 1595339678514, + "url": "https://ci.nodejs.org/job/citgm-smoker-nobuild/880/", + "builtOn": "test-packetnet-ubuntu1804-x64-1", + "changeSet": { + "_class": "hudson.scm.EmptyChangeLogSet", + "items": [], + "kind": null + }, + "culprits": [], + "runs": [ + { + "number": 880, + "url": "https://ci.nodejs.org/job/citgm-smoker-nobuild/nodes=aix71-ppc64/880/" + }, + { + "number": 880, + "url": "https://ci.nodejs.org/job/citgm-smoker-nobuild/nodes=centos7-ppcle/880/" + }, + { + "number": 880, + "url": "https://ci.nodejs.org/job/citgm-smoker-nobuild/nodes=debian9-64/880/" + }, + { + "number": 880, + "url": "https://ci.nodejs.org/job/citgm-smoker-nobuild/nodes=fedora-last-latest-x64/880/" + }, + { + "number": 880, + "url": "https://ci.nodejs.org/job/citgm-smoker-nobuild/nodes=fedora-latest-x64/880/" + }, + { + "number": 867, + "url": "https://ci.nodejs.org/job/citgm-smoker-nobuild/nodes=osx1010/867/" + }, + { + "number": 880, + "url": "https://ci.nodejs.org/job/citgm-smoker-nobuild/nodes=osx1014/880/" + }, + { + "number": 880, + "url": "https://ci.nodejs.org/job/citgm-smoker-nobuild/nodes=osx1015/880/" + }, + { + "number": 880, + "url": "https://ci.nodejs.org/job/citgm-smoker-nobuild/nodes=rhel7-s390x/880/" + }, + { + "number": 877, + "url": "https://ci.nodejs.org/job/citgm-smoker-nobuild/nodes=ubuntu1404-64/877/" + }, + { + "number": 880, + "url": "https://ci.nodejs.org/job/citgm-smoker-nobuild/nodes=ubuntu1604-64/880/" + }, + { + "number": 880, + "url": "https://ci.nodejs.org/job/citgm-smoker-nobuild/nodes=ubuntu1804-64/880/" + }, + { + "number": 880, + "url": "https://ci.nodejs.org/job/citgm-smoker-nobuild/nodes=win10-vs2019/880/" + }, + { + "number": 880, + "url": "https://ci.nodejs.org/job/citgm-smoker-nobuild/nodes=win2016-vs2017/880/" + } + ] +} \ No newline at end of file diff --git a/test/fixtures/jenkins/citgm-compare-nobuild/expected.json b/test/fixtures/jenkins/citgm-compare-nobuild/expected.json new file mode 100644 index 00000000..b2bb9be2 --- /dev/null +++ b/test/fixtures/jenkins/citgm-compare-nobuild/expected.json @@ -0,0 +1,41 @@ +{ + "baseBuild": { + "upstream": "https://ci.nodejs.org/job/citgm-smoker/2433/" + }, + "comparisonBuild": { + "source": "https://api.github.com/repos/nodejs/node/git/refs/heads/v14.6.0-proposal", + "upstream": "https://ci.nodejs.org/job/citgm-smoker-nobuild/880/" + }, + "ubuntu1804-64": [ + "shot-v4.0.7" + ], + "aix71-ppc64": [ + "shot-v4.0.7" + ], + "osx1015": [ + "gulp-v4.0.2", + "shot-v4.0.7" + ], + "debian9-64": [ + "shot-v4.0.7" + ], + "osx1014": [ + "gulp-v4.0.2", + "shot-v4.0.7" + ], + "fedora-last-latest-x64": [ + "shot-v4.0.7" + ], + "centos7-ppcle": [ + "shot-v4.0.7" + ], + "rhel7-s390x": [ + "shot-v4.0.7" + ], + "ubuntu1604-64": [ + "shot-v4.0.7" + ], + "fedora-latest-x64": [ + "shot-v4.0.7" + ] +} \ No newline at end of file diff --git a/test/fixtures/jenkins/citgm-compare-nobuild/expected.md b/test/fixtures/jenkins/citgm-compare-nobuild/expected.md new file mode 100644 index 00000000..05a03ff2 --- /dev/null +++ b/test/fixtures/jenkins/citgm-compare-nobuild/expected.md @@ -0,0 +1,46 @@ +# CITGM Data for [#880](https://ci.nodejs.org/job/citgm-smoker-nobuild/880/) - [#2433](https://ci.nodejs.org/job/citgm-smoker/2433/) + +## New Failures in job [#2433](https://ci.nodejs.org/job/citgm-smoker/2433/) + +### ubuntu1804-64 + +* shot-v4.0.7 + +### aix71-ppc64 + +* shot-v4.0.7 + +### osx1015 + +* gulp-v4.0.2 +* shot-v4.0.7 + +### debian9-64 + +* shot-v4.0.7 + +### osx1014 + +* gulp-v4.0.2 +* shot-v4.0.7 + +### fedora-last-latest-x64 + +* shot-v4.0.7 + +### centos7-ppcle + +* shot-v4.0.7 + +### rhel7-s390x + +* shot-v4.0.7 + +### ubuntu1604-64 + +* shot-v4.0.7 + +### fedora-latest-x64 + +* shot-v4.0.7 + diff --git a/test/unit/ci_result_parser.test.js b/test/unit/ci_result_parser.test.js index cff9ad02..1edcf17d 100644 --- a/test/unit/ci_result_parser.test.js +++ b/test/unit/ci_result_parser.test.js @@ -249,4 +249,31 @@ describe('Jenkins', () => { const expected = fixtures.readFile(...prefix, 'expected.md'); assert.strictEqual(markdown, expected); }); + + it('should correctly fetch CITGM comparison noBuild results', async() => { + tmpdir.refresh(); + const prefix = ['jenkins', 'citgm-compare-nobuild']; + const fixturesDir = path.join(__dirname, '..', 'fixtures', ...prefix); + copyShallow(fixturesDir, tmpdir.path); + jobCache.dir = tmpdir.path; + jobCache.enable(); + + const cli = new TestCLI(); + + const job = { + jobid: 880, + jobid2: 2433, + noBuild: true + }; + + const comparisonBuild = new CITGMComparisonBuild(cli, {}, job); + await comparisonBuild.getResults(); + + const expectedJson = fixtures.readJSON(...prefix, 'expected.json'); + assert.deepStrictEqual(comparisonBuild.formatAsJson(), expectedJson); + + const markdown = comparisonBuild.formatAsMarkdown(); + const expected = fixtures.readFile(...prefix, 'expected.md'); + assert.strictEqual(markdown, expected); + }); }); From 3f4fcb142ecdee66cef49c55488760052a757c5f Mon Sep 17 00:00:00 2001 From: Shelley Vohr Date: Wed, 22 Jul 2020 17:39:36 -0700 Subject: [PATCH 8/8] Add better documentation --- bin/ncu-ci | 10 +++++---- docs/ncu-ci.md | 61 ++++++++++++++++++++++++++++++++++++++++++++------ 2 files changed, 60 insertions(+), 11 deletions(-) diff --git a/bin/ncu-ci b/bin/ncu-ci index ff8a7ae5..b27df875 100755 --- a/bin/ncu-ci +++ b/bin/ncu-ci @@ -171,12 +171,14 @@ const argv = yargs }) .demandCommand(1, 'must provide a valid command') .option('copy', { + describe: 'Write the results as markdown to clipboard', default: false, - describe: 'Write the results as markdown to clipboard' + type: 'boolean' }) .option('nobuild', { - describe: 'If running cigtm, whether or not the CITGM job is citgm-nobuild', - type: 'boolean' + describe: 'If running cigtm, whether or not jobid is citgm-nobuild.', + type: 'boolean', + default: false }) .option('json ', { type: 'string', @@ -376,7 +378,7 @@ class JobCommand extends CICommand { type: commandToType[this.command], jobid: argv.jobid, jobid2: argv.jobid2, - noBuild: this.argv.nobuild || false + noBuild: this.argv.nobuild }); } } diff --git a/docs/ncu-ci.md b/docs/ncu-ci.md index 7113d858..423a7b49 100644 --- a/docs/ncu-ci.md +++ b/docs/ncu-ci.md @@ -26,9 +26,10 @@ Commands: Options: --version Show version number [boolean] - --copy Write the results as markdown to clipboard [default: false] - --nobuild If running cigtm, whether or not the CITGM job is - citgm-nobuild [boolean] + --copy Write the results as markdown to clipboard + [boolean] [default: false] + --nobuild If running cigtm, whether or not jobid is citgm-nobuild. + [boolean] [default: false] --json Write the results as json to [string] --markdown Write the results as markdown to [string] --help Show help [boolean] @@ -230,13 +231,13 @@ Notifying upstream projects of job completion Finished: SUCCESS ``` -### `ncu-ci citgm ` +### `ncu-ci citgm [jobid2]` -`ncu-ci citgm ` shows the results of a given citgm-smoker job. See `ncu-ci citgm --help` for more. +`ncu-ci citgm [jobid2]` shows the results of a given citgm-smoker job, with the option to compare per-platform results of two jobs. You See `ncu-ci citgm --help` for more. Example: ``` -node on git:master ❯ ncu-ci citgm 2400 10:25AM +node on git:master ❯ ncu-ci citgm 2400 -------------------------------------------------------------------------------- [1/1] Running CITGM: 2400 -------------------------------------------------------------------------------- @@ -264,12 +265,58 @@ Author Shelley Vohr └────────────────────────┴───────────────────────┴───────────────────────┴─────────────────────────┴─────────────────────┴─────────────────┴────────────────────┘ ``` +Comparison Example: +```sh +node-core-utils on git:allow-citgm-comparison ❯ ncu-ci citgm 2392 2390 +-------------------------------------------------------------------------------- +[1/1] Running CITGM: 2392 +-------------------------------------------------------------------------------- +✔ Summary data downloaded +✔ Results data downloaded +✔ Summary data downloaded +✔ Results data downloaded +----------------------------------- Summary ------------------------------------ +Result FAILURE +URL https://ci.nodejs.org/job/citgm-smoker/2392/ +Source https://api.github.com/repos/nodejs/node/git/refs/heads/v12.x +Commit [feed95cd4c2c] Working on v12.18.1 +Date 2020-06-02 20:27:47 +0200 +Author Michaël Zasso +----------------------------------- Summary ------------------------------------ +Result FAILURE +URL https://ci.nodejs.org/job/citgm-smoker/2390/ +Source https://github.com/nodejs/node/pull/33811/ +Commit [9a60117875dd] 2020-06-16, Version 12.18.1 'Erbium' (LTS) +Date 2020-06-09 20:23:09 -0700 +Author Shelley Vohr +----------------------------------- Results ------------------------------------ + + + +FAILURE: 5 failures in 2390 not present in 2392 + + +┌────────────────────────┬───────────────────────────┬────────────────────────────┐ +│ (index) │ 0 │ 1 │ +├────────────────────────┼───────────────────────────┼────────────────────────────┤ +│ centos7-ppcle │ 'multer-v1.4.2' │ │ +│ fedora-latest-x64 │ 'spawn-wrap-v2.0.0' │ │ +│ fedora-last-latest-x64 │ │ │ +│ debian9-64 │ 'express-session-v1.17.1' │ 'yeoman-generator-v4.10.1' │ +│ osx1014 │ │ │ +│ rhel7-s390x │ 'torrent-stream-v1.2.0' │ │ +│ aix71-ppc64 │ │ │ +│ ubuntu1604-64 │ │ │ +│ ubuntu1804-64 │ │ │ +└────────────────────────┴───────────────────────────┴────────────────────────────┘ +``` + ### `ncu-ci daily` `ncu-ci daily` show recent results of `node-daily-master`. You can also aggregate the results by passing `--cache`, or limit the maximum number of CIs jobs to get data from with `--limit=N`. See `ncu-ci daily --help` for more. ```sh -node on git:master ❯ ncu-ci daily 12:14PM +node on git:master ❯ ncu-ci daily ✔ Done-------------------------------------------------------------------------------- [1/16] Running health --------------------------------------------------------------------------------