feature/codeant-smoke-test #3
@@ -96,14 +96,39 @@ jobs:
|
|||||||
|
|
||||||
if [ "${GITHUB_EVENT_NAME}" = "pull_request" ] && [ -n "${GITHUB_BASE_REF}" ]; then
|
if [ "${GITHUB_EVENT_NAME}" = "pull_request" ] && [ -n "${GITHUB_BASE_REF}" ]; then
|
||||||
echo "Running PR review against base branch: ${GITHUB_BASE_REF}"
|
echo "Running PR review against base branch: ${GITHUB_BASE_REF}"
|
||||||
for attempt in 1 2 3; do
|
git fetch origin "${GITHUB_BASE_REF}" --depth=1 || true
|
||||||
echo "PR review attempt $attempt/3"
|
|
||||||
codeant review --base "${GITHUB_BASE_REF}" --exclude "${REVIEW_EXCLUDES}" 2>&1 | tee review.txt || true
|
CHANGED_FILES=$(git diff --name-only "origin/${GITHUB_BASE_REF}...HEAD" | grep '^.gitea/workflows/src/' | grep -v '^.gitea/workflows/codeant.yml' || true)
|
||||||
if ! grep -q "Unexpected token '<'" review.txt; then
|
|
||||||
break
|
if [ -z "${CHANGED_FILES}" ]; then
|
||||||
|
echo "No source files changed in PR scope." | tee review.txt
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "Files to review:"
|
||||||
|
echo "${CHANGED_FILES}"
|
||||||
|
|
||||||
|
FAILED=0
|
||||||
|
: > review.txt
|
||||||
|
while IFS= read -r file; do
|
||||||
|
[ -z "$file" ] && continue
|
||||||
|
echo "--- Reviewing: $file ---" | tee -a review.txt
|
||||||
|
codeant review --base "${GITHUB_BASE_REF}" --include "$file" --exclude "${REVIEW_EXCLUDES}" 2>&1 | tee -a review.txt || true
|
||||||
|
|
||||||
|
if grep -q "Unexpected token '<'\|HTTP error 403" review.txt; then
|
||||||
|
FAILED=1
|
||||||
|
echo "Transient API failure detected for $file; continuing to next file." | tee -a review.txt
|
||||||
fi
|
fi
|
||||||
sleep $((attempt * 15))
|
|
||||||
done
|
# Pace requests to avoid backend throttling on CI runners.
|
||||||
|
sleep 12
|
||||||
|
done <<EOF
|
||||||
|
${CHANGED_FILES}
|
||||||
|
EOF
|
||||||
|
|
||||||
|
if [ "$FAILED" -eq 1 ]; then
|
||||||
|
echo "Completed with API instability; some files may be partially reviewed." | tee -a review.txt
|
||||||
|
fi
|
||||||
else
|
else
|
||||||
# For push to main: check if HEAD is a merge commit
|
# For push to main: check if HEAD is a merge commit
|
||||||
PARENTS=$(git log -1 --format="%P" HEAD | wc -w)
|
PARENTS=$(git log -1 --format="%P" HEAD | wc -w)
|
||||||
|
|||||||
Reference in New Issue
Block a user