Skip to content

Commit 7e97e8c

Browse files
authored
Refactor merge base retrieval in workflow
Updated the merge base retrieval process to use GitHub CLI for better accuracy and removed the fallback logic for older PRs.
1 parent 7af1880 commit 7e97e8c

File tree

1 file changed

+10
-14
lines changed

1 file changed

+10
-14
lines changed

.github/workflows/owasp-dependency-check.yml

Lines changed: 10 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)