Support Snap CI
This commit is contained in:
parent
f662a7bdfc
commit
963ee68d8f
38
server.js
38
server.js
|
@ -3984,6 +3984,42 @@ cache(function(data, match, sendBadge, request) {
|
|||
});
|
||||
}));
|
||||
|
||||
// Snap CI build integration.
|
||||
// https://snap-ci.com/snap-ci/snap-deploy/branch/master/build_image
|
||||
camp.route(/^\/snap(-ci?)\/([^\/]+\/[^\/]+)(?:\/(.+))\.(svg|png|gif|jpg|json)$/,
|
||||
cache(function(data, match, sendBadge, request) {
|
||||
var userRepo = match[2];
|
||||
var branch = match[3];
|
||||
var format = match[4];
|
||||
var url = 'https://snap-ci.com/' + userRepo + '/branch/' + branch + '/build_image.svg';
|
||||
|
||||
var badgeData = getBadgeData('build', data);
|
||||
fetchFromSvg(request, url, function(err, res) {
|
||||
if (err != null) {
|
||||
badgeData.text[1] = 'inaccessible';
|
||||
sendBadge(format, badgeData);
|
||||
return;
|
||||
}
|
||||
console.log(badgeData.text[1]);
|
||||
try {
|
||||
badgeData.text[1] = res;
|
||||
if (res === 'Passed') {
|
||||
badgeData.colorscheme = 'brightgreen';
|
||||
} else if (res === 'Failed') {
|
||||
badgeData.colorscheme = 'red';
|
||||
} else {
|
||||
badgeData.text[1] = res;
|
||||
}
|
||||
sendBadge(format, badgeData);
|
||||
|
||||
} catch(e) {
|
||||
badgeData.text[1] = 'invalid';
|
||||
sendBadge(format, badgeData);
|
||||
}
|
||||
});
|
||||
}));
|
||||
|
||||
|
||||
// Any badge.
|
||||
camp.route(/^\/(:|badge\/)(([^-]|--)*?)-(([^-]|--)*)-(([^-]|--)+)\.(svg|png|gif|jpg)$/,
|
||||
function(data, match, end, ask) {
|
||||
|
@ -4195,7 +4231,7 @@ function fetchFromSvg(request, url, cb) {
|
|||
request(url, function(err, res, buffer) {
|
||||
if (err != null) { return cb(err); }
|
||||
try {
|
||||
var badge = buffer.replace(/(?:\r\n\s|\r\s|\n\s)/g, '');
|
||||
var badge = buffer.replace(/(?:\r\n\s*|\r\s*|\n\s*)/g, '');
|
||||
var match = />([^<>]+)<\/text><\/g>/.exec(badge);
|
||||
cb(null, match[1]);
|
||||
} catch(e) {
|
||||
|
|
4
try.html
4
try.html
|
@ -124,6 +124,10 @@ Pixel-perfect Retina-ready Fast Consistent Hackable
|
|||
<td><img src='/shippable/54d119db5ab6cc13528ab183/master.svg' alt=''/></td>
|
||||
<td><code>https://img.shields.io/shippable/54d119db5ab6cc13528ab183/master.svg</code></td>
|
||||
</tr>
|
||||
<tr><th> Snap CI branch: </th>
|
||||
<td><img src='/snap-ci/snap-ci/snap-deploy/master.svg' alt=''/></td>
|
||||
<td><code>https://img.shields.io/snap-ci/snap-ci/snap-deploy/master.svg</code></td>
|
||||
</tr>
|
||||
<tr><th> Jenkins: </th>
|
||||
<td><img src='/jenkins/s/https/jenkins.qa.ubuntu.com/precise-desktop-amd64_default.svg' alt=''/></td>
|
||||
<td><code>https://img.shields.io/jenkins/s/https/jenkins.qa.ubuntu.com/precise-desktop-amd64_default.svg</code></td>
|
||||
|
|
Loading…
Reference in New Issue
Block a user