Skip to content

Commit 706d3b9

Browse files
committed
Improve test status reporting.
1 parent ca4dd9f commit 706d3b9

File tree

1 file changed

+61
-0
lines changed

1 file changed

+61
-0
lines changed

ci/input_files/build.yaml.tpl

Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -261,3 +261,64 @@ e2e-test:
261261
- "publish-layer-sandbox ({{ .name }}-{{ .arch }}): [{{ $e2e_region }}]"
262262
{{- end }}
263263
{{- end }}
264+
265+
e2e-test-status:
266+
stage: test
267+
image: registry.ddbuild.io/images/docker:20.10-py3
268+
tags: ["arch:amd64"]
269+
needs:
270+
{{- range (ds "runtimes").runtimes }}
271+
{{- if eq .arch "amd64" }}
272+
- "publish-layer-sandbox ({{ .name }}-{{ .arch }}): [{{ $e2e_region }}]"
273+
{{- end }}
274+
{{- end }}
275+
script:
276+
- apk add --no-cache curl jq
277+
- echo "Python layer ARNs used in E2E tests:"
278+
{{- range (ds "runtimes").runtimes }}
279+
{{- if eq .arch "amd64" }}
280+
{{- $version := print (.name | strings.Trim "python") }}
281+
- echo " PYTHON_{{ $version }}_VERSION=$PYTHON_{{ $version }}_VERSION"
282+
{{- end }}
283+
{{- end }}
284+
- |
285+
# TODO: link to the test results
286+
# do not wait around for the scheduled job to complete
287+
echo "🔄 Waiting for E2E tests to complete..."
288+
URL="${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/pipelines/${CI_PIPELINE_ID}/bridges"
289+
echo "Fetching E2E job status from: $URL"
290+
env
291+
while true; do
292+
GITLAB_API_TOKEN=$(aws ssm get-parameter \
293+
--region us-east-1 \
294+
--name "ci.${CI_PROJECT_NAME}.serverless-e2e-gitlab-token" \
295+
--with-decryption \
296+
--query "Parameter.Value" \
297+
--out text)
298+
RESPONSE=$(curl -s --header "PRIVATE-TOKEN: ${GITLAB_API_TOKEN}" "$URL")
299+
E2E_JOB_STATUS=$(echo "$RESPONSE" | jq -r '.[] | select(.name=="e2e-test") | .pipeline.status')
300+
echo "E2E job status: $E2E_JOB_STATUS"
301+
case "$E2E_JOB_STATUS" in
302+
"success")
303+
echo "✅ E2E tests completed successfully"
304+
exit 0
305+
;;
306+
"failed")
307+
echo "❌ E2E tests failed"
308+
echo "💡 Look for pipelines triggered around $(date -u +"%Y-%m-%d %H:%M:%S UTC")"
309+
exit 1
310+
;;
311+
"canceled")
312+
echo "⚠️ E2E tests were canceled"
313+
exit 1
314+
;;
315+
"running"|"pending"|"created")
316+
echo "⏳ E2E tests still running..."
317+
sleep 30
318+
;;
319+
*)
320+
echo "❓ Unknown E2E test status: $E2E_JOB_STATUS"
321+
sleep 30
322+
;;
323+
esac
324+
done

0 commit comments

Comments
 (0)