Skip to content

Commit 460cdf0

Browse files
Copilotarii
andcommitted
fix: robustly fetch PR SHAs for issue_comment triggers in reusable-gemini-review
Co-authored-by: arii <342438+arii@users.noreply.github.com>
1 parent 0e947b5 commit 460cdf0

1 file changed

Lines changed: 27 additions & 2 deletions

File tree

.github/workflows/reusable-gemini-review.yml

Lines changed: 27 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -91,15 +91,40 @@ jobs:
9191
with:
9292
fetch-depth: 0
9393

94+
- name: Fetch PR SHAs
95+
id: fetch-shas
96+
env:
97+
GH_TOKEN: ${{ secrets.ARI_PAT }}
98+
PR_NUMBER: ${{ inputs.pr_number || github.event.pull_request.number || github.event.issue.number }}
99+
run: |
100+
BASE_SHA="${{ inputs.base_sha || github.event.pull_request.base.sha }}"
101+
HEAD_SHA="${{ inputs.head_sha || github.event.pull_request.head.sha }}"
102+
if [ -z "$BASE_SHA" ] || [ -z "$HEAD_SHA" ]; then
103+
PR_DATA=$(gh pr view "$PR_NUMBER" --json baseRefOid,headRefOid) || {
104+
echo "::error::Failed to fetch PR data for PR #$PR_NUMBER"
105+
exit 1
106+
}
107+
FETCHED_BASE=$(echo "$PR_DATA" | jq -r .baseRefOid)
108+
FETCHED_HEAD=$(echo "$PR_DATA" | jq -r .headRefOid)
109+
[ -z "$BASE_SHA" ] && BASE_SHA="$FETCHED_BASE"
110+
[ -z "$HEAD_SHA" ] && HEAD_SHA="$FETCHED_HEAD"
111+
fi
112+
if [ -z "$BASE_SHA" ] || [ "$BASE_SHA" = "null" ] || [ -z "$HEAD_SHA" ] || [ "$HEAD_SHA" = "null" ]; then
113+
echo "::error::Could not resolve BASE_SHA or HEAD_SHA for PR #$PR_NUMBER"
114+
exit 1
115+
fi
116+
echo "base_sha=$BASE_SHA" >> "$GITHUB_OUTPUT"
117+
echo "head_sha=$HEAD_SHA" >> "$GITHUB_OUTPUT"
118+
94119
- name: Decide Review Strategy
95120
id: decision
96121
env:
97122
TRIGGER_EVENT: ${{ inputs.trigger_event }}
98123
ACTION_TYPE: ${{ github.event.action }}
99124
COMMENT_BODY: ${{ inputs.comment_body }}
100125
PR_NUMBER: ${{ inputs.pr_number || github.event.pull_request.number || github.event.issue.number }}
101-
BASE_SHA: ${{ inputs.base_sha || github.event.pull_request.base.sha }}
102-
HEAD_SHA: ${{ inputs.head_sha || github.event.pull_request.head.sha }}
126+
BASE_SHA: ${{ steps.fetch-shas.outputs.base_sha }}
127+
HEAD_SHA: ${{ steps.fetch-shas.outputs.head_sha }}
103128
GH_TOKEN: ${{ secrets.ARI_PAT }}
104129
PR_QUALITY_RESULT: ${{ inputs.pr_quality_result }}
105130
MAX_COMMENTS: 60

0 commit comments

Comments
 (0)