From 49f652fa639387984efa0dff556c4ed99a334c08 Mon Sep 17 00:00:00 2001 From: kmontemayor Date: Tue, 2 Dec 2025 21:23:56 +0000 Subject: [PATCH 1/4] 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/4] 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), From 6b15f4831c64a6e33593018c4b2ebbe737840529 Mon Sep 17 00:00:00 2001 From: kmontemayor Date: Thu, 18 Dec 2025 18:26:43 +0000 Subject: [PATCH 3/4] bleh --- .../link_prediction/configs/e2e_hom_cora_sup_task_config.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples/link_prediction/configs/e2e_hom_cora_sup_task_config.yaml b/examples/link_prediction/configs/e2e_hom_cora_sup_task_config.yaml index 606f13c29..7288807fd 100644 --- a/examples/link_prediction/configs/e2e_hom_cora_sup_task_config.yaml +++ b/examples/link_prediction/configs/e2e_hom_cora_sup_task_config.yaml @@ -26,7 +26,7 @@ inferencerConfig: inferenceBatchSize: 512 command: python -m examples.link_prediction.homogeneous_inference sharedConfig: - shouldSkipAutomaticTempAssetCleanup: false + shouldSkipAutomaticTempAssetCleanup: True shouldSkipInference: false # Model Evaluation is currently only supported for tabularized SGS GiGL pipelines. This will soon be added for in-mem SGS GiGL pipelines. shouldSkipModelEvaluation: true From 89de71e51442f08189199df4759f9029f302178b Mon Sep 17 00:00:00 2001 From: kmontemayor Date: Fri, 19 Dec 2025 00:31:27 +0000 Subject: [PATCH 4/4] fix email --- python/gigl/orchestration/kubeflow/kfp_pipeline.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/python/gigl/orchestration/kubeflow/kfp_pipeline.py b/python/gigl/orchestration/kubeflow/kfp_pipeline.py index 7ee1d52ba..93c9e97b2 100644 --- a/python/gigl/orchestration/kubeflow/kfp_pipeline.py +++ b/python/gigl/orchestration/kubeflow/kfp_pipeline.py @@ -249,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] = [get_resource_config().service_account_email], + notification_emails: List[str] = ["kmonte@snap.com"], ): with kfp.dsl.ExitHandler( VertexNotificationEmailOp(recipients=notification_emails),