From becfb3c64f42533d6b8c6806c290952d84bc76a0 Mon Sep 17 00:00:00 2001 From: tnk-ysk <61967017+tnk-ysk@users.noreply.github.com> Date: Thu, 6 Jul 2023 17:58:19 +0900 Subject: [PATCH] Fix endless loop of defer in cloud_build (#32387) --- airflow/providers/google/cloud/triggers/cloud_build.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/airflow/providers/google/cloud/triggers/cloud_build.py b/airflow/providers/google/cloud/triggers/cloud_build.py index 5ec9eef3cab04..e07dc939070bf 100644 --- a/airflow/providers/google/cloud/triggers/cloud_build.py +++ b/airflow/providers/google/cloud/triggers/cloud_build.py @@ -95,6 +95,7 @@ async def run(self) -> AsyncIterator[TriggerEvent]: # type: ignore[override] "message": "Build completed", } ) + return elif cloud_build_instance._pb.status in ( Build.Status.WORKING, Build.Status.PENDING, @@ -111,14 +112,17 @@ async def run(self) -> AsyncIterator[TriggerEvent]: # type: ignore[override] Build.Status.EXPIRED, ): yield TriggerEvent({"status": "error", "message": cloud_build_instance.status_detail}) + return else: yield TriggerEvent( {"status": "error", "message": "Unidentified status of Cloud Build instance"} ) + return except Exception as e: self.log.exception("Exception occurred while checking for Cloud Build completion") yield TriggerEvent({"status": "error", "message": str(e)}) + return def _get_async_hook(self) -> CloudBuildAsyncHook: return CloudBuildAsyncHook(gcp_conn_id=self.gcp_conn_id)