diff options
| -rw-r--r-- | lib/getOptions.js | 5 | ||||
| -rw-r--r-- | test/getOptions.js | 23 |
2 files changed, 28 insertions, 0 deletions
diff --git a/lib/getOptions.js b/lib/getOptions.js index 2536067..bb4248d 100644 --- a/lib/getOptions.js +++ b/lib/getOptions.js @@ -84,6 +84,11 @@ var getBaseOptions = function(cb){ git_commit = process.env.APPVEYOR_REPO_COMMIT; git_branch = process.env.APPVEYOR_REPO_BRANCH; } + if(process.env.SURF_SHA1){ + options.service_name = 'surf'; + git_commit = process.env.SURF_SHA1; + git_branch = process.env.SURF_REF; + } options.run_at = process.env.COVERALLS_RUN_AT || JSON.stringify(new Date()).slice(1, -1); if (process.env.COVERALLS_SERVICE_NAME){ options.service_name = process.env.COVERALLS_SERVICE_NAME; diff --git a/test/getOptions.js b/test/getOptions.js index b82f365..a21c278 100644 --- a/test/getOptions.js +++ b/test/getOptions.js @@ -144,6 +144,9 @@ describe("getOptions", function(){ it ("should set service_name and service_job_id if it's running on Gitlab", function(done){ testGitlab(getOptions, done); }); + it ("should set service_name and service_job_id if it's running via Surf", function(done){ + testSurf(getOptions, done); + }); it ("should override set options with user options", function(done){ var userOptions = {service_name: 'OVERRIDDEN_SERVICE_NAME'}; process.env.COVERALLS_SERVICE_NAME = "SERVICE_NAME"; @@ -421,6 +424,26 @@ var testGitlab = function(sut, done) { }); }; +var testSurf = function(sut, done) { + process.env.CI_NAME = 'surf'; + process.env.SURF_SHA1 = "e3e3e3e3e3e3e3e3e"; + process.env.SURF_REF = "feature"; + sut(function(err, options){ + options.service_name.should.equal("surf"); + options.git.should.eql({ head: + { id: 'e3e3e3e3e3e3e3e3e', + author_name: 'Unknown Author', + author_email: '', + committer_name: 'Unknown Committer', + committer_email: '', + message: 'Unknown Commit Message' }, + branch: 'feature', + remotes: [] }); + done(); + }); +}; + + function ensureLocalGitContext(options) { var path = require('path'); var fs = require('fs'); |
