1
1
module CodeClimate
2
2
module TestReporter
3
3
class Ci
4
-
5
4
def self . service_data ( env = ENV )
6
5
if env [ "TRAVIS" ]
7
6
{
8
7
name : "travis-ci" ,
9
8
branch : env [ "TRAVIS_BRANCH" ] ,
10
9
build_identifier : env [ "TRAVIS_JOB_ID" ] ,
11
- pull_request : env [ "TRAVIS_PULL_REQUEST" ]
10
+ pull_request : env [ "TRAVIS_PULL_REQUEST" ] ,
12
11
}
13
12
elsif env [ "CIRCLECI" ]
14
13
{
15
14
name : "circleci" ,
16
15
build_identifier : env [ "CIRCLE_BUILD_NUM" ] ,
17
16
branch : env [ "CIRCLE_BRANCH" ] ,
18
- commit_sha : env [ "CIRCLE_SHA1" ]
17
+ commit_sha : env [ "CIRCLE_SHA1" ] ,
19
18
}
20
19
elsif env [ "SEMAPHORE" ]
21
20
{
22
21
name : "semaphore" ,
23
22
branch : env [ "BRANCH_NAME" ] ,
24
- build_identifier : env [ "SEMAPHORE_BUILD_NUMBER" ]
23
+ build_identifier : env [ "SEMAPHORE_BUILD_NUMBER" ] ,
25
24
}
26
25
elsif env [ "JENKINS_URL" ]
27
26
{
28
27
name : "jenkins" ,
29
28
build_identifier : env [ "BUILD_NUMBER" ] ,
30
29
build_url : env [ "BUILD_URL" ] ,
31
30
branch : env [ "GIT_BRANCH" ] ,
32
- commit_sha : env [ "GIT_COMMIT" ]
31
+ commit_sha : env [ "GIT_COMMIT" ] ,
33
32
}
34
33
elsif env [ "TDDIUM" ]
35
34
{
36
35
name : "tddium" ,
37
36
build_identifier : env [ "TDDIUM_SESSION_ID" ] ,
38
- worker_id : env [ "TDDIUM_TID" ]
37
+ worker_id : env [ "TDDIUM_TID" ] ,
39
38
}
40
39
elsif env [ "WERCKER" ]
41
40
{
42
41
name : "wercker" ,
43
42
build_identifier : env [ "WERCKER_BUILD_ID" ] ,
44
43
build_url : env [ "WERCKER_BUILD_URL" ] ,
45
44
branch : env [ "WERCKER_GIT_BRANCH" ] ,
46
- commit_sha : env [ "WERCKER_GIT_COMMIT" ]
45
+ commit_sha : env [ "WERCKER_GIT_COMMIT" ] ,
47
46
}
48
47
elsif env [ "APPVEYOR" ]
49
48
{
@@ -52,7 +51,7 @@ def self.service_data(env = ENV)
52
51
build_url : env [ "APPVEYOR_API_URL" ] ,
53
52
branch : env [ "APPVEYOR_REPO_BRANCH" ] ,
54
53
commit_sha : env [ "APPVEYOR_REPO_COMMIT" ] ,
55
- pull_request : env [ "APPVEYOR_PULL_REQUEST_NUMBER" ]
54
+ pull_request : env [ "APPVEYOR_PULL_REQUEST_NUMBER" ] ,
56
55
}
57
56
elsif env [ "CI_NAME" ] =~ /DRONE/i
58
57
{
@@ -61,16 +60,18 @@ def self.service_data(env = ENV)
61
60
build_url : env [ "CI_BUILD_URL" ] ,
62
61
branch : env [ "CI_BRANCH" ] ,
63
62
commit_sha : env [ "CI_COMMIT" ] ,
64
- pull_request : env [ "CI_PULL_REQUEST" ]
63
+ pull_request : env [ "CI_PULL_REQUEST" ] ,
65
64
}
66
65
elsif env [ "CI_NAME" ] =~ /codeship/i
67
66
{
68
67
name : "codeship" ,
69
- build_identifier : env [ "CI_BUILD_NUMBER" ] ,
68
+ build_identifier : env [ "CI_BUILD_ID" ] ,
69
+ # build URL cannot be reconstructed for Codeship since env does not contain project ID
70
70
build_url : env [ "CI_BUILD_URL" ] ,
71
71
branch : env [ "CI_BRANCH" ] ,
72
72
commit_sha : env [ "CI_COMMIT_ID" ] ,
73
- committed_at : env [ "CI_COMMITED_AT" ] ,
73
+ # CI timestamp is not quite equivalent to commited at but there's no equivalent in Codeship
74
+ committed_at : env [ "CI_TIMESTAMP" ] ,
74
75
}
75
76
elsif env [ "CI_NAME" ] =~ /VEXOR/i
76
77
{
@@ -79,28 +80,27 @@ def self.service_data(env = ENV)
79
80
build_url : env [ "CI_BUILD_URL" ] ,
80
81
branch : env [ "CI_BRANCH" ] ,
81
82
commit_sha : env [ "CI_BUILD_SHA" ] ,
82
- pull_request : env [ "CI_PULL_REQUEST_ID" ]
83
+ pull_request : env [ "CI_PULL_REQUEST_ID" ] ,
83
84
}
84
85
elsif env [ "BUILDKITE" ]
85
86
{
86
87
name : "buildkite" ,
87
88
build_identifier : env [ "BUILDKITE_JOB_ID" ] ,
88
89
build_url : env [ "BUILDKITE_BUILD_URL" ] ,
89
90
branch : env [ "BUILDKITE_BRANCH" ] ,
90
- commit_sha : env [ "BUILDKITE_COMMIT" ]
91
+ commit_sha : env [ "BUILDKITE_COMMIT" ] ,
91
92
}
92
93
elsif env [ "GITLAB_CI" ]
93
94
{
94
95
name : "gitlab-ci" ,
95
96
build_identifier : env [ "CI_BUILD_ID" ] ,
96
97
branch : env [ "CI_BUILD_REF_NAME" ] ,
97
- commit_sha : env [ "CI_BUILD_REF" ]
98
+ commit_sha : env [ "CI_BUILD_REF" ] ,
98
99
}
99
100
else
100
101
{ }
101
102
end
102
103
end
103
-
104
104
end
105
105
end
106
106
end
0 commit comments