if [ "$READTHEDOCS_VERSION_TYPE" = "external" ]; then
  MAX_WAIT=300
  INTERVAL=60
  ELAPSED=0
  while :; do
    RAW=$(curl -sS -w "\n%{http_code}" "https://api.github.com/repos/vllm-project/vllm/commits/${READTHEDOCS_GIT_COMMIT_HASH}/check-runs?check_name=pre-run-check&filter=latest")
    HTTP_CODE=$(printf %s "$RAW" | tail -n1)
    BODY=$(printf %s "$RAW" | sed '$d')
    if [ "$HTTP_CODE" != "200" ]; then
      echo "GitHub API returned HTTP $HTTP_CODE (likely rate-limited); skipping pre-run-check gate."
      break
    fi
    STATUS=$(printf %s "$BODY" | python3 -c "import sys, json; r=json.load(sys.stdin).get(\"check_runs\",[]); print((r[0].get(\"status\") or \"\") if r else \"none\")")
    CONCLUSION=$(printf %s "$BODY" | python3 -c "import sys, json; r=json.load(sys.stdin).get(\"check_runs\",[]); print((r[0].get(\"conclusion\") or \"\") if r else \"\")")
    CHECK_URL=$(printf %s "$BODY" | python3 -c "import sys, json; r=json.load(sys.stdin).get(\"check_runs\",[]); print((r[0].get(\"html_url\") or \"\") if r else \"\")")
    if [ "$STATUS" = "none" ]; then
      echo "no pre-run-check found for this commit; skipping gate."
      break
    fi
    if [ -n "$CONCLUSION" ]; then
      echo "pre-run-check conclusion: $CONCLUSION"
      if [ "$CONCLUSION" = "failure" ] || [ "$CONCLUSION" = "cancelled" ] || [ "$CONCLUSION" = "timed_out" ]; then
        echo "pre-run-check did not pass; skipping docs build."
        if [ -n "$CHECK_URL" ]; then
          echo "pre-run-check failure reason: $CHECK_URL"
        fi
        exit 1
      fi
      break
    fi
    if [ "$ELAPSED" -ge "$MAX_WAIT" ]; then
      echo "pre-run-check status=$STATUS after ${MAX_WAIT}s; skipping gate."
      break
    fi
    echo "pre-run-check status=$STATUS; waiting ${INTERVAL}s..."
    sleep "$INTERVAL"
    ELAPSED=$((ELAPSED + INTERVAL))
  done
else
  echo "Not a PR build (version type=$READTHEDOCS_VERSION_TYPE); skipping pre-run-check gate."
fi