Update upstream source from tag 'upstream/3.6.1+_cs1.1.0'
Update to upstream version '3.6.1+~cs1.1.0'
with Debian dir 095ccde629795b5b7af3b56b3c873aba147b7a42
Yadd
1 year, 5 months ago
0 | 0 | # Changelog |
1 | ||
2 | ## v3.6.1 | |
3 | ||
4 | - fix error in typings [357b454](https://github.com/watson/ci-info/commit/357b454) | |
5 | ||
6 | ## v3.6.0 | |
7 | ||
8 | This release attempts to bring parity with [@npmcli/ci-detect](https://github.com/npm/ci-detect). See [#95](https://github.com/watson/ci-info/pull/95) for more details. | |
9 | ||
10 | - support gerrit ([#95](https://github.com/watson/ci-info/pull/95)) | |
11 | - support google cloud build ([#95](https://github.com/watson/ci-info/pull/95)) | |
12 | - support heroku ([#95](https://github.com/watson/ci-info/pull/95)) | |
13 | - support anonymous CI's that exposes BUILD_ID and CI_NAME env vars ([#95](https://github.com/watson/ci-info/pull/95)) | |
14 | - support more vercel environments ([#95](https://github.com/watson/ci-info/pull/95)) | |
1 | 15 | |
2 | 16 | ## v3.5.0 |
3 | 17 |
31 | 31 | |
32 | 32 | Officially supported CI servers: |
33 | 33 | |
34 | | Name | Constant | isPR | | |
35 | | ------------------------------------------------------------------------------- | -------------------- | ---- | | |
36 | | [AWS CodeBuild](https://aws.amazon.com/codebuild/) | `ci.CODEBUILD` | 🚫 | | |
37 | | [AppVeyor](http://www.appveyor.com) | `ci.APPVEYOR` | ✅ | | |
38 | | [Azure Pipelines](https://azure.microsoft.com/en-us/services/devops/pipelines/) | `ci.AZURE_PIPELINES` | ✅ | | |
39 | | [Appcircle](https://appcircle.io/) | `ci.APPCIRCLE` | 🚫 | | |
40 | | [Bamboo](https://www.atlassian.com/software/bamboo) by Atlassian | `ci.BAMBOO` | 🚫 | | |
41 | | [Bitbucket Pipelines](https://bitbucket.org/product/features/pipelines) | `ci.BITBUCKET` | ✅ | | |
42 | | [Bitrise](https://www.bitrise.io/) | `ci.BITRISE` | ✅ | | |
43 | | [Buddy](https://buddy.works/) | `ci.BUDDY` | ✅ | | |
44 | | [Buildkite](https://buildkite.com) | `ci.BUILDKITE` | ✅ | | |
45 | | [CircleCI](http://circleci.com) | `ci.CIRCLE` | ✅ | | |
46 | | [Cirrus CI](https://cirrus-ci.org) | `ci.CIRRUS` | ✅ | | |
47 | | [Codefresh](https://codefresh.io/) | `ci.CODEFRESH` | ✅ | | |
48 | | [Codeship](https://codeship.com) | `ci.CODESHIP` | 🚫 | | |
49 | | [Drone](https://drone.io) | `ci.DRONE` | ✅ | | |
50 | | [dsari](https://github.com/rfinnie/dsari) | `ci.DSARI` | 🚫 | | |
51 | | [Expo Application Services](https://expo.dev/eas) | `ci.EAS` | 🚫 | | |
52 | | [GitHub Actions](https://github.com/features/actions/) | `ci.GITHUB_ACTIONS` | ✅ | | |
53 | | [GitLab CI](https://about.gitlab.com/gitlab-ci/) | `ci.GITLAB` | ✅ | | |
54 | | [GoCD](https://www.go.cd/) | `ci.GOCD` | 🚫 | | |
55 | | [Hudson](http://hudson-ci.org) | `ci.HUDSON` | 🚫 | | |
56 | | [Jenkins CI](https://jenkins-ci.org) | `ci.JENKINS` | ✅ | | |
57 | | [LayerCI](https://layerci.com/) | `ci.LAYERCI` | ✅ | | |
58 | | [Magnum CI](https://magnum-ci.com) | `ci.MAGNUM` | 🚫 | | |
59 | | [Netlify CI](https://www.netlify.com/) | `ci.NETLIFY` | ✅ | | |
60 | | [Nevercode](http://nevercode.io/) | `ci.NEVERCODE` | ✅ | | |
61 | | [Render](https://render.com/) | `ci.RENDER` | ✅ | | |
62 | | [Sail CI](https://sail.ci/) | `ci.SAIL` | ✅ | | |
63 | | [Screwdriver](https://screwdriver.cd/) | `ci.SCREWDRIVER` | ✅ | | |
64 | | [Semaphore](https://semaphoreci.com) | `ci.SEMAPHORE` | ✅ | | |
65 | | [Shippable](https://www.shippable.com/) | `ci.SHIPPABLE` | ✅ | | |
66 | | [Solano CI](https://www.solanolabs.com/) | `ci.SOLANO` | ✅ | | |
67 | | [Strider CD](https://strider-cd.github.io/) | `ci.STRIDER` | 🚫 | | |
68 | | [TaskCluster](http://docs.taskcluster.net) | `ci.TASKCLUSTER` | 🚫 | | |
69 | | [TeamCity](https://www.jetbrains.com/teamcity/) by JetBrains | `ci.TEAMCITY` | 🚫 | | |
70 | | [Travis CI](http://travis-ci.org) | `ci.TRAVIS` | ✅ | | |
71 | | [Vercel](https://vercel.com/) | `ci.VERCEL` | 🚫 | | |
72 | | [Visual Studio App Center](https://appcenter.ms/) | `ci.APPCENTER` | 🚫 | | |
73 | | [Woodpecker](https://woodpecker-ci.org/) | `ci.WOODPECKER` | ✅ | | |
34 | | Name | Constant | isPR | | |
35 | | ------------------------------------------------------------------------------- | -------------------- | ---- | | |
36 | | [AWS CodeBuild](https://aws.amazon.com/codebuild/) | `ci.CODEBUILD` | 🚫 | | |
37 | | [AppVeyor](http://www.appveyor.com) | `ci.APPVEYOR` | ✅ | | |
38 | | [Azure Pipelines](https://azure.microsoft.com/en-us/services/devops/pipelines/) | `ci.AZURE_PIPELINES` | ✅ | | |
39 | | [Appcircle](https://appcircle.io/) | `ci.APPCIRCLE` | 🚫 | | |
40 | | [Bamboo](https://www.atlassian.com/software/bamboo) by Atlassian | `ci.BAMBOO` | 🚫 | | |
41 | | [Bitbucket Pipelines](https://bitbucket.org/product/features/pipelines) | `ci.BITBUCKET` | ✅ | | |
42 | | [Bitrise](https://www.bitrise.io/) | `ci.BITRISE` | ✅ | | |
43 | | [Buddy](https://buddy.works/) | `ci.BUDDY` | ✅ | | |
44 | | [Buildkite](https://buildkite.com) | `ci.BUILDKITE` | ✅ | | |
45 | | [CircleCI](http://circleci.com) | `ci.CIRCLE` | ✅ | | |
46 | | [Cirrus CI](https://cirrus-ci.org) | `ci.CIRRUS` | ✅ | | |
47 | | [Codefresh](https://codefresh.io/) | `ci.CODEFRESH` | ✅ | | |
48 | | [Codeship](https://codeship.com) | `ci.CODESHIP` | 🚫 | | |
49 | | [Drone](https://drone.io) | `ci.DRONE` | ✅ | | |
50 | | [dsari](https://github.com/rfinnie/dsari) | `ci.DSARI` | 🚫 | | |
51 | | [Expo Application Services](https://expo.dev/eas) | `ci.EAS` | 🚫 | | |
52 | | [Gerrit CI](https://www.gerritcodereview.com) | `ci.GERRIT` | 🚫 | | |
53 | | [GitHub Actions](https://github.com/features/actions/) | `ci.GITHUB_ACTIONS` | ✅ | | |
54 | | [GitLab CI](https://about.gitlab.com/gitlab-ci/) | `ci.GITLAB` | ✅ | | |
55 | | [GoCD](https://www.go.cd/) | `ci.GOCD` | 🚫 | | |
56 | | [Google Cloud Build](https://cloud.google.com/build) | `ci.GOOGLE_CLOUD_BUILD` | 🚫 | | |
57 | | [Heroku](https://www.heroku.com) | `ci.HEROKU` | 🚫 | | |
58 | | [Hudson](http://hudson-ci.org) | `ci.HUDSON` | 🚫 | | |
59 | | [Jenkins CI](https://jenkins-ci.org) | `ci.JENKINS` | ✅ | | |
60 | | [LayerCI](https://layerci.com/) | `ci.LAYERCI` | ✅ | | |
61 | | [Magnum CI](https://magnum-ci.com) | `ci.MAGNUM` | 🚫 | | |
62 | | [Netlify CI](https://www.netlify.com/) | `ci.NETLIFY` | ✅ | | |
63 | | [Nevercode](http://nevercode.io/) | `ci.NEVERCODE` | ✅ | | |
64 | | [Render](https://render.com/) | `ci.RENDER` | ✅ | | |
65 | | [Sail CI](https://sail.ci/) | `ci.SAIL` | ✅ | | |
66 | | [Screwdriver](https://screwdriver.cd/) | `ci.SCREWDRIVER` | ✅ | | |
67 | | [Semaphore](https://semaphoreci.com) | `ci.SEMAPHORE` | ✅ | | |
68 | | [Shippable](https://www.shippable.com/) | `ci.SHIPPABLE` | ✅ | | |
69 | | [Solano CI](https://www.solanolabs.com/) | `ci.SOLANO` | ✅ | | |
70 | | [Strider CD](https://strider-cd.github.io/) | `ci.STRIDER` | 🚫 | | |
71 | | [TaskCluster](http://docs.taskcluster.net) | `ci.TASKCLUSTER` | 🚫 | | |
72 | | [TeamCity](https://www.jetbrains.com/teamcity/) by JetBrains | `ci.TEAMCITY` | 🚫 | | |
73 | | [Travis CI](http://travis-ci.org) | `ci.TRAVIS` | ✅ | | |
74 | | [Vercel](https://vercel.com/) | `ci.VERCEL` | 🚫 | | |
75 | | [Visual Studio App Center](https://appcenter.ms/) | `ci.APPCENTER` | 🚫 | | |
76 | | [Woodpecker](https://woodpecker-ci.org/) | `ci.WOODPECKER` | ✅ | | |
74 | 77 | |
75 | 78 | ## API |
76 | 79 | |
121 | 124 | |----------|------------| |
122 | 125 | | Go | https://github.com/hofstadter-io/cinful | |
123 | 126 | | Rust | https://github.com/sagiegurari/ci_info | |
127 | | Kotlin | https://github.com/cloudflightio/ci-info | | |
124 | 128 | |
125 | 129 | ## License |
126 | 130 |
40 | 40 | export const DRONE: boolean; |
41 | 41 | export const DSARI: boolean; |
42 | 42 | export const EAS: boolean; |
43 | export const GERRIT: boolean; | |
43 | 44 | export const GITHUB_ACTIONS: boolean; |
44 | 45 | export const GITLAB: boolean; |
45 | 46 | export const GOCD: boolean; |
47 | export const GOOGLE_CLOUD_BUILD: boolean; | |
48 | export const HEROKU: boolean; | |
46 | 49 | export const HUDSON: boolean; |
47 | 50 | export const JENKINS: boolean; |
48 | 51 | export const LAYERCI: boolean; |
53 | 53 | }) |
54 | 54 | |
55 | 55 | exports.isCI = !!( |
56 | env.BUILD_ID || // Jenkins, Cloudbees | |
57 | env.BUILD_NUMBER || // Jenkins, TeamCity | |
56 | 58 | env.CI || // Travis CI, CircleCI, Cirrus CI, Gitlab CI, Appveyor, CodeShip, dsari |
57 | env.CONTINUOUS_INTEGRATION || // Travis CI, Cirrus CI | |
58 | env.BUILD_NUMBER || // Jenkins, TeamCity | |
59 | 59 | env.CI_APP_ID || // Appflow |
60 | 60 | env.CI_BUILD_ID || // Appflow |
61 | 61 | env.CI_BUILD_NUMBER || // Appflow |
62 | env.CI_NAME || // Codeship and others | |
63 | env.CONTINUOUS_INTEGRATION || // Travis CI, Cirrus CI | |
62 | 64 | env.RUN_ID || // TaskCluster, dsari |
63 | 65 | exports.name || |
64 | 66 | false |
65 | 67 | ) |
66 | 68 | |
67 | 69 | function checkEnv (obj) { |
70 | // "env": "CIRRUS" | |
68 | 71 | if (typeof obj === 'string') return !!env[obj] |
72 | ||
73 | // "env": { "env": "NODE", "includes": "/app/.heroku/node/bin/node" } | |
74 | if ('env' in obj) { | |
75 | // Currently there are no other types, uncomment when there are | |
76 | // if ('includes' in obj) { | |
77 | return env[obj.env] && env[obj.env].includes(obj.includes) | |
78 | // } | |
79 | } | |
80 | if ('any' in obj) { | |
81 | return obj.any.some(function (k) { | |
82 | return !!env[k] | |
83 | }) | |
84 | } | |
69 | 85 | return Object.keys(obj).every(function (k) { |
70 | 86 | return env[k] === obj[k] |
71 | 87 | }) |
0 | 0 | { |
1 | 1 | "name": "ci-info", |
2 | "version": "3.5.0", | |
2 | "version": "3.6.1", | |
3 | 3 | "description": "Get details about the current Continuous Integration environment", |
4 | 4 | "main": "index.js", |
5 | 5 | "typings": "index.d.ts", |
28 | 28 | "devDependencies": { |
29 | 29 | "clear-module": "^4.1.2", |
30 | 30 | "standard": "^17.0.0", |
31 | "tape": "^5.6.0" | |
31 | "tape": "^5.6.1" | |
32 | }, | |
33 | "engines": { | |
34 | "node": ">=8" | |
32 | 35 | } |
33 | 36 | } |
57 | 57 | |
58 | 58 | test('Anonymous CI', function (t) { |
59 | 59 | const ANONYMOUS_ENV_VARS = [ |
60 | 'CI', 'CONTINUOUS_INTEGRATION', 'BUILD_NUMBER', | |
61 | 'CI_APP_ID', 'CI_BUILD_ID', 'CI_BUILD_NUMBER', | |
62 | 'RUN_ID' | |
60 | 'CI', 'CONTINUOUS_INTEGRATION', 'BUILD_ID', | |
61 | 'BUILD_NUMBER', 'CI_APP_ID', 'CI_BUILD_ID', | |
62 | 'CI_BUILD_NUMBER', 'RUN_ID', 'CI_NAME' | |
63 | 63 | ] |
64 | 64 | |
65 | 65 | for (const envVar in ANONYMOUS_ENV_VARS) { |
605 | 605 | t.end() |
606 | 606 | }) |
607 | 607 | |
608 | test('Vercel', function (t) { | |
608 | test('Vercel - NOW_BUILDER', function (t) { | |
609 | 609 | process.env.NOW_BUILDER = '1' |
610 | 610 | |
611 | 611 | clearModule('./') |
622 | 622 | t.end() |
623 | 623 | }) |
624 | 624 | |
625 | test('Vercel - VERCEL_URL', function (t) { | |
626 | process.env.VERCEL_URL = '1' | |
627 | ||
628 | clearModule('./') | |
629 | const ci = require('./') | |
630 | ||
631 | t.equal(ci.isCI, true) | |
632 | t.equal(ci.isPR, null) | |
633 | t.equal(ci.name, 'Vercel') | |
634 | t.equal(ci.VERCEL, true) | |
635 | assertVendorConstants('VERCEL', ci, t) | |
636 | ||
637 | delete process.env.VERCEL_URL | |
638 | ||
639 | t.end() | |
640 | }) | |
641 | ||
625 | 642 | test('Nevercode - PR', function (t) { |
626 | 643 | process.env.NEVERCODE = 'true' |
627 | 644 | process.env.NEVERCODE_PULL_REQUEST = 'true' |
856 | 873 | |
857 | 874 | delete process.env.XCS |
858 | 875 | |
876 | t.end() | |
877 | }) | |
878 | ||
879 | test('Heroku', function (t) { | |
880 | const realNode = process.env.NODE | |
881 | process.env.NODE = '/extra/content/app/.heroku/node/bin/node --extra --content' | |
882 | ||
883 | clearModule('./') | |
884 | const ci = require('./') | |
885 | ||
886 | t.equal(ci.isCI, true) | |
887 | t.equal(ci.name, 'Heroku') | |
888 | t.equal(ci.HEROKU, true) | |
889 | assertVendorConstants('HEROKU', ci, t) | |
890 | ||
891 | process.env.NODE = realNode | |
859 | 892 | t.end() |
860 | 893 | }) |
861 | 894 |
0 | 0 | [ |
1 | { | |
2 | "name": "Appcircle", | |
3 | "constant": "APPCIRCLE", | |
4 | "env": "AC_APPCIRCLE" | |
5 | }, | |
1 | 6 | { |
2 | 7 | "name": "AppVeyor", |
3 | 8 | "constant": "APPVEYOR", |
5 | 10 | "pr": "APPVEYOR_PULL_REQUEST_NUMBER" |
6 | 11 | }, |
7 | 12 | { |
13 | "name": "AWS CodeBuild", | |
14 | "constant": "CODEBUILD", | |
15 | "env": "CODEBUILD_BUILD_ARN" | |
16 | }, | |
17 | { | |
8 | 18 | "name": "Azure Pipelines", |
9 | 19 | "constant": "AZURE_PIPELINES", |
10 | 20 | "env": "SYSTEM_TEAMFOUNDATIONCOLLECTIONURI", |
11 | 21 | "pr": "SYSTEM_PULLREQUEST_PULLREQUESTID" |
12 | 22 | }, |
13 | 23 | { |
14 | "name": "Appcircle", | |
15 | "constant": "APPCIRCLE", | |
16 | "env": "AC_APPCIRCLE" | |
17 | }, | |
18 | { | |
19 | 24 | "name": "Bamboo", |
20 | 25 | "constant": "BAMBOO", |
21 | 26 | "env": "bamboo_planKey" |
57 | 62 | "pr": "CIRRUS_PR" |
58 | 63 | }, |
59 | 64 | { |
65 | "name": "Codefresh", | |
66 | "constant": "CODEFRESH", | |
67 | "env": "CF_BUILD_ID", | |
68 | "pr": { "any": ["CF_PULL_REQUEST_NUMBER", "CF_PULL_REQUEST_ID"] } | |
69 | }, | |
70 | { | |
60 | 71 | "name": "Codemagic", |
61 | 72 | "constant": "CODEMAGIC", |
62 | 73 | "env": "CM_BUILD_ID", |
63 | 74 | "pr": "CM_PULL_REQUEST" |
64 | 75 | }, |
65 | 76 | { |
66 | "name": "AWS CodeBuild", | |
67 | "constant": "CODEBUILD", | |
68 | "env": "CODEBUILD_BUILD_ARN" | |
69 | }, | |
70 | { | |
71 | "name": "Codefresh", | |
72 | "constant": "CODEFRESH", | |
73 | "env": "CF_BUILD_ID", | |
74 | "pr": { "any": ["CF_PULL_REQUEST_NUMBER", "CF_PULL_REQUEST_ID"] } | |
75 | }, | |
76 | { | |
77 | 77 | "name": "Codeship", |
78 | 78 | "constant": "CODESHIP", |
79 | 79 | "env": { "CI_NAME": "codeship" } |
85 | 85 | "pr": { "DRONE_BUILD_EVENT": "pull_request" } |
86 | 86 | }, |
87 | 87 | { |
88 | "name": "dsari", | |
89 | "constant": "DSARI", | |
90 | "env": "DSARI" | |
91 | }, | |
92 | { | |
93 | "name": "Expo Application Services", | |
94 | "constant": "EAS", | |
95 | "env": "EAS_BUILD" | |
96 | }, | |
97 | { | |
98 | "name": "GitHub Actions", | |
99 | "constant": "GITHUB_ACTIONS", | |
100 | "env": "GITHUB_ACTIONS", | |
101 | "pr": { "GITHUB_EVENT_NAME": "pull_request" } | |
102 | }, | |
103 | { | |
104 | "name": "GitLab CI", | |
105 | "constant": "GITLAB", | |
106 | "env": "GITLAB_CI", | |
107 | "pr": "CI_MERGE_REQUEST_ID" | |
108 | }, | |
109 | { | |
110 | "name": "GoCD", | |
111 | "constant": "GOCD", | |
112 | "env": "GO_PIPELINE_LABEL" | |
113 | }, | |
114 | { | |
115 | "name": "Google Cloud Build", | |
116 | "constant": "GOOGLE_CLOUD_BUILD", | |
117 | "env": "BUILDER_OUTPUT" | |
118 | }, | |
119 | { | |
120 | "name": "LayerCI", | |
121 | "constant": "LAYERCI", | |
122 | "env": "LAYERCI", | |
123 | "pr": "LAYERCI_PULL_REQUEST" | |
124 | }, | |
125 | { | |
126 | "name": "Gerrit", | |
127 | "constant": "GERRIT", | |
128 | "env": "GERRIT_PROJECT" | |
129 | }, | |
130 | { | |
131 | "name": "Heroku", | |
132 | "constant": "HEROKU", | |
133 | "env": { "env": "NODE", "includes": "/app/.heroku/node/bin/node" } | |
134 | }, | |
135 | { | |
136 | "name": "Hudson", | |
137 | "constant": "HUDSON", | |
138 | "env": "HUDSON_URL" | |
139 | }, | |
140 | { | |
141 | "name": "Jenkins", | |
142 | "constant": "JENKINS", | |
143 | "env": ["JENKINS_URL", "BUILD_ID"], | |
144 | "pr": { "any": ["ghprbPullId", "CHANGE_ID"] } | |
145 | }, | |
146 | { | |
147 | "name": "Magnum CI", | |
148 | "constant": "MAGNUM", | |
149 | "env": "MAGNUM" | |
150 | }, | |
151 | { | |
152 | "name": "Netlify CI", | |
153 | "constant": "NETLIFY", | |
154 | "env": "NETLIFY", | |
155 | "pr": { "env": "PULL_REQUEST", "ne": "false" } | |
156 | }, | |
157 | { | |
158 | "name": "Nevercode", | |
159 | "constant": "NEVERCODE", | |
160 | "env": "NEVERCODE", | |
161 | "pr": { "env": "NEVERCODE_PULL_REQUEST", "ne": "false" } | |
162 | }, | |
163 | { | |
164 | "name": "Render", | |
165 | "constant": "RENDER", | |
166 | "env": "RENDER", | |
167 | "pr": { "IS_PULL_REQUEST": "true" } | |
168 | }, | |
169 | { | |
170 | "name": "Sail CI", | |
171 | "constant": "SAIL", | |
172 | "env": "SAILCI", | |
173 | "pr": "SAIL_PULL_REQUEST_NUMBER" | |
174 | }, | |
175 | { | |
176 | "name": "Screwdriver", | |
177 | "constant": "SCREWDRIVER", | |
178 | "env": "SCREWDRIVER", | |
179 | "pr": { "env": "SD_PULL_REQUEST", "ne": "false" } | |
180 | }, | |
181 | { | |
182 | "name": "Semaphore", | |
183 | "constant": "SEMAPHORE", | |
184 | "env": "SEMAPHORE", | |
185 | "pr": "PULL_REQUEST_NUMBER" | |
186 | }, | |
187 | { | |
188 | "name": "Shippable", | |
189 | "constant": "SHIPPABLE", | |
190 | "env": "SHIPPABLE", | |
191 | "pr": { "IS_PULL_REQUEST": "true" } | |
192 | }, | |
193 | { | |
194 | "name": "Solano CI", | |
195 | "constant": "SOLANO", | |
196 | "env": "TDDIUM", | |
197 | "pr": "TDDIUM_PR_ID" | |
198 | }, | |
199 | { | |
200 | "name": "Strider CD", | |
201 | "constant": "STRIDER", | |
202 | "env": "STRIDER" | |
203 | }, | |
204 | { | |
205 | "name": "TaskCluster", | |
206 | "constant": "TASKCLUSTER", | |
207 | "env": ["TASK_ID", "RUN_ID"] | |
208 | }, | |
209 | { | |
210 | "name": "TeamCity", | |
211 | "constant": "TEAMCITY", | |
212 | "env": "TEAMCITY_VERSION" | |
213 | }, | |
214 | { | |
215 | "name": "Travis CI", | |
216 | "constant": "TRAVIS", | |
217 | "env": "TRAVIS", | |
218 | "pr": { "env": "TRAVIS_PULL_REQUEST", "ne": "false" } | |
219 | }, | |
220 | { | |
221 | "name": "Vercel", | |
222 | "constant": "VERCEL", | |
223 | "env": { "any": ["NOW_BUILDER", "VERCEL_URL"] } | |
224 | }, | |
225 | { | |
226 | "name": "Visual Studio App Center", | |
227 | "constant": "APPCENTER", | |
228 | "env": "APPCENTER_BUILD_ID" | |
229 | }, | |
230 | { | |
88 | 231 | "name": "Woodpecker", |
89 | 232 | "constant": "WOODPECKER", |
90 | 233 | "env": { "CI": "woodpecker" }, |
91 | 234 | "pr": { "CI_BUILD_EVENT": "pull_request" } |
92 | }, | |
93 | { | |
94 | "name": "dsari", | |
95 | "constant": "DSARI", | |
96 | "env": "DSARI" | |
97 | }, | |
98 | { | |
99 | "name": "Expo Application Services", | |
100 | "constant": "EAS", | |
101 | "env": "EAS_BUILD" | |
102 | }, | |
103 | { | |
104 | "name": "GitHub Actions", | |
105 | "constant": "GITHUB_ACTIONS", | |
106 | "env": "GITHUB_ACTIONS", | |
107 | "pr": { "GITHUB_EVENT_NAME": "pull_request" } | |
108 | }, | |
109 | { | |
110 | "name": "GitLab CI", | |
111 | "constant": "GITLAB", | |
112 | "env": "GITLAB_CI", | |
113 | "pr": "CI_MERGE_REQUEST_ID" | |
114 | }, | |
115 | { | |
116 | "name": "GoCD", | |
117 | "constant": "GOCD", | |
118 | "env": "GO_PIPELINE_LABEL" | |
119 | }, | |
120 | { | |
121 | "name": "LayerCI", | |
122 | "constant": "LAYERCI", | |
123 | "env": "LAYERCI", | |
124 | "pr": "LAYERCI_PULL_REQUEST" | |
125 | }, | |
126 | { | |
127 | "name": "Hudson", | |
128 | "constant": "HUDSON", | |
129 | "env": "HUDSON_URL" | |
130 | }, | |
131 | { | |
132 | "name": "Jenkins", | |
133 | "constant": "JENKINS", | |
134 | "env": ["JENKINS_URL", "BUILD_ID"], | |
135 | "pr": { "any": ["ghprbPullId", "CHANGE_ID"] } | |
136 | }, | |
137 | { | |
138 | "name": "Magnum CI", | |
139 | "constant": "MAGNUM", | |
140 | "env": "MAGNUM" | |
141 | }, | |
142 | { | |
143 | "name": "Netlify CI", | |
144 | "constant": "NETLIFY", | |
145 | "env": "NETLIFY", | |
146 | "pr": { "env": "PULL_REQUEST", "ne": "false" } | |
147 | }, | |
148 | { | |
149 | "name": "Nevercode", | |
150 | "constant": "NEVERCODE", | |
151 | "env": "NEVERCODE", | |
152 | "pr": { "env": "NEVERCODE_PULL_REQUEST", "ne": "false" } | |
153 | }, | |
154 | { | |
155 | "name": "Render", | |
156 | "constant": "RENDER", | |
157 | "env": "RENDER", | |
158 | "pr": { "IS_PULL_REQUEST": "true" } | |
159 | }, | |
160 | { | |
161 | "name": "Sail CI", | |
162 | "constant": "SAIL", | |
163 | "env": "SAILCI", | |
164 | "pr": "SAIL_PULL_REQUEST_NUMBER" | |
165 | }, | |
166 | { | |
167 | "name": "Semaphore", | |
168 | "constant": "SEMAPHORE", | |
169 | "env": "SEMAPHORE", | |
170 | "pr": "PULL_REQUEST_NUMBER" | |
171 | }, | |
172 | { | |
173 | "name": "Screwdriver", | |
174 | "constant": "SCREWDRIVER", | |
175 | "env": "SCREWDRIVER", | |
176 | "pr": { "env": "SD_PULL_REQUEST", "ne": "false" } | |
177 | }, | |
178 | { | |
179 | "name": "Shippable", | |
180 | "constant": "SHIPPABLE", | |
181 | "env": "SHIPPABLE", | |
182 | "pr": { "IS_PULL_REQUEST": "true" } | |
183 | }, | |
184 | { | |
185 | "name": "Solano CI", | |
186 | "constant": "SOLANO", | |
187 | "env": "TDDIUM", | |
188 | "pr": "TDDIUM_PR_ID" | |
189 | }, | |
190 | { | |
191 | "name": "Strider CD", | |
192 | "constant": "STRIDER", | |
193 | "env": "STRIDER" | |
194 | }, | |
195 | { | |
196 | "name": "TaskCluster", | |
197 | "constant": "TASKCLUSTER", | |
198 | "env": ["TASK_ID", "RUN_ID"] | |
199 | }, | |
200 | { | |
201 | "name": "TeamCity", | |
202 | "constant": "TEAMCITY", | |
203 | "env": "TEAMCITY_VERSION" | |
204 | }, | |
205 | { | |
206 | "name": "Travis CI", | |
207 | "constant": "TRAVIS", | |
208 | "env": "TRAVIS", | |
209 | "pr": { "env": "TRAVIS_PULL_REQUEST", "ne": "false" } | |
210 | }, | |
211 | { | |
212 | "name": "Vercel", | |
213 | "constant": "VERCEL", | |
214 | "env": "NOW_BUILDER" | |
215 | }, | |
216 | { | |
217 | "name": "Visual Studio App Center", | |
218 | "constant": "APPCENTER", | |
219 | "env": "APPCENTER_BUILD_ID" | |
220 | 235 | }, |
221 | 236 | { |
222 | 237 | "name": "Xcode Cloud", |