From 3901d15cb5b43322f1abc95b37b3921eca134799 Mon Sep 17 00:00:00 2001 From: Lars Brinkhoff Date: Wed, 2 Dec 2015 09:18:58 +0100 Subject: [PATCH 1/2] New vendor: Magnum CI. --- server.js | 47 +++++++++++++++++++++++++++++++++++++++++++++++ try.html | 8 ++++++++ 2 files changed, 55 insertions(+) diff --git a/server.js b/server.js index c662f13..6f162a9 100644 --- a/server.js +++ b/server.js @@ -3594,6 +3594,53 @@ cache(function(data, match, sendBadge, request) { } }); })); +// Magnum CI integration +camp.route(/^\/magnumci\/([^\/]+)(?:\/(.+))?\.(svg|png|gif|jpg|json)$/, +cache(function(data, match, sendBadge, request) { + var projectId = match[1]; + var format = match[3]; + var branch = match[2]; + var options = { + method: 'GET', + uri: 'https://magnum-ci.com/status/' + projectId + '.png' + }; + if (branch != null) { + options.uri += '?branch=' + branch; + } + var badgeData = getBadgeData('build', data); + request(options, function(err, res) { + if (err != null) { + badgeData.text[1] = 'inaccessible'; + sendBadge(format, badgeData); + return; + } + try { + var statusMatch = res.headers['content-disposition'] + .match(/filename="(.+)\.png"/); + if (!statusMatch) { + badgeData.text[1] = 'unknown'; + sendBadge(format, badgeData); + return; + } + + switch (statusMatch[1]) { + case 'pass': + badgeData.text[1] = 'passing'; + badgeData.colorscheme = 'brightgreen'; + break; + break; + case 'fail': + badgeData.text[1] = 'failing'; + badgeData.colorscheme = 'red'; + break; + } + sendBadge(format, badgeData); + } catch(e) { + badgeData.text[1] = 'not found'; + sendBadge(format, badgeData); + } + }); +})); // Maven-Central artifact version integration // API documentation: http://search.maven.org/#api diff --git a/try.html b/try.html index 2a80513..f67973c 100644 --- a/try.html +++ b/try.html @@ -104,6 +104,14 @@ Pixel-perfect   Retina-ready   Fast   Consistent   Hackable https://img.shields.io/codeship/d6c1ddd0-16a3-0132-5f85-2e35c05e22b1/master.svg + Magnum CI: + + https://img.shields.io/magnumci/96ffb83fa700f069024921b0702e76ff.svg + + Magnum CI: + + https://img.shields.io/magnumci/96ffb83fa700f069024921b0702e76ff/new-meta.svg' + CircleCI: https://img.shields.io/circleci/project/BrightFlair/PHP.Gt.svg From aae1a0c30a99fbbb4aab02931340e9aeac8d2bfe Mon Sep 17 00:00:00 2001 From: Lars Brinkhoff Date: Mon, 14 Dec 2015 08:44:10 +0100 Subject: [PATCH 2/2] Magnum CI fixes after code review. --- server.js | 7 ++++--- try.html | 8 ++++---- 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/server.js b/server.js index 6f162a9..fb18da6 100644 --- a/server.js +++ b/server.js @@ -3594,12 +3594,13 @@ cache(function(data, match, sendBadge, request) { } }); })); + // Magnum CI integration -camp.route(/^\/magnumci\/([^\/]+)(?:\/(.+))?\.(svg|png|gif|jpg|json)$/, +camp.route(/^\/magnumci\/ci\/([^\/]+)(?:\/(.+))?\.(svg|png|gif|jpg|json)$/, cache(function(data, match, sendBadge, request) { - var projectId = match[1]; + var projectId = match[1]; // E.g. 96ffb83fa700f069024921b0702e76ff + var branch = match[2]; // E.g. master var format = match[3]; - var branch = match[2]; var options = { method: 'GET', uri: 'https://magnum-ci.com/status/' + projectId + '.png' diff --git a/try.html b/try.html index f67973c..745d331 100644 --- a/try.html +++ b/try.html @@ -105,12 +105,12 @@ Pixel-perfect   Retina-ready   Fast   Consistent   Hackable https://img.shields.io/codeship/d6c1ddd0-16a3-0132-5f85-2e35c05e22b1/master.svg Magnum CI: - - https://img.shields.io/magnumci/96ffb83fa700f069024921b0702e76ff.svg + + https://img.shields.io/magnumci/ci/96ffb83fa700f069024921b0702e76ff.svg Magnum CI: - - https://img.shields.io/magnumci/96ffb83fa700f069024921b0702e76ff/new-meta.svg' + + https://img.shields.io/magnumci/ci/96ffb83fa700f069024921b0702e76ff/new-meta.svg CircleCI: