From 4c2d9e19b0a598919d1dd982e6edc552a799c1b7 Mon Sep 17 00:00:00 2001 From: Zanie Blue Date: Thu, 18 Sep 2025 09:08:58 -0500 Subject: [PATCH] Use `EnvVars` in linehaul (#15931) --- crates/uv-client/src/linehaul.rs | 12 +++++++++--- crates/uv-static/src/env_vars.rs | 12 ++++++++++++ 2 files changed, 21 insertions(+), 3 deletions(-) diff --git a/crates/uv-client/src/linehaul.rs b/crates/uv-client/src/linehaul.rs index d0df585ad..8d159152d 100644 --- a/crates/uv-client/src/linehaul.rs +++ b/crates/uv-client/src/linehaul.rs @@ -5,6 +5,7 @@ use tracing::instrument; use uv_pep508::MarkerEnvironment; use uv_platform_tags::{Os, Platform}; +use uv_static::EnvVars; use uv_version::version; #[derive(Debug, Clone, PartialEq, Deserialize, Serialize)] @@ -64,9 +65,14 @@ impl LineHaul { #[instrument(name = "linehaul", skip_all)] pub fn new(markers: &MarkerEnvironment, platform: Option<&Platform>) -> Self { // https://github.com/pypa/pip/blob/24.0/src/pip/_internal/network/session.py#L87 - let looks_like_ci = ["BUILD_BUILDID", "BUILD_ID", "CI", "PIP_IS_CI"] - .iter() - .find_map(|&var_name| env::var(var_name).ok().map(|_| true)); + let looks_like_ci = [ + EnvVars::BUILD_BUILDID, + EnvVars::BUILD_ID, + EnvVars::CI, + EnvVars::PIP_IS_CI, + ] + .iter() + .find_map(|&var_name| env::var(var_name).ok().map(|_| true)); let libc = match platform.map(Platform::os) { Some(Os::Manylinux { major, minor }) => Some(Libc { diff --git a/crates/uv-static/src/env_vars.rs b/crates/uv-static/src/env_vars.rs index 799b73566..3216009bd 100644 --- a/crates/uv-static/src/env_vars.rs +++ b/crates/uv-static/src/env_vars.rs @@ -662,6 +662,18 @@ impl EnvVars { #[attr_hidden] pub const CI: &'static str = "CI"; + /// Azure DevOps build identifier, used to detect CI environments. + #[attr_hidden] + pub const BUILD_BUILDID: &'static str = "BUILD_BUILDID"; + + /// Generic build identifier, used to detect CI environments. + #[attr_hidden] + pub const BUILD_ID: &'static str = "BUILD_ID"; + + /// Pip environment variable to indicate CI environment. + #[attr_hidden] + pub const PIP_IS_CI: &'static str = "PIP_IS_CI"; + /// Use to set the .netrc file location. pub const NETRC: &'static str = "NETRC";