Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 0 additions & 15 deletions .github/aw/actions-lock.json
Original file line number Diff line number Diff line change
Expand Up @@ -30,11 +30,6 @@
"version": "v4",
"sha": "34e114876b0b11c390a56381ad16ebd13914f8d5"
},
"actions/checkout@v5": {
"repo": "actions/checkout",
"version": "v5",
"sha": "93cb6efe18208431cddfb8368fd83d5badbf9bfd"
},
"actions/checkout@v5.0.1": {
"repo": "actions/checkout",
"version": "v5.0.1",
Expand All @@ -55,21 +50,11 @@
"version": "v2.2.1",
"sha": "29824e69f54612133e76f7eaac726eef6c875baf"
},
"actions/download-artifact@v6": {
"repo": "actions/download-artifact",
"version": "v6",
"sha": "018cc2cf5baa6db3ef3c5f8a56943fffe632ef53"
},
"actions/download-artifact@v6.0.0": {
"repo": "actions/download-artifact",
"version": "v6.0.0",
"sha": "018cc2cf5baa6db3ef3c5f8a56943fffe632ef53"
},
"actions/download-artifact@v7": {
"repo": "actions/download-artifact",
"version": "v7",
"sha": "37930b1c2abaa49bbe596cd826c3c89aef350131"
},
"actions/download-artifact@v7.0.0": {
"repo": "actions/download-artifact",
"version": "v7.0.0",
Expand Down
44 changes: 43 additions & 1 deletion actions/setup/sh/check_mcp_servers.sh
Original file line number Diff line number Diff line change
Expand Up @@ -104,6 +104,7 @@ while IFS= read -r SERVER_NAME; do
# Retry logic for slow-starting servers
RETRY_COUNT=0
PING_SUCCESS=false
LAST_ERROR=""

while [ $RETRY_COUNT -lt $MAX_RETRIES ]; do
# Calculate timeout based on retry attempt (10s, 20s, 30s)
Expand All @@ -112,7 +113,10 @@ while IFS= read -r SERVER_NAME; do
if [ $RETRY_COUNT -gt 0 ]; then
# Progressive delay between retries (2s, 4s)
DELAY=$((2 * RETRY_COUNT))
echo " Retry $RETRY_COUNT/$MAX_RETRIES after ${DELAY}s delay (timeout: ${TIMEOUT}s)..."
sleep $DELAY
else
echo " Attempting connection (timeout: ${TIMEOUT}s)..."
fi

# Make the request with proper headers and progressive timeout
Expand All @@ -136,6 +140,22 @@ while IFS= read -r SERVER_NAME; do
if ! echo "$PING_BODY" | jq -e '.error' >/dev/null 2>&1; then
PING_SUCCESS=true
break
else
LAST_ERROR="JSON-RPC error: $(echo "$PING_BODY" | jq -r '.error.message // .error' 2>/dev/null)"
fi
else
LAST_ERROR="HTTP ${PING_HTTP_CODE}"
if [ "$PING_HTTP_CODE" = "000" ]; then
# Connection error or timeout
if echo "$PING_BODY" | grep -q "Connection refused"; then
LAST_ERROR="Connection refused"
elif echo "$PING_BODY" | grep -q "timed out"; then
LAST_ERROR="Connection timeout"
elif echo "$PING_BODY" | grep -q "Could not resolve host"; then
LAST_ERROR="DNS resolution failed"
else
LAST_ERROR="Connection error: $(echo "$PING_BODY" | head -c 100)"
fi
fi
fi

Expand All @@ -147,6 +167,9 @@ while IFS= read -r SERVER_NAME; do
SERVERS_SUCCEEDED=$((SERVERS_SUCCEEDED + 1))
else
echo "✗ $SERVER_NAME: failed to connect"
echo " URL: $SERVER_URL"
echo " Last error: $LAST_ERROR"
echo " Retries attempted: $MAX_RETRIES"
SERVERS_FAILED=$((SERVERS_FAILED + 1))
fi

Expand All @@ -155,10 +178,29 @@ done <<< "$SERVER_NAMES"
# Print summary
echo ""
if [ $SERVERS_FAILED -gt 0 ]; then
echo "ERROR: $SERVERS_FAILED server(s) failed"
echo "ERROR: $SERVERS_FAILED of $SERVERS_CHECKED server(s) failed connectivity check"
echo "Succeeded: $SERVERS_SUCCEEDED, Failed: $SERVERS_FAILED, Skipped: $SERVERS_SKIPPED"
echo ""
echo "This indicates that one or more MCP servers failed to respond to ping requests"
echo "after multiple retry attempts with progressive timeouts (10s, 20s, 30s)."
echo ""
echo "Common causes:"
echo " - MCP server container failed to start or crashed"
echo " - Network connectivity issues between gateway and server"
echo " - Server initialization taking longer than expected (>30s)"
echo " - Server port not properly exposed or accessible"
echo ""
echo "Check the gateway logs and individual server logs for more details:"
echo " /tmp/gh-aw/mcp-logs/stderr.log"
echo " /tmp/gh-aw/mcp-logs/start-gateway.log"
exit 1
elif [ $SERVERS_SUCCEEDED -eq 0 ]; then
echo "ERROR: No HTTP servers were successfully checked"
echo "This could indicate:"
echo " - No HTTP-type MCP servers were configured"
echo " - All configured servers are stdio-type (which are skipped by this check)"
echo ""
echo "If you expected HTTP servers to be configured, check the gateway configuration."
exit 1
else
echo "✓ All checks passed ($SERVERS_SUCCEEDED succeeded, $SERVERS_SKIPPED skipped)"
Expand Down
15 changes: 0 additions & 15 deletions pkg/workflow/data/action_pins.json
Original file line number Diff line number Diff line change
Expand Up @@ -30,11 +30,6 @@
"version": "v4",
"sha": "34e114876b0b11c390a56381ad16ebd13914f8d5"
},
"actions/checkout@v5": {
"repo": "actions/checkout",
"version": "v5",
"sha": "93cb6efe18208431cddfb8368fd83d5badbf9bfd"
},
"actions/checkout@v5.0.1": {
"repo": "actions/checkout",
"version": "v5.0.1",
Expand All @@ -55,21 +50,11 @@
"version": "v2.2.1",
"sha": "29824e69f54612133e76f7eaac726eef6c875baf"
},
"actions/download-artifact@v6": {
"repo": "actions/download-artifact",
"version": "v6",
"sha": "018cc2cf5baa6db3ef3c5f8a56943fffe632ef53"
},
"actions/download-artifact@v6.0.0": {
"repo": "actions/download-artifact",
"version": "v6.0.0",
"sha": "018cc2cf5baa6db3ef3c5f8a56943fffe632ef53"
},
"actions/download-artifact@v7": {
"repo": "actions/download-artifact",
"version": "v7",
"sha": "37930b1c2abaa49bbe596cd826c3c89aef350131"
},
"actions/download-artifact@v7.0.0": {
"repo": "actions/download-artifact",
"version": "v7.0.0",
Expand Down