@@ -279,13 +279,13 @@ e2e-status:
279
279
image: registry.ddbuild.io/images/mirror/alpine:latest
280
280
tags: ["arch:amd64"]
281
281
needs:
282
- - e2e-test
283
282
{ {- range (ds " runtimes" ).runtimes } }
284
283
{ {- if eq .arch " amd64" } }
285
284
- "publish-layer-sandbox ({ { .name } }-{ { .arch } }): [{ { $e2e_region } }]"
286
285
{ {- end } }
287
286
{ {- end } }
288
287
script:
288
+ - apt-get install -y curl
289
289
- echo "Python layer ARNs used in E2E tests:"
290
290
{ {- range (ds " runtimes" ).runtimes } }
291
291
{ {- if eq .arch " amd64" } }
@@ -295,11 +295,36 @@ e2e-status:
295
295
{ {- end } }
296
296
- |
297
297
# TODO: link to the test results
298
- # make this job start running at same time as e2e-test job
299
298
# do not wait around for the scheduled job to complete
300
- if [ "${ CI_JOB_STATUS} " = "failed" ]; then
301
- echo "❌ E2E tests failed"
302
- exit 1
303
- else
304
- echo "✅ E2E tests completed successfully"
305
- fi
299
+ echo "🔄 Waiting for E2E tests to complete..."
300
+ # Poll for e2e-test job completion
301
+ while true; do
302
+ # Get the e2e-test job status
303
+ E2E_JOB_STATUS=$(curl -s --header "PRIVATE-TOKEN: ${ CI_JOB_TOKEN} " \
304
+ "${ CI_API_V4_URL} /projects/${ CI_PROJECT_ID} /pipelines/${ CI_PIPELINE_ID} /jobs" | \
305
+ jq -r '.[] | select(.name=="e2e-test") | .status')
306
+ echo "E2E job status: $E2E_JOB_STATUS"
307
+ case "$E2E_JOB_STATUS" in
308
+ "success")
309
+ echo "✅ E2E tests completed successfully"
310
+ exit 0
311
+ ;;
312
+ "failed")
313
+ echo "❌ E2E tests failed"
314
+ echo "💡 Look for pipelines triggered around $(date -u +"%Y-%m-%d %H:%M:%S UTC")"
315
+ exit 1
316
+ ;;
317
+ "canceled")
318
+ echo "⚠️ E2E tests were canceled"
319
+ exit 1
320
+ ;;
321
+ "running"|"pending"|"created")
322
+ echo "⏳ E2E tests still running..."
323
+ sleep 30
324
+ ;;
325
+ *)
326
+ echo "❓ Unknown E2E test status: $E2E_JOB_STATUS"
327
+ sleep 30
328
+ ;;
329
+ esac
330
+ done
0 commit comments