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]

Reply via email to