@@ -136,7 +136,41 @@ jobs:
136136
137137 echo "4. Docker Stack is Healthy!"
138138 docker ps
139+ - name : Error
140+ working-directory : ./services
141+ run : |
142+ echo "---------------------------------------------------"
143+ echo "1. PROBING: Can we reach the API at all?"
144+ timeout 60s bash -c 'until curl -sSf http://localhost:8000/api/v1/xml/data/1 > /dev/null; do sleep 5; done' || echo "WARNING: Main API is slow/down"
145+
146+ echo "---------------------------------------------------"
147+ echo "2. PROBING: Waiting for Task 119 Splits (The Failure Point)..."
148+ # We wait 60s. If it works, great. If not, we want the logs.
149+ timeout 60s bash -c 'until curl -sSf http://localhost:8000/api_splits/get/119/Task_119_splits.arff > /dev/null; do
150+ echo " ... file not ready yet"
151+ sleep 5
152+ done' || echo "FAILURE: Task 119 splits were NOT generated."
153+
154+ echo "---------------------------------------------------"
155+ echo "3.DUMPING EVALUATION ENGINE LOGS (STDOUT)"
156+ docker logs openml-evaluation-engine
157+
158+ echo "---------------------------------------------------"
159+ echo "4.DUMPING INTERNAL CRON LOGS (The Hidden Logs)"
160+ # The engine runs via cron, so the real errors are often in this file, NOT in docker logs
161+ docker exec openml-evaluation-engine cat /cron.log || echo "Could not read /cron.log"
162+
163+ echo "---------------------------------------------------"
164+ echo "5.DUMPING PHP API LOGS (Why did it throw 412?)"
165+ docker logs openml-php-rest-api | grep "412" -B 5 -A 5 || echo "No 412 errors found in logs?"
166+
167+ echo "---------------------------------------------------"
168+ echo "6.CHECKING NETWORK (Can the container see Nginx?)"
169+ # This checks if the container can actually resolve 'localhost' to the host machine
170+ docker exec openml-evaluation-engine curl -v http://localhost:8000/api/v1/xml/data/1 || echo "Container cannot connect to localhost:8000"
139171
172+ # Force fail so you see the red X and check logs
173+ exit 1
140174 - name : Verify API and Splits
141175 if : matrix.os == 'ubuntu-latest'
142176 run : |
0 commit comments