@@ -55,18 +55,27 @@ jobs:
5555 echo "Claude CLI version: $(claude --version 2>&1 || true)"
5656
5757 if [ -n "$ANTHROPIC_BASE_URL" ] && [ -n "$ANTHROPIC_API_KEY" ]; then
58- HTTP_CODE=$(curl -s -o /dev/null -w "%{http_code}" \
59- --max-time 30 \
60- -X POST "${ANTHROPIC_BASE_URL}/v1/messages" \
61- -H "Content-Type: application/json" \
62- -H "x-api-key: ${ANTHROPIC_API_KEY}" \
63- -H "anthropic-version: 2023-06-01" \
64- -d "{\"model\":\"${AGENTIC_CI_MODEL}\",\"max_tokens\":5,\"messages\":[{\"role\":\"user\",\"content\":\"hi\"}]}")
65- if [ "$HTTP_CODE" -lt 200 ] || [ "$HTTP_CODE" -ge 300 ]; then
66- echo "::error::API pre-flight failed with HTTP ${HTTP_CODE}"
67- exit 1
68- fi
69- echo "API pre-flight passed (HTTP ${HTTP_CODE})"
58+ for ATTEMPT in 1 2 3; do
59+ if ! HTTP_CODE=$(curl -sS -o /dev/null -w "%{http_code}" \
60+ --max-time 30 \
61+ -X POST "${ANTHROPIC_BASE_URL}/v1/messages" \
62+ -H "Content-Type: application/json" \
63+ -H "x-api-key: ${ANTHROPIC_API_KEY}" \
64+ -H "anthropic-version: 2023-06-01" \
65+ -d "{\"model\":\"${AGENTIC_CI_MODEL}\",\"max_tokens\":5,\"messages\":[{\"role\":\"user\",\"content\":\"hi\"}]}"); then
66+ HTTP_CODE="000"
67+ fi
68+ if [ "$HTTP_CODE" -ge 200 ] && [ "$HTTP_CODE" -lt 300 ]; then
69+ echo "API pre-flight passed (HTTP ${HTTP_CODE})"
70+ break
71+ fi
72+ if [ "$ATTEMPT" = "3" ]; then
73+ echo "::error::API pre-flight failed with HTTP ${HTTP_CODE}"
74+ exit 1
75+ fi
76+ echo "API pre-flight failed with HTTP ${HTTP_CODE}; retrying (${ATTEMPT}/3)"
77+ sleep $((ATTEMPT * 10))
78+ done
7079 fi
7180
7281 - name : Run issue triage recipe
0 commit comments