aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/getOptions.js14
-rw-r--r--test/getOptions.js32
2 files changed, 42 insertions, 4 deletions
diff --git a/lib/getOptions.js b/lib/getOptions.js
index e579eee..bb4248d 100644
--- a/lib/getOptions.js
+++ b/lib/getOptions.js
@@ -9,6 +9,7 @@ var getBaseOptions = function(cb){
var options = {};
var git_commit = process.env.COVERALLS_GIT_COMMIT;
var git_branch = process.env.COVERALLS_GIT_BRANCH;
+ var git_committer_name, git_committer_email, git_message;
var match = (process.env.CI_PULL_REQUEST || "").match(/(\d+)$/);
@@ -57,6 +58,9 @@ var getBaseOptions = function(cb){
options.service_job_id = process.env.CI_BUILD_NUMBER;
git_commit = process.env.CI_COMMIT_ID;
git_branch = process.env.CI_BRANCH;
+ git_committer_name = process.env.CI_COMMITTER_NAME;
+ git_committer_email = process.env.CI_COMMITTER_EMAIL;
+ git_message = process.env.CI_COMMIT_MESSAGE;
}
if (process.env.WERCKER){
@@ -80,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;
@@ -123,7 +132,10 @@ var getBaseOptions = function(cb){
if (git_commit){
fetchGitData({
head: {
- id: git_commit
+ id: git_commit,
+ committer_name: git_committer_name,
+ committer_email: git_committer_email,
+ message: git_message
},
branch: git_branch
}, function(err, git){
diff --git a/test/getOptions.js b/test/getOptions.js
index 98c0ea5..bd38b7c 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";
@@ -338,6 +341,9 @@ var testCodeship = function(sut, done) {
process.env.CI_BUILD_NUMBER = '1234';
process.env.CI_COMMIT_ID = "e3e3e3e3e3e3e3e3e";
process.env.CI_BRANCH = "master";
+ process.env.CI_COMMITTER_NAME = "John Doe";
+ process.env.CI_COMMITTER_EMAIL = "[email protected]";
+ process.env.CI_COMMIT_MESSAGE = "adadadadadadadadadad";
sut(function(err, options){
options.service_name.should.equal("codeship");
options.service_job_id.should.equal("1234");
@@ -345,9 +351,9 @@ var testCodeship = function(sut, done) {
{ id: 'e3e3e3e3e3e3e3e3e',
author_name: 'Unknown Author',
author_email: '',
- committer_name: 'Unknown Committer',
- committer_email: '',
- message: 'Unknown Commit Message' },
+ committer_name: 'John Doe',
+ committer_email: '[email protected]',
+ message: 'adadadadadadadadadad' },
branch: 'master',
remotes: [] });
done();
@@ -418,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');