Try to buf harder (#7591)

Conrad Irwin created

Release Notes:

- N/A

Change summary

.github/workflows/ci.yml | 13 ++++++++++---
1 file changed, 10 insertions(+), 3 deletions(-)

Detailed changes

.github/workflows/ci.yml 🔗

@@ -49,15 +49,22 @@ jobs:
               uses: ./.github/actions/check_style
 
             - name: Ensure fresh merge
+              shell: bash -euxo pipefail {0}
               run: |
-                git checkout -B temp
-                git merge -q origin/main -m "merge main into temp"
+                if [ -z "$GITHUB_BASE_REF" ];
+                then
+                  echo "BUF_BASE_BRANCH=$(git merge-base origin/main HEAD)" >> $GITHUB_ENV
+                else
+                  git checkout -B temp
+                  git merge -q origin/$GITHUB_BASE_REF -m "merge main into temp"
+                  echo "BUF_BASE_BRANCH=$GITHUB_BASE_REF" >> $GITHUB_ENV
+                fi
 
             - uses: bufbuild/buf-setup-action@v1
             - uses: bufbuild/buf-breaking-action@v1
               with:
                   input: "crates/rpc/proto/"
-                  against: "https://github.com/${GITHUB_REPOSITORY}.git#branch=main,subdir=crates/rpc/proto/"
+                  against: "https://github.com/${GITHUB_REPOSITORY}.git#branch=${BUF_BASE_BRANCH},subdir=crates/rpc/proto/"
 
     macos_tests:
         name: (macOS) Run Clippy and tests