From 25a4e6b1fe06d761ae8cc856f69ee53c845f7dad Mon Sep 17 00:00:00 2001 From: Shogo Hashimoto <5909497+sy-hash@users.noreply.github.com> Date: Thu, 9 May 2019 13:31:23 +0900 Subject: [PATCH] Add support for heroku CI (#127) --- lib/detect.js | 1 + lib/services/heroku.js | 17 +++++++++++++++++ test/services/heroku.test.js | 21 +++++++++++++++++++++ 3 files changed, 39 insertions(+) create mode 100644 lib/services/heroku.js create mode 100644 test/services/heroku.test.js diff --git a/lib/detect.js b/lib/detect.js index d2f12705..48f37b2c 100644 --- a/lib/detect.js +++ b/lib/detect.js @@ -12,6 +12,7 @@ var services = { semaphore: require('./services/semaphore'), snap: require('./services/snap'), gitlab: require('./services/gitlab'), + heroku: require('./services/heroku'), } var detectProvider = function() { diff --git a/lib/services/heroku.js b/lib/services/heroku.js new file mode 100644 index 00000000..eb31eccf --- /dev/null +++ b/lib/services/heroku.js @@ -0,0 +1,17 @@ +// https://devcenter.heroku.com/articles/heroku-ci + +module.exports = { + detect: function() { + return !!process.env.HEROKU_TEST_RUN_ID + }, + + configuration: function() { + console.log(' heroku CI Detected') + return { + service: 'heroku', + build: process.env.HEROKU_TEST_RUN_ID, + commit: process.env.HEROKU_TEST_RUN_COMMIT_VERSION, + branch: process.env.HEROKU_TEST_RUN_BRANCH, + } + }, +} diff --git a/test/services/heroku.test.js b/test/services/heroku.test.js new file mode 100644 index 00000000..95504963 --- /dev/null +++ b/test/services/heroku.test.js @@ -0,0 +1,21 @@ +var heroku = require('../../lib/services/heroku') + +describe('Heroku CI Provider', function() { + it('can detect heroku', function() { + process.env.HEROKU_TEST_RUN_ID = '454f5dc9-afa4-433f-bb28-84678a00fd98' + expect(heroku.detect()).toBe(true) + }) + + it('can get wercker env info', function() { + process.env.HEROKU_TEST_RUN_ID = '454f5dc9-afa4-433f-bb28-84678a00fd98' + process.env.HEROKU_TEST_RUN_COMMIT_VERSION = + '743b04806ea677403aa2ff26c6bdeb85005de658' + process.env.HEROKU_TEST_RUN_BRANCH = 'master' + expect(heroku.configuration()).toEqual({ + service: 'heroku', + commit: '743b04806ea677403aa2ff26c6bdeb85005de658', + build: '454f5dc9-afa4-433f-bb28-84678a00fd98', + branch: 'master', + }) + }) +})