From 49f652fa639387984efa0dff556c4ed99a334c08 Mon Sep 17 00:00:00 2001 From: kmontemayor Date: Tue, 2 Dec 2025 21:23:56 +0000 Subject: [PATCH 1/2] Add default notification email to kfp pipeline --- python/gigl/orchestration/kubeflow/kfp_orchestrator.py | 10 ---------- python/gigl/orchestration/kubeflow/kfp_pipeline.py | 3 ++- 2 files changed, 2 insertions(+), 11 deletions(-) diff --git a/python/gigl/orchestration/kubeflow/kfp_orchestrator.py b/python/gigl/orchestration/kubeflow/kfp_orchestrator.py index 16323e5f0..4c16cb14f 100644 --- a/python/gigl/orchestration/kubeflow/kfp_orchestrator.py +++ b/python/gigl/orchestration/kubeflow/kfp_orchestrator.py @@ -149,18 +149,8 @@ def run( "template_or_frozen_config_uri": task_config_uri.uri, "resource_config_uri": resource_config_uri.uri, } - # We need to provide *some* notification emails, other wise the cleanup component will fail. - # Ideally, we'd be able to provide None and have it handle it, but for whatever reason - # that's not supported atm. Passing in None gives the below error: - # Notification email "recipients" parameter must specify at least one recipient. if notification_emails: run_keyword_args["notification_emails"] = notification_emails - else: - run_keyword_args["notification_emails"] = [ - get_resource_config( - resource_config_uri=resource_config_uri - ).service_account_email - ] if stop_after is not None: run_keyword_args["stop_after"] = stop_after diff --git a/python/gigl/orchestration/kubeflow/kfp_pipeline.py b/python/gigl/orchestration/kubeflow/kfp_pipeline.py index 524107ce2..d91c5bdfb 100644 --- a/python/gigl/orchestration/kubeflow/kfp_pipeline.py +++ b/python/gigl/orchestration/kubeflow/kfp_pipeline.py @@ -247,7 +247,8 @@ def pipeline( resource_config_uri: str, start_at: str = GiGLComponents.ConfigPopulator.value, stop_after: Optional[str] = None, - notification_emails: Optional[List[str]] = None, + # We need to provide *some* notification emails, other wise the cleanup component will fail. + notification_emails: List[str] = ["gigl-oss-dev@snapchat.com"], ): with kfp.dsl.ExitHandler( VertexNotificationEmailOp(recipients=notification_emails), From 016e67960b0f8c06935e7bf96271a19897ebfd04 Mon Sep 17 00:00:00 2001 From: kmontemayor Date: Wed, 17 Dec 2025 17:54:56 +0000 Subject: [PATCH 2/2] swap to using default sa email --- python/gigl/orchestration/kubeflow/kfp_pipeline.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/python/gigl/orchestration/kubeflow/kfp_pipeline.py b/python/gigl/orchestration/kubeflow/kfp_pipeline.py index d91c5bdfb..7ee1d52ba 100644 --- a/python/gigl/orchestration/kubeflow/kfp_pipeline.py +++ b/python/gigl/orchestration/kubeflow/kfp_pipeline.py @@ -14,6 +14,7 @@ from gigl.common import LocalUri from gigl.common.logger import Logger from gigl.common.types.resource_config import CommonPipelineComponentConfigs +from gigl.env.pipelines_config import get_resource_config from gigl.orchestration.kubeflow.utils.glt_backend import ( check_glt_backend_eligibility_component, ) @@ -248,7 +249,7 @@ def pipeline( start_at: str = GiGLComponents.ConfigPopulator.value, stop_after: Optional[str] = None, # We need to provide *some* notification emails, other wise the cleanup component will fail. - notification_emails: List[str] = ["gigl-oss-dev@snapchat.com"], + notification_emails: List[str] = [get_resource_config().service_account_email], ): with kfp.dsl.ExitHandler( VertexNotificationEmailOp(recipients=notification_emails),