diff --git a/INSTALL.md b/INSTALL.md index f2a2cbe..792f1ea 100644 --- a/INSTALL.md +++ b/INSTALL.md @@ -126,7 +126,7 @@ heroku open You can build and run the server locally using Docker. First build an image: ```console -$ docker build -t shields ./ +$ docker build -t shields . Sending build context to Docker daemon 3.923 MB Step 0 : FROM node:6.4.0-onbuild … diff --git a/index.html b/index.html index 19c50bf..56cbee4 100644 --- a/index.html +++ b/index.html @@ -973,6 +973,10 @@ Pixel-perfect   Retina-ready   Fast   Consistent   Hackable https://img.shields.io/librariesio/github/phoenixframework/phoenix.svg + NetflixOSS Lifecycle: + + https://img.shields.io/osslifecycle/Netflix/osstracker.svg +

Your Badge

diff --git a/server.js b/server.js index 5176d9b..e5c4e47 100644 --- a/server.js +++ b/server.js @@ -453,6 +453,51 @@ cache(function(data, match, sendBadge, request) { }); })); +// NetflixOSS metadata integration +camp.route(/^\/osslifecycle?\/([^\/]+\/[^\/]+)(?:\/(.+))?\.(svg|png|gif|jpg|json)$/, + cache(function(data, match, sendBadge, request) { + var orgOrUserAndRepo = match[1]; + var branch = match[2]; + var format = match[3]; + var url = 'https://raw.githubusercontent.com/' + orgOrUserAndRepo; + if (branch != null) { + url += "/" + branch + "/OSSMETADATA" + } + else { + url += "/master/OSSMETADATA"; + } + var options = { + method: 'GET', + uri: url + }; + var badgeData = getBadgeData('OSS Lifecycle', data); + request(options, function(err, res, body) { + if (err != null) { + console.error('NetflixOSS error: ' + err.stack); + if (res) { console.error(''+res); } + badgeData.text[1] = 'invalid'; + sendBadge(format, badgeData); + return; + } + try { + var matchStatus = body.match(/osslifecycle\=([a-z]+)/im); + if (matchStatus === null) { + badgeData.text[1] = 'inaccessible'; + sendBadge(format, badgeData); + return; + } else { + badgeData.text[1] = matchStatus[1]; + sendBadge(format, badgeData); + return; + } + } catch(e) { + console.log(e); + badgeData.text[1] = 'inaccessible'; + sendBadge(format, badgeData); + } + }); +})); + // Shippable integration camp.route(/^\/shippable\/([^\/]+)(?:\/(.+))?\.(svg|png|gif|jpg|json)$/, cache(function (data, match, sendBadge, request) { diff --git a/try.html b/try.html index 7619a15..f4c6c87 100644 --- a/try.html +++ b/try.html @@ -972,6 +972,10 @@ Pixel-perfect   Retina-ready   Fast   Consistent   Hackable https://img.shields.io/librariesio/github/phoenixframework/phoenix.svg + NetflixOSS Lifecycle: + + https://img.shields.io/osslifecycle/Netflix/osstracker.svg +

Your Badge