This is an automated email from the ASF dual-hosted git repository.
xiangfu0 pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/pinot.git
The following commit(s) were added to refs/heads/master by this push:
new 4b06328c0cb Fix binary compatibility CI baseline selection (#19569)
4b06328c0cb is described below
commit 4b06328c0cbbe4f525ddbc635782a25cc08aaf3f
Author: Xiang Fu <[email protected]>
AuthorDate: Tue Sep 15 22:40:07 2026 -0700
Fix binary compatibility CI baseline selection (#19569)
* Fix binary compatibility baselines and preserve TableConfig constructor
* Limit binary compatibility fix to CI workflow
---
.github/workflows/pinot_compatibility_checks.yml | 28 ++++++++++++++++++++----
1 file changed, 24 insertions(+), 4 deletions(-)
diff --git a/.github/workflows/pinot_compatibility_checks.yml
b/.github/workflows/pinot_compatibility_checks.yml
index b9736aaae66..7e5da173d63 100644
--- a/.github/workflows/pinot_compatibility_checks.yml
+++ b/.github/workflows/pinot_compatibility_checks.yml
@@ -54,6 +54,26 @@ jobs:
name: Pinot Binary Compatibility Check
steps:
- uses: actions/[email protected]
+ with:
+ fetch-depth: 2
+ - name: Select binary compatibility baseline
+ id: binary-baseline
+ env:
+ PUSH_BEFORE_SHA: ${{ github.event.before }}
+ run: |
+ if [[ "$GITHUB_EVENT_NAME" == "pull_request" ]]; then
+ # Compare against the master snapshot actually included in the
tested merge.
+ BASELINE=$(git rev-parse HEAD^1)
+ else
+ # A push can contain multiple commits, so compare the entire
pushed range.
+ BASELINE="$PUSH_BEFORE_SHA"
+ fi
+ if [[ -z "$BASELINE" || "$BASELINE" ==
"0000000000000000000000000000000000000000" ]]; then
+ echo "::error::No previous commit is available for the binary
compatibility baseline"
+ exit 1
+ fi
+ echo "Comparing baseline $BASELINE against $(git rev-parse HEAD)"
+ echo "sha=$BASELINE" >> "$GITHUB_OUTPUT"
- name: Set up JDK 25
uses: actions/setup-java@v6
with:
@@ -136,13 +156,13 @@ jobs:
print(f"... and {len(violations) - 100} more",
file=sys.stderr)
sys.exit(1)
PY
- - name: Checkout master into a subfolder
+ - name: Checkout binary compatibility baseline
uses: actions/[email protected]
with:
- ref: ${{ github.event.pull_request.base.sha }}
+ ref: ${{ steps.binary-baseline.outputs.sha }}
path: master-head
- # Build the same module on master to produce the baseline JAR
- - name: Build SPI on master
+ # Build the same modules at the selected baseline to produce the old JARs
+ - name: Build SPI at baseline
timeout-minutes: 120
run: |
cd master-head || exit 1
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]