Skip to content

Commit c605f87

Browse files
runningcodeclaude
andcommitted
refactor(ci): Align CI detection with sentry-android-gradle-plugin
Match the original implementation exactly: - Replace CONTINUOUS_INTEGRATION with actual CI-specific variables - Replace BUILD_NUMBER with JENKINS_URL (already present) - Replace CIRCLECI with CIRCLE_BUILD_URL - Replace TRAVIS with TRAVIS_JOB_ID - Remove BITBUCKET_BUILD_NUMBER (not in original) - Add bamboo_resultsUrl (Bamboo) - Add BITRISE_BUILD_URL (Bitrise) - Add GO_SERVER_URL (GoCD) - Add TF_BUILD (Azure Pipelines) This provides more accurate CI detection by checking platform-specific variables rather than generic ones. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <[email protected]>
1 parent aa688f2 commit c605f87

File tree

1 file changed

+23
-18
lines changed

1 file changed

+23
-18
lines changed

src/utils/ci.rs

Lines changed: 23 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -5,27 +5,31 @@ use std::env;
55
/// This checks environment variables that are commonly set by CI providers like:
66
/// - GitHub Actions
77
/// - GitLab CI
8-
/// - Jenkins
8+
/// - Jenkins / Hudson
99
/// - CircleCI
1010
/// - Travis CI
11-
/// - Bitbucket Pipelines
12-
/// - And many others
11+
/// - TeamCity
12+
/// - Bamboo
13+
/// - Bitrise
14+
/// - GoCD
15+
/// - Azure Pipelines
16+
/// - Buildkite
1317
///
1418
/// Based on: https://github.com/getsentry/sentry-android-gradle-plugin/blob/15068f51fee344c00efdbec5a172297be4719b86/plugin-build/src/main/kotlin/io/sentry/android/gradle/util/CI.kt#L9
1519
pub fn is_ci() -> bool {
16-
// Check common CI environment variables
1720
env::var("CI").is_ok()
18-
|| env::var("CONTINUOUS_INTEGRATION").is_ok()
19-
|| env::var("BUILD_NUMBER").is_ok()
2021
|| env::var("JENKINS_URL").is_ok()
22+
|| env::var("HUDSON_URL").is_ok()
23+
|| env::var("TEAMCITY_VERSION").is_ok()
24+
|| env::var("CIRCLE_BUILD_URL").is_ok()
25+
|| env::var("bamboo_resultsUrl").is_ok()
2126
|| env::var("GITHUB_ACTIONS").is_ok()
2227
|| env::var("GITLAB_CI").is_ok()
23-
|| env::var("CIRCLECI").is_ok()
24-
|| env::var("TRAVIS").is_ok()
25-
|| env::var("BITBUCKET_BUILD_NUMBER").is_ok()
26-
|| env::var("TEAMCITY_VERSION").is_ok()
28+
|| env::var("TRAVIS_JOB_ID").is_ok()
29+
|| env::var("BITRISE_BUILD_URL").is_ok()
30+
|| env::var("GO_SERVER_URL").is_ok()
31+
|| env::var("TF_BUILD").is_ok()
2732
|| env::var("BUILDKITE").is_ok()
28-
|| env::var("HUDSON_URL").is_ok()
2933
}
3034

3135
#[cfg(test)]
@@ -52,17 +56,18 @@ mod tests {
5256
// Clear all CI-related env vars
5357
let ci_vars = [
5458
"CI",
55-
"CONTINUOUS_INTEGRATION",
56-
"BUILD_NUMBER",
5759
"JENKINS_URL",
60+
"HUDSON_URL",
61+
"TEAMCITY_VERSION",
62+
"CIRCLE_BUILD_URL",
63+
"bamboo_resultsUrl",
5864
"GITHUB_ACTIONS",
5965
"GITLAB_CI",
60-
"CIRCLECI",
61-
"TRAVIS",
62-
"BITBUCKET_BUILD_NUMBER",
63-
"TEAMCITY_VERSION",
66+
"TRAVIS_JOB_ID",
67+
"BITRISE_BUILD_URL",
68+
"GO_SERVER_URL",
69+
"TF_BUILD",
6470
"BUILDKITE",
65-
"HUDSON_URL",
6671
];
6772

6873
for var in &ci_vars {

0 commit comments

Comments
 (0)