github-actions[bot] commented on code in PR #67523:
URL: https://github.com/apache/doris/pull/67523#discussion_r3933492678
##########
thirdparty/build-thirdparty.sh:
##########
@@ -45,6 +45,17 @@ if [[ -f "${DORIS_HOME}/env.sh" ]]; then
export DO_NOT_CHECK_JAVA_ENV=
fi
+# Do not let ambient CMake injection hooks or package-manager environments
+# alter third-party dependency resolution. Keep this after env.sh so custom
+# environment setup cannot reintroduce these values.
+unset CMAKE_TOOLCHAIN_FILE \
+ CMAKE_PROJECT_INCLUDE \
+ CMAKE_PROJECT_INCLUDE_BEFORE \
+ CMAKE_PROJECT_TOP_LEVEL_INCLUDES \
+ VCPKG_ROOT \
Review Comment:
[P1] Clear Azure's effective vcpkg override variables — This does not clear
the environment variables that actually control vcpkg on the default Azure
build. The pinned `azure-core_1.16.0` calls `az_vcpkg_integrate()` before
`project()`: `AZURE_SDK_DISABLE_AUTO_VCPKG` makes it skip the managed vcpkg
toolchain and fall back to caller/system resolution, while
`AZURE_SDK_VCPKG_COMMIT` replaces the tested vcpkg revision. Both still survive
`env.sh` and reach `build_azure`, so the new isolation guarantee is bypassable.
Please unset these Azure-specific variables too (or pass a Doris-owned pinned
toolchain/revision explicitly), and cover the poisoned-environment case.
##########
thirdparty/build-thirdparty.sh:
##########
@@ -45,6 +45,17 @@ if [[ -f "${DORIS_HOME}/env.sh" ]]; then
export DO_NOT_CHECK_JAVA_ENV=
fi
+# Do not let ambient CMake injection hooks or package-manager environments
+# alter third-party dependency resolution. Keep this after env.sh so custom
+# environment setup cannot reintroduce these values.
+unset CMAKE_TOOLCHAIN_FILE \
Review Comment:
[P1] Clear cached toolchains on sanitized retries — Unsetting this
environment variable only protects a fresh CMake build tree. `build_arrow`
reuses `release/` (`mkdir -p` without removing it), and CMake persists an
initially injected `CMAKE_TOOLCHAIN_FILE` in `CMakeCache.txt`. If an Arrow
configure/build fails, `set -e` exits before source cleanup; the next sanitized
retry or `--continue arrow` reconfigures the same cache and still loads that
toolchain. Please recreate Arrow's build directory (as the other package
builders do) or explicitly invalidate the cached injection variables, and test
a poisoned failed-run/retry case.
##########
thirdparty/build-thirdparty.sh:
##########
@@ -2093,8 +2104,22 @@ build_lance_c() {
echo "failed to get cargo version for lance-c. Install Rust
${required_rust_version} or set LANCE_C_CARGO/RUSTUP_TOOLCHAIN."
exit 1
fi
- if [[ "${cargo_version}" != "${required_rust_version}" ]]; then
- echo "lance-c requires Rust/Cargo ${required_rust_version}, but found
${cargo_version}."
+ # Rust 1.91.0 is the minimum supported version. Allow newer toolchains when
Review Comment:
[P1] Honor explicit Cargo before bootstrapping rustup — The new comparison
allows an explicitly selected Cargo newer than 1.91, but this path still runs
the rustup block above first. If `LANCE_C_CARGO` (or `CARGO`) points to an
already-installed newer toolchain while rustup is on `PATH` and
`RUSTUP_TOOLCHAIN` is unset, the script still tries to install 1.91.0 and can
fail offline before it ever checks the selected Cargo; if it succeeds, it also
forces `RUSTUP_TOOLCHAIN=1.91.0` for that Cargo. Please skip the automatic
install/pin when an explicit Cargo override is present and validate that
executable directly, reserving the 1.91 bootstrap for the default Cargo path.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]