@@ -24,25 +24,21 @@ jobs:
2424 with :
2525 persist-credentials : false
2626 ref : ${{ github.event.pull_request.head.sha }}
27- fetch-depth : 100 # Fetch enough history to find merge base
2827
2928 - name : Find merge base
3029 id : merge-base
30+ env :
31+ GH_TOKEN : ${{ github.token }}
32+ BASE_REF : ${{ github.event.pull_request.base.ref }}
33+ HEAD_SHA : ${{ github.event.pull_request.head.sha }}
34+ REPO : ${{ github.repository }}
3135 run : |
32- # Fetch the base branch with same depth
33- git fetch origin ${{ github.event.pull_request.base.ref }} --depth=100
36+ merge_base=$(gh api -q '.merge_base_commit.sha' \
37+ "/repos/$REPO/compare/$BASE_REF...$HEAD_SHA")
38+ echo "sha=$merge_base" >> $GITHUB_OUTPUT
39+ echo "Using merge base: $merge_base"
3440
35- # Try to find merge base
36- if merge_base=$(git merge-base HEAD origin/${{ github.event.pull_request.base.ref }} 2>/dev/null); then
37- echo "sha=$merge_base" >> $GITHUB_OUTPUT
38- echo "Using merge base: $merge_base"
39- else
40- # Fallback to base.sha if merge base not found (very old PRs)
41- echo "sha=${{ github.event.pull_request.base.sha }}" >> $GITHUB_OUTPUT
42- echo "Could not find merge base, using base branch head instead. This should not happen for recent PRs."
43- fi
44-
45- - name : Checkout base branch (merge base)
41+ - name : Checkout base branch
4642 uses : actions/checkout@v4
4743 with :
4844 persist-credentials : false
0 commit comments