Skip to content

[GLUTEN-11885][VL] Respect custom VELOX_HOME in build info generation#11905

Open
officialasishkumar wants to merge 2 commits intoapache:mainfrom
officialasishkumar:fix/11885-build-info-velox-home-path
Open

[GLUTEN-11885][VL] Respect custom VELOX_HOME in build info generation#11905
officialasishkumar wants to merge 2 commits intoapache:mainfrom
officialasishkumar:fix/11885-build-info-velox-home-path

Conversation

@officialasishkumar
Copy link
Copy Markdown
Contributor

What changes are proposed in this pull request?

Fixes #11885.

dev/gluten-build-info.sh was always reading Velox revision metadata from the default ep/build-velox/build/velox_ep checkout, even when the build used a different Velox source tree via --velox_home.

This PR updates the build-info path resolution so the Velox revision metadata is taken from the actual configured Velox checkout:

  • honor an explicit backend path passed to gluten-build-info.sh
  • fall back to the exported VELOX_HOME environment variable when present
  • fall back to the generated cpp/build/CMakeCache.txt VELOX_HOME entry before using the default path
  • quote the resolved backend path when collecting git metadata
  • export VELOX_HOME from dev/builddeps-veloxbe.sh so the one-shot Velox build flow propagates the configured path into Maven's build-info generation step
  • parse --velox_repo, --velox_branch, and --velox_home as scalars so VELOX_HOME can be exported to child processes correctly

How was this patch tested?

  • bash -n dev/gluten-build-info.sh
  • bash -n dev/builddeps-veloxbe.sh
  • created a temporary standalone git repo at /tmp/fake-velox
  • verified VELOX_HOME=/tmp/fake-velox bash dev/gluten-build-info.sh ... --backend velox writes the fake repo commit into gluten-build-info.properties
  • verified source ./dev/builddeps-veloxbe.sh --velox_home=/tmp/fake-velox true exports VELOX_HOME for child processes

Was this patch authored or co-authored using generative AI tooling?

No

@github-actions github-actions bot added the BUILD label Apr 9, 2026
@FelixYBW
Copy link
Copy Markdown
Contributor

Thank you for the fix

Copy link
Copy Markdown
Member

@philo-he philo-he left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good overall. Thanks.

;;
--velox_repo=*)
VELOX_REPO=("${arg#*=}")
VELOX_REPO="${arg#*=}"
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do we also need such modification for some other args?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I checked the current script again, and I do not think we need the same change for the other args in this PR. The scalar handling here matters for --velox_repo, --velox_branch, and especially --velox_home because they are reused when building VELOX_PARAMETER and when propagating VELOX_HOME to child processes. The other flags are only consumed locally in this script today. If there is another arg that also needs to cross that boundary, I can handle it in a follow-up.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@officialasishkumar, thanks for the check. Since this functionality is not well covered by CI, could you verify it in local build with a custom Velox home used? You may simply check a local resource file generated by gluten-build-info.sh.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[VL] User-specified Velox home path is not respected by gluten-build-info.sh

3 participants