cloudberry icon indicating copy to clipboard operation
cloudberry copied to clipboard

Pin submodule dependencies to specific versions

Open tuhaihe opened this issue 5 months ago • 2 comments

To enhance build stability and reproducibility, this PR updates the submodule pointers to lock them to specific, stable release tags.

Previously, several submodules were tracking the HEAD of a branch or were not explicitly version-locked. This practice can lead to inconsistent builds, as unintended upstream changes could be pulled in, causing unexpected failures or behavior changes.

By pinning each submodule to a specific commit hash corresponding to a release tag, we ensure that all developers and CI environments use the exact same version of the dependencies, guaranteeing a consistent and reproducible build process.

[!Note] This PR includes a few commits. Please don't squash them into one commit when merging this PR to the main branch. Please select Rebase and merge instead of Squash and merge!

What does this PR do?

Type of Change

  • [ ] Bug fix (non-breaking change)
  • [ ] New feature (non-breaking change)
  • [ ] Breaking change (fix or feature with breaking changes)
  • [ ] Documentation update

Breaking Changes

Test Plan

  • [ ] Unit tests added/updated
  • [ ] Integration tests added/updated
  • [ ] Passed make installcheck
  • [ ] Passed make -C src/test installcheck-cbdb-parallel

Impact

Performance:

User-facing changes:

Dependencies:

Checklist

Additional Context

CI Skip Instructions


tuhaihe avatar Jul 03 '25 07:07 tuhaihe

~Need to rebase after PR https://github.com/apache/cloudberry/pull/1238 is merged.~

tuhaihe avatar Jul 21 '25 10:07 tuhaihe

This PR adopts the way recommended by @edespino here: https://github.com/apache/cloudberry/pull/1084#pullrequestreview-2813295236

tuhaihe avatar Aug 01 '25 07:08 tuhaihe