Merge remote-tracking branch 'therealtbs/master'

This commit is contained in:
Thaddee Tyl 2014-07-30 21:35:27 +02:00
commit fde45337ff
3 changed files with 96 additions and 0 deletions

View File

@ -176,6 +176,14 @@ I made the GitHub Badge Service.
<tr><th> Scrutinizer Coverage: </th>
<td><img src='//img.shields.io/scrutinizer/coverage/g/filp/whoops.svg' alt=''/></td>
<td><code>http://img.shields.io/scrutinizer/coverage/g/filp/whoops.svg</code></td>
<tr><th> Jenkins: </th>
<td><img src='//img.shields.io/jenkins/s/https/jenkins.qa.ubuntu.com/precise-desktop-amd64_default.svg' alt=''/></td>
<td><code>http://img.shields.io/jenkins/s/https/jenkins.qa.ubuntu.com/precise-desktop-amd64_default.svg</code></td>
</tr>
<tr><th> Jenkins tests: </th>
<td><img src='//img.shields.io/jenkins/t/https/jenkins.qa.ubuntu.com/precise-desktop-amd64_default.svg' alt=''/></td>
<td><code>http://img.shields.io/jenkins/t/https/jenkins.qa.ubuntu.com/precise-desktop-amd64_default.svg</code></td>
</tr>
</tbody></table>
<h3> Downloads </h3>
<table><tbody>

View File

@ -1386,6 +1386,86 @@ cache(function(data, match, sendBadge) {
});
}));
// Jenkins build status integration
camp.route(/^\/jenkins(-ci)?\/s\/(http(s)?)\/((?:[^\/]+)(?:\/.+?)?)\/([^\/]+)\.(svg|png|gif|jpg)$/,
cache(function(data, match, sendBadge) {
var scheme = match[2];
var host = match[4];
var job = match[5];
var format = match[6];
var options = {
json: true,
uri: scheme + '://' + host + '/job/' + job + '/api/json?tree=color'
};
var badgeData = getBadgeData('build', data);
request(options, function(err, res, json) {
if (err !== null) {
badgeData.text[1] = 'inaccessible';
sendBadge(format, badgeData);
return;
}
console.log(json);
badgeData.text[1] = 'building';
if (json.color === 'blue') {
badgeData.colorscheme = 'brightgreen';
badgeData.text[1] = 'passing';
} else if (json.color === 'red') {
badgeData.colorscheme = 'red';
badgeData.text[1] = 'failing';
} else if (json.color === 'yellow') {
badgeData.colorscheme = 'yellow';
badgeData.text[1] = 'unstable';
} else if (json.color === 'grey' || json.color === 'disabled' || json.color === 'aborted' || json.color === 'notbuilt') {
badgeData.colorscheme = 'lightgrey';
badgeData.text[1] = 'not built';
}
sendBadge(format, badgeData);
});
}));
// Jenkins tests integration
camp.route(/^\/jenkins(-ci)?\/t\/(http(s)?)\/((?:[^\/]+)(?:\/.+?)?)\/([^\/]+)\.(svg|png|gif|jpg)$/,
cache(function(data, match, sendBadge) {
var scheme = match[2];
var host = match[4];
var job = match[5];
var format = match[6];
var options = {
json: true,
uri: scheme + '://' + host + '/job/' + job + '/lastBuild/api/json?tree=actions[failCount,skipCount,totalCount]'
};
var badgeData = getBadgeData('tests', data);
request(options, function(err, res, json) {
if (err !== null) {
badgeData.text[1] = 'inaccessible';
sendBadge(format, badgeData);
return;
}
var testsObject = json.actions.filter(function (obj) {
return obj.hasOwnProperty('failCount');
})[0];
if (testsObject === undefined) {
badgeData.text[1] = 'inaccessible';
sendBadge(format, badgeData);
return;
}
var successfulTests = testsObject.totalCount - (testsObject.failCount + testsObject.skipCount);
var percent = successfulTests / testsObject.totalCount;
badgeData.text[1] = successfulTests + ' / ' + testsObject.totalCount;
if (percent === 1) {
badgeData.colorscheme = 'brightgreen';
} else if (percent === 0) {
badgeData.colorscheme = 'red';
} else {
badgeData.colorscheme = 'yellow';
}
sendBadge(format, badgeData);
});
}));
// Any badge.
camp.route(/^\/(:|badge\/)(([^-]|--)+)-(([^-]|--)+)-(([^-]|--)+)\.(svg|png|gif|jpg)$/,
function(data, match, end, ask) {

View File

@ -176,6 +176,14 @@ I made the GitHub Badge Service.
<tr><th> Scrutinizer Coverage: </th>
<td><img src='/scrutinizer/coverage/g/filp/whoops.svg' alt=''/></td>
<td><code>http://img.shields.io/scrutinizer/coverage/g/filp/whoops.svg</code></td>
<tr><th> Jenkins: </th>
<td><img src='/jenkins/s/https/jenkins.qa.ubuntu.com/precise-desktop-amd64_default.svg' alt=''/></td>
<td><code>http://img.shields.io/jenkins/s/https/jenkins.qa.ubuntu.com/precise-desktop-amd64_default.svg</code></td>
</tr>
<tr><th> Jenkins tests: </th>
<td><img src='/jenkins/t/https/jenkins.qa.ubuntu.com/precise-desktop-amd64_default.svg' alt=''/></td>
<td><code>http://img.shields.io/jenkins/t/https/jenkins.qa.ubuntu.com/precise-desktop-amd64_default.svg</code></td>
</tr>
</tbody></table>
<h3> Downloads </h3>
<table><tbody>