diff --git a/scripts/run-nightly-real-pi.sh b/scripts/run-nightly-real-pi.sh index 5a2f8bd4..19d5a119 100755 --- a/scripts/run-nightly-real-pi.sh +++ b/scripts/run-nightly-real-pi.sh @@ -136,8 +136,8 @@ set +e go test -count=1 -timeout "${TIMEOUT}" -v ./internal/server/ -run "${RUN_FILTER}" 2>&1 | tee "${LOG_FILE}" TEST_RC=${PIPESTATUS[0]} # One retry for known flakes: model quality_failed, or PI hang / client deadline. -if [[ "${TEST_RC}" -ne 0 ]] && grep -Eq 'quality_failed want completed|status=quality_failed|context deadline exceeded|Client\.Timeout exceeded' "${LOG_FILE}"; then - echo "==> retry once after quality_failed/deadline flake..." | tee -a "${LOG_FILE}" +if [[ "${TEST_RC}" -ne 0 ]] && grep -Eq 'quality_failed want completed|status=quality_failed|context deadline exceeded|Client\.Timeout exceeded|MISSING_TARGET|missing target deliverable' "${LOG_FILE}"; then + echo "==> retry once after quality_failed/deadline/MISSING_TARGET flake..." | tee -a "${LOG_FILE}" RETRY_LOG="${EVIDENCE_DIR}/go-test-retry.txt" go test -count=1 -timeout "${TIMEOUT}" -v ./internal/server/ -run "${RUN_FILTER}" 2>&1 | tee "${RETRY_LOG}" TEST_RC=${PIPESTATUS[0]}