@@ -59,15 +59,57 @@ jobs:
5959 - name : Build Docker image
6060 run : |
6161 make docker-up
62+
6263 - name : Run LLM CI
64+ id : llm_tests
6365 working-directory : evaluation
6466 run : |
6567 make llm-tests
68+
69+ - name : Capture Docker logs on failure
70+ if : failure()
71+ run : |
72+ mkdir -p docker-logs
73+ echo "=== Docker Container Status ==="
74+ docker ps -a
75+ echo ""
76+ echo "=== COMPLETE BACKEND LOGS ==="
77+ docker logs backend 2>&1 || echo "Failed to get backend logs"
78+ echo ""
79+ echo "=== COMPLETE FRONTEND LOGS ==="
80+ docker logs frontend 2>&1 || echo "Failed to get frontend logs"
81+ echo ""
82+ echo "=== COMPLETE POSTGRES LOGS ==="
83+ docker logs postgres 2>&1 || echo "Failed to get postgres logs"
84+
85+ # Save to files for artifacts
86+ docker logs backend > docker-logs/backend.log 2>&1 || echo "Failed to capture backend logs"
87+ docker logs frontend > docker-logs/frontend.log 2>&1 || echo "Failed to capture frontend logs"
88+ docker logs postgres > docker-logs/postgres.log 2>&1 || echo "Failed to capture postgres logs"
89+
90+ - name : Upload Docker logs as artifacts
91+ if : failure()
92+ uses : actions/upload-artifact@v4
93+ with :
94+ name : docker-logs-${{ github.run_id }}
95+ path : docker-logs/
96+ retention-days : 7
97+
98+ - name : Upload evaluation output as artifact
99+ if : failure()
100+ uses : actions/upload-artifact@v4
101+ with :
102+ name : evaluation-output-${{ github.run_id }}
103+ path : evaluation/auto_evaluation/llm_tests_output.txt
104+ retention-days : 7
105+ if-no-files-found : ignore
106+
66107 - name : Create commit comment
67108 uses : peter-evans/commit-comment@v3
68109 with :
69110 token : ${{ secrets.GH_PAT }}
70111 body-path : evaluation/auto_evaluation/llm_tests_output.txt
112+
71113 - name : Teardown
72114 if : always()
73115 run : |
0 commit comments