Pin submodule dependencies to specific versions
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 mergeinstead ofSquash 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
- [ ] Followed contribution guide
- [ ] Added/updated documentation
- [ ] Reviewed code for security implications
- [ ] Requested review from cloudberry committers
Additional Context
CI Skip Instructions
~Need to rebase after PR https://github.com/apache/cloudberry/pull/1238 is merged.~
This PR adopts the way recommended by @edespino here: https://github.com/apache/cloudberry/pull/1084#pullrequestreview-2813295236