6161 echo "UV version: $(uv --version)"
6262 echo "UV path: $(which uv)"
6363
64+ # Start background job to continuously poll AgentEx container logs
65+ echo "🔍 Starting AgentEx container log polling in background..."
66+ (
67+ cd ../scale-agentex/agentex
68+ echo "Log polling started at $(date)"
69+
70+ # Function to get container logs
71+ get_logs() {
72+ echo "=== AgentEx Container Logs $(date) ==="
73+ if docker compose logs agentex --tail=20 2>/dev/null; then
74+ echo "✅ Successfully retrieved agentex logs"
75+ elif docker logs $(docker ps --filter "name=agentex" --format "{{.ID}}" 2>/dev/null) --tail=20 2>/dev/null; then
76+ echo "✅ Retrieved logs via container ID"
77+ else
78+ echo "⚠️ No agentex container logs available"
79+ docker compose ps 2>/dev/null || echo "Docker compose ps failed"
80+ fi
81+ echo "=== End Logs ==="
82+ echo ""
83+ }
84+
85+ # Poll logs every 30 seconds
86+ while true; do
87+ get_logs
88+ sleep 30
89+ done
90+ ) &
91+
92+ LOG_POLLER_PID=$!
93+ echo "📋 Log poller started with PID: $LOG_POLLER_PID"
94+
6495 # Find all tutorial directories
6596 tutorial_paths=()
6697 for dir in $(find . -name "manifest.yaml" -exec dirname {} \; | sort); do
@@ -121,6 +152,51 @@ jobs:
121152 wait "$pid"
122153 done
123154
155+ # Always show AgentEx server container logs immediately after tests complete
156+ echo ""
157+ echo "========================================="
158+ echo "AGENTEX SERVER CONTAINER LOGS"
159+ echo "========================================="
160+
161+ # Show AgentEx server container logs
162+ echo "📋 AgentEx server container logs:"
163+ echo "----------------------------------------"
164+ cd ../scale-agentex/agentex || {
165+ echo "❌ Failed to navigate to scale-agentex/agentex directory"
166+ echo "Current directory: $(pwd)"
167+ echo "Directory contents:"
168+ ls -la ../
169+ }
170+
171+ echo "Current directory: $(pwd)"
172+ echo "Available containers:"
173+ docker compose ps || docker ps
174+
175+ echo ""
176+ echo "AgentEx container logs (last 100 lines):"
177+ docker compose logs agentex --tail=100 || {
178+ echo "❌ Failed to get agentex container logs, trying alternative methods..."
179+ docker logs $(docker ps --filter "name=agentex" --format "{{.ID}}") --tail=100 2>/dev/null || {
180+ echo "❌ No agentex container found, showing all container logs:"
181+ docker compose logs --tail=50 || {
182+ echo "❌ Docker compose logs failed, trying docker logs for all containers:"
183+ docker ps --format "table {{.ID}}\t{{.Image}}\t{{.Status}}\t{{.Names}}"
184+ for container in $(docker ps --format "{{.ID}}"); do
185+ echo "--- Container $container logs ---"
186+ docker logs "$container" --tail=20
187+ done
188+ }
189+ }
190+ }
191+ echo "----------------------------------------"
192+
193+ # Return to tutorial directory
194+ cd ../../examples/tutorials
195+
196+ # Stop the log poller
197+ echo "🛑 Stopping log poller (PID: $LOG_POLLER_PID)"
198+ kill $LOG_POLLER_PID 2>/dev/null || echo "Log poller already stopped"
199+
124200 # Restore all original manifests
125201 echo ""
126202 echo "Restoring original manifest files..."
@@ -140,6 +216,7 @@ jobs:
140216 fi
141217 done
142218
219+
143220 # Print summary
144221 echo ""
145222 echo "========================================="
@@ -155,6 +232,33 @@ jobs:
155232 for test in "${failed_tests[@]}"; do
156233 echo " ❌ $test"
157234 done
235+
236+ echo ""
237+ echo "========================================="
238+ echo "TUTORIAL AGENT LOGS FOR FAILED TESTS"
239+ echo "========================================="
240+
241+ # Show logs for failed tests
242+ for test in "${failed_tests[@]}"; do
243+ test_name=$(basename "$test")
244+ logfile="/tmp/agentex-${test_name}.log"
245+
246+ echo ""
247+ echo "📋 Tutorial agent logs for $test ($logfile):"
248+ echo "----------------------------------------"
249+
250+ if [ -f "$logfile" ]; then
251+ echo "Last 100 lines of tutorial agent logs:"
252+ tail -100 "$logfile"
253+ else
254+ echo "⚠️ No log file found at: $logfile"
255+ echo "Available log files:"
256+ ls -la /tmp/agentex-*.log 2>/dev/null || echo " (none)"
257+ fi
258+
259+ echo "----------------------------------------"
260+ done
261+
158262 exit 1
159263 else
160264 echo ""
0 commit comments