From b353626d6db8ef39fa56ffb630d7abe1e43439e0 Mon Sep 17 00:00:00 2001 From: Yusuke Tanaka Date: Thu, 6 Jul 2023 11:49:34 +0900 Subject: [PATCH] Fix endless loop of defer in cloud_build --- 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)