@@ -263,26 +263,38 @@ e2e-test:
263263 { {- end } }
264264
265265e2e-test-status:
266- stage: e2e
266+ stage: test
267267 image: registry.ddbuild.io/images/docker:20.10-py3
268268 tags: ["arch:amd64"]
269- dependencies:
270- - e2e-test
269+ timeout: 3h
271270 script: |
272271 GITLAB_API_TOKEN=$(aws ssm get-parameter --region us-east-1 --name "ci.${ CI_PROJECT_NAME} .serverless-e2e-gitlab-token" --with-decryption --query "Parameter.Value" --out text)
273272 URL="${ CI_API_V4_URL} /projects/${ CI_PROJECT_ID} /pipelines/${ CI_PIPELINE_ID} /bridges"
274273 echo "Fetching E2E job status from: $URL"
275- RESPONSE=$(curl -s --header "PRIVATE-TOKEN: ${ GITLAB_API_TOKEN} " "$URL")
276- echo "Response from GitLab API: $RESPONSE"
277- E2E_JOB_STATUS=$(echo "$RESPONSE" | jq -r '.[] | select(.name=="e2e-test") | .pipeline.status')
278- echo "E2E job status: $E2E_JOB_STATUS"
279- if [ "$E2E_JOB_STATUS" == "success" ]; then
280- echo "✅ E2E tests completed successfully"
281- exit 0
282- elif [ "$E2E_JOB_STATUS" == "failed" ]; then
283- echo "❌ E2E tests failed"
284- exit 1
285- else
286- echo "❓ Unknown E2E test status: $E2E_JOB_STATUS"
287- exit 1
288- fi
274+ while true; do
275+ RESPONSE=$(curl -s --header "PRIVATE-TOKEN: ${ GITLAB_API_TOKEN} " "$URL")
276+ echo "Response from GitLab API: $RESPONSE"
277+ E2E_JOB_STATUS=$(echo "$RESPONSE" | jq -r '.[] | select(.name=="e2e-test") | .pipeline.status')
278+ echo "E2E job status: $E2E_JOB_STATUS"
279+ if [ "$E2E_JOB_STATUS" == "success" ]; then
280+ echo "✅ E2E tests completed successfully"
281+ exit 0
282+ elif [ "$E2E_JOB_STATUS" == "failed" ]; then
283+ echo "❌ E2E tests failed"
284+ exit 1
285+ elif [ "$E2E_JOB_STATUS" == "running" ]; then
286+ echo -n "⏳ E2E tests are still running"
287+ echo "Retrying in 1 minute..."
288+ sleep 60
289+ elif [ "$E2E_JOB_STATUS" == "canceled" ]; then
290+ echo "🚫 E2E tests were canceled"
291+ exit 1
292+ elif [ "$E2E_JOB_STATUS" == "skipped" ]; then
293+ echo "⏭️ E2E tests were skipped"
294+ exit 0
295+ else
296+ echo -n "❓ Unknown E2E test status: $E2E_JOB_STATUS"
297+ echo "Retrying in 1 minute..."
298+ sleep 60
299+ fi
300+ done
0 commit comments