1 | var services = {
|
2 | travis: require('./services/travis'),
|
3 | circle: require('./services/circle'),
|
4 | cirrus: require('./services/cirrus'),
|
5 | buildkite: require('./services/buildkite'),
|
6 | azurePipelines: require('./services/azurePipelines'),
|
7 | codeship: require('./services/codeship'),
|
8 | drone: require('./services/drone'),
|
9 | appveyor: require('./services/appveyor'),
|
10 | wercker: require('./services/wercker'),
|
11 | jenkins: require('./services/jenkins'),
|
12 | semaphore: require('./services/semaphore'),
|
13 | semaphore2x: require('./services/semaphore2x'),
|
14 | snap: require('./services/snap'),
|
15 | gitlab: require('./services/gitlab'),
|
16 | heroku: require('./services/heroku'),
|
17 | teamcity: require('./services/teamcity'),
|
18 | codebuild: require('./services/codebuild'),
|
19 | }
|
20 |
|
21 | var detectProvider = function() {
|
22 | var config
|
23 | for (var name in services) {
|
24 | if (services[name].detect()) {
|
25 | config = services[name].configuration()
|
26 | break
|
27 | }
|
28 | }
|
29 | if (!config) {
|
30 | var local = require('./services/localGit')
|
31 | config = local.configuration()
|
32 | if (!config) {
|
33 | throw new Error('Unknown CI service provider. Unable to upload coverage.')
|
34 | }
|
35 | }
|
36 | return config
|
37 | }
|
38 |
|
39 | module.exports = detectProvider
|