From 98829c46a017b7f4d5bb9a0b48bb98bd2382d1f1 Mon Sep 17 00:00:00 2001 From: Steven Silvester Date: Fri, 4 Apr 2025 18:12:23 -0500 Subject: [PATCH 1/6] PYTHON-5268 Fix handling of PYTHON_BINARY --- .evergreen/scripts/setup-dev-env.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.evergreen/scripts/setup-dev-env.sh b/.evergreen/scripts/setup-dev-env.sh index 3051c9aad7..853e28af41 100755 --- a/.evergreen/scripts/setup-dev-env.sh +++ b/.evergreen/scripts/setup-dev-env.sh @@ -31,7 +31,7 @@ if [ -z "${PYTHON_BINARY:-}" ]; then fi fi export UV_PYTHON=${PYTHON_BINARY} -echo "export UV_PYTHON=$UV_PYTHON" >> $HERE/env.sh +echo "export PYTHON_BINARY=$PYTHON_BINARY" >> $HERE/env.sh echo "Using python $UV_PYTHON" # Add the default install path to the path if needed. From 210825919c8dc88f23b0d07385e59d3a14045eb9 Mon Sep 17 00:00:00 2001 From: Steven Silvester Date: Fri, 4 Apr 2025 18:18:01 -0500 Subject: [PATCH 2/6] cleanup --- .evergreen/scripts/setup-dev-env.sh | 3 +-- .evergreen/scripts/setup_tests.py | 9 ++++++++- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/.evergreen/scripts/setup-dev-env.sh b/.evergreen/scripts/setup-dev-env.sh index 853e28af41..a5a96d7c20 100755 --- a/.evergreen/scripts/setup-dev-env.sh +++ b/.evergreen/scripts/setup-dev-env.sh @@ -11,7 +11,7 @@ pushd $ROOT > /dev/null if [ -f $HERE/env.sh ]; then . $HERE/env.sh fi -# PYTHON_BINARY may be defined in test-env.sh. +# PYTHON_BINARY or PYTHON_VERSION may be defined in test-env.sh. if [ -f $HERE/test-env.sh ]; then . $HERE/test-env.sh fi @@ -31,7 +31,6 @@ if [ -z "${PYTHON_BINARY:-}" ]; then fi fi export UV_PYTHON=${PYTHON_BINARY} -echo "export PYTHON_BINARY=$PYTHON_BINARY" >> $HERE/env.sh echo "Using python $UV_PYTHON" # Add the default install path to the path if needed. diff --git a/.evergreen/scripts/setup_tests.py b/.evergreen/scripts/setup_tests.py index fc2cadf61d..deb6f2c67f 100644 --- a/.evergreen/scripts/setup_tests.py +++ b/.evergreen/scripts/setup_tests.py @@ -26,7 +26,14 @@ ) # Passthrough environment variables. -PASS_THROUGH_ENV = ["GREEN_FRAMEWORK", "NO_EXT", "MONGODB_API_VERSION", "DEBUG_LOG"] +PASS_THROUGH_ENV = [ + "GREEN_FRAMEWORK", + "NO_EXT", + "MONGODB_API_VERSION", + "DEBUG_LOG", + "PYTHON_BINARY", + "PYTHON_VERSION", +] # Map the test name to test extra. EXTRAS_MAP = { From 16819b16ccb272f60008a280447c9a470ceef8ba Mon Sep 17 00:00:00 2001 From: Steven Silvester Date: Fri, 4 Apr 2025 20:00:13 -0500 Subject: [PATCH 3/6] handle pass through var --- .evergreen/scripts/setup_tests.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.evergreen/scripts/setup_tests.py b/.evergreen/scripts/setup_tests.py index deb6f2c67f..fe2a385c1e 100644 --- a/.evergreen/scripts/setup_tests.py +++ b/.evergreen/scripts/setup_tests.py @@ -171,8 +171,8 @@ def handle_test_env() -> None: # Handle pass through env vars. for var in PASS_THROUGH_ENV: - if is_set(var) or getattr(opts, var.lower()): - write_env(var, os.environ[var]) + if is_set(var) or getattr(opts, var.lower(), None): + write_env(var, os.environ.get(var, "1")) if extra := EXTRAS_MAP.get(test_name, ""): UV_ARGS.append(f"--extra {extra}") From 45b39eae4e7dbd9a1af11122ed2cf58dbffe02e6 Mon Sep 17 00:00:00 2001 From: Steven Silvester Date: Fri, 4 Apr 2025 20:17:14 -0500 Subject: [PATCH 4/6] fix pass through handling --- .evergreen/scripts/setup_tests.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.evergreen/scripts/setup_tests.py b/.evergreen/scripts/setup_tests.py index 0caf31429f..4952361ff0 100644 --- a/.evergreen/scripts/setup_tests.py +++ b/.evergreen/scripts/setup_tests.py @@ -172,7 +172,7 @@ def handle_test_env() -> None: # Handle pass through env vars. for var in PASS_THROUGH_ENV: if is_set(var) or getattr(opts, var.lower()): - write_env(var, os.environ.get(var, getattr(opts, var.lower()))) + write_env(var, os.environ.get(var, getattr(opts, var.lower(), ""))) if extra := EXTRAS_MAP.get(test_name, ""): UV_ARGS.append(f"--extra {extra}") From 3e2bfc71c9bd321c5a2de29a5e36fb979f29e575 Mon Sep 17 00:00:00 2001 From: Steven Silvester Date: Fri, 4 Apr 2025 20:21:53 -0500 Subject: [PATCH 5/6] fix pass through handling --- .evergreen/scripts/setup_tests.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.evergreen/scripts/setup_tests.py b/.evergreen/scripts/setup_tests.py index 4952361ff0..2ee8aa12ee 100644 --- a/.evergreen/scripts/setup_tests.py +++ b/.evergreen/scripts/setup_tests.py @@ -171,7 +171,7 @@ def handle_test_env() -> None: # Handle pass through env vars. for var in PASS_THROUGH_ENV: - if is_set(var) or getattr(opts, var.lower()): + if is_set(var) or getattr(opts, var.lower(), ""): write_env(var, os.environ.get(var, getattr(opts, var.lower(), ""))) if extra := EXTRAS_MAP.get(test_name, ""): From b838b8b1ac98a989c51f26cdc2f6402e474fb7a6 Mon Sep 17 00:00:00 2001 From: Steven Silvester Date: Fri, 4 Apr 2025 20:32:05 -0500 Subject: [PATCH 6/6] cleanup output --- .evergreen/scripts/install-dependencies.sh | 4 ++-- .evergreen/scripts/setup-dev-env.sh | 1 - 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/.evergreen/scripts/install-dependencies.sh b/.evergreen/scripts/install-dependencies.sh index 1347374bf5..780d250a2b 100755 --- a/.evergreen/scripts/install-dependencies.sh +++ b/.evergreen/scripts/install-dependencies.sh @@ -39,7 +39,7 @@ function _pip_install() { # Ensure just is installed. -if ! command -v just 2>/dev/null; then +if ! command -v just >/dev/null 2>&1; then # On most systems we can install directly. _TARGET="" if [ "Windows_NT" = "${OS:-}" ]; then @@ -54,7 +54,7 @@ if ! command -v just 2>/dev/null; then fi # Install uv. -if ! command -v uv 2>/dev/null; then +if ! command -v uv >/dev/null 2>&1; then echo "Installing uv..." # On most systems we can install directly. curl -LsSf https://astral.sh/uv/install.sh | env UV_INSTALL_DIR="$_BIN_DIR" INSTALLER_NO_MODIFY_PATH=1 sh || { diff --git a/.evergreen/scripts/setup-dev-env.sh b/.evergreen/scripts/setup-dev-env.sh index a5a96d7c20..6e6b5965bd 100755 --- a/.evergreen/scripts/setup-dev-env.sh +++ b/.evergreen/scripts/setup-dev-env.sh @@ -21,7 +21,6 @@ bash $HERE/install-dependencies.sh # Get the appropriate UV_PYTHON. . $ROOT/.evergreen/utils.sh -set -x if [ -z "${PYTHON_BINARY:-}" ]; then if [ -n "${PYTHON_VERSION:-}" ]; then