@@ -49,14 +49,21 @@ jobs:
4949 curl -LsSf https://astral.sh/uv/install.sh | sh
5050 echo "$HOME/.local/bin" >> $GITHUB_PATH
5151
52- - name : Pull latest AgentEx image
52+ - name : Pull AgentEx image
5353 run : |
54- echo "🐳 Pulling latest Scale AgentEx Docker image..."
54+ # Pin to last known working image until server :latest is fixed
55+ # The :latest image (from scale-agentex PR #167, 2026-03-20) has a FastAPI 0.135 upgrade
56+ # that causes sync ACP message_send to return null results.
57+ # This pin uses the image from before that upgrade (d83ff4c, 2026-02-26).
58+ AGENTEX_IMAGE="ghcr.io/scaleapi/scale-agentex/agentex:d83ff4ccd631d99bedb30c732cd3bf6019766666"
59+ echo "AGENTEX_IMAGE=$AGENTEX_IMAGE" >> $GITHUB_ENV
60+
61+ echo "🐳 Pulling Scale AgentEx Docker image..."
5562 max_attempts=3
5663 attempt=1
5764 while [ $attempt -le $max_attempts ]; do
5865 echo "Attempt $attempt of $max_attempts..."
59- if docker pull ghcr.io/scaleapi/scale-agentex/agentex:latest ; then
66+ if docker pull "$AGENTEX_IMAGE" ; then
6067 echo "✅ Successfully pulled AgentEx Docker image"
6168 exit 0
6269 fi
8390 sudo chmod +x /usr/local/bin/yq
8491
8592 # Override to use pulled image instead of building
86- yq eval ' .services.agentex.image = "ghcr.io/scaleapi/scale-agentex/agentex:latest"' -i docker-compose.yml
93+ yq eval " .services.agentex.image = \"$AGENTEX_IMAGE\"" -i docker-compose.yml
8794 yq eval 'del(.services.agentex.build)' -i docker-compose.yml
8895
8996 # Add extra_hosts to agentex service to make host.docker.internal work
@@ -145,24 +152,30 @@ jobs:
145152 working-directory : ./examples/tutorials
146153 run : |
147154 echo "🚨 Test failed for tutorial: ${{ matrix.tutorial }}"
148- echo "📋 Printing agent logs..."
149155
150- # Look for agent log files in the tutorial directory
151- if find "${{ matrix.tutorial }}" -name "*.log" -type f 2>/dev/null | grep -q .; then
152- echo "Found agent log files:"
153- find "${{ matrix.tutorial }}" -name "*.log" -type f -exec echo "=== {} ===" \; -exec cat {} \;
156+ # Print agent logs from /tmp (where run_agent_test.sh writes them)
157+ tutorial_name=$(basename "${{ matrix.tutorial }}")
158+ agent_log="/tmp/agentex-${tutorial_name}.log"
159+ if [[ -f "$agent_log" ]]; then
160+ echo "📋 Agent logs ($agent_log):"
161+ echo "----------------------------------------"
162+ tail -100 "$agent_log"
163+ echo "----------------------------------------"
154164 else
155- echo "No .log files found, checking for other common log locations..."
165+ echo "⚠️ No agent log at $agent_log"
166+ echo "Available /tmp/agentex-*.log files:"
167+ ls -la /tmp/agentex-*.log 2>/dev/null || echo " (none)"
156168 fi
157169
158- # Check for any output files or dumps
159- if find "${{ matrix.tutorial }}" -name "agent_output*" -o -name "debug*" -o -name "*.out" 2>/dev/null | grep -q .; then
160- echo "Found other output files:"
161- find "${{ matrix.tutorial }}" -name "agent_output*" -o -name "debug*" -o -name "*.out" -exec echo "=== {} ===" \; -exec cat {} \;
162- fi
170+ # Print Docker server logs
171+ echo ""
172+ echo "📋 AgentEx Server (Docker) logs:"
173+ echo "----------------------------------------"
174+ cd ../../scale-agentex/agentex && docker compose logs --tail=100 agentex 2>/dev/null || echo "Could not retrieve Docker logs"
175+ echo "----------------------------------------"
163176
164- # Print the last 50 lines of any python processes that might still be running
165- echo "🔍 Checking for running python processes... "
177+ echo ""
178+ echo "🔍 Running python processes: "
166179 ps aux | grep python || echo "No python processes found"
167180
168181 - name : Record test result
0 commit comments