Skip to content

Commit bd9a80f

Browse files
feat: improve CI detection
1 parent ca9197b commit bd9a80f

File tree

1 file changed

+58
-1
lines changed

1 file changed

+58
-1
lines changed

packages/cli/src/utils/telemetry.ts

Lines changed: 58 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,7 @@ export async function sendTelemetry({
7676
exit_code,
7777
execution_time,
7878
metadata: process.env.REDOCLY_CLI_TELEMETRY_METADATA,
79-
environment_ci: process.env.CI,
79+
environment_ci: isCIEnvironment() ? 'true' : 'false',
8080
has_config: typeof config?.document?.parsed === 'undefined' ? 'no' : 'yes',
8181
spec_version,
8282
spec_keyword,
@@ -303,3 +303,60 @@ export const getCachedAnonymousId = (): string | undefined => {
303303
return;
304304
}
305305
};
306+
307+
function isCIEnvironment(): boolean {
308+
if (
309+
process.env.CI ||
310+
process.stdout.isTTY === false ||
311+
process.env.CONTINUOUS_INTEGRATION ||
312+
// GitHub Actions
313+
process.env.GITHUB_ACTIONS ||
314+
// GitLab CI
315+
process.env.GITLAB_CI ||
316+
// Jenkins
317+
process.env.JENKINS_HOME ||
318+
process.env.JENKINS_URL ||
319+
// Generic CI indicators
320+
process.env.BUILD_NUMBER ||
321+
process.env.BUILD_ID ||
322+
// Bitbucket
323+
process.env.BITBUCKET_BUILD_NUMBER ||
324+
process.env.BITBUCKET_COMMIT ||
325+
// CircleCI
326+
process.env.CIRCLECI ||
327+
// Travis CI
328+
process.env.TRAVIS ||
329+
// Azure Pipelines
330+
process.env.TF_BUILD ||
331+
// TeamCity
332+
process.env.TEAMCITY_VERSION ||
333+
// Bamboo
334+
process.env.bamboo_buildNumber ||
335+
// AWS CodeBuild
336+
process.env.CODEBUILD_BUILD_ID ||
337+
// Buildkite
338+
process.env.BUILDKITE ||
339+
// Drone
340+
process.env.DRONE ||
341+
// Semaphore
342+
process.env.SEMAPHORE ||
343+
// AppVeyor
344+
process.env.APPVEYOR ||
345+
// Netlify
346+
process.env.NETLIFY ||
347+
// Vercel
348+
process.env.VERCEL ||
349+
// Render
350+
process.env.RENDER ||
351+
// Heroku
352+
process.env.HEROKU_TEST_RUN_ID ||
353+
// Buddy
354+
process.env.BUDDY_WORKSPACE_ID ||
355+
// CodeShip
356+
process.env.CI_NAME === 'codeship'
357+
) {
358+
return true;
359+
}
360+
361+
return false;
362+
}

0 commit comments

Comments
 (0)