Notify the WebGPU gardener on CTS roller / CI failure

Bug: dawn:1940
Change-Id: I5148e88845afd7719c3fb816a334c8fcddc3a924
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/160640
Reviewed-by: Brandon Jones <bajones@chromium.org>
Commit-Queue: Austin Eng <enga@chromium.org>
Reviewed-by: Ben Clayton <bclayton@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
diff --git a/infra/config/global/generated/luci-notify.cfg b/infra/config/global/generated/luci-notify.cfg
index 0294c3e..c0308fb 100644
--- a/infra/config/global/generated/luci-notify.cfg
+++ b/infra/config/global/generated/luci-notify.cfg
@@ -6,11 +6,23 @@
 
 notifiers {
   notifications {
-    on_occurrence: SUCCESS
     on_occurrence: FAILURE
     on_occurrence: INFRA_FAILURE
     email {
-      recipients: "enga@chromium.org"
+      rotation_urls: "https://chrome-ops-rotation-proxy.appspot.com/current/grotation:webgpu-gardener"
+    }
+  }
+  builders {
+    bucket: "ci"
+    name: "cron-linux-clang-rel-x64"
+  }
+}
+notifiers {
+  notifications {
+    on_occurrence: FAILURE
+    on_occurrence: INFRA_FAILURE
+    email {
+      rotation_urls: "https://chrome-ops-rotation-proxy.appspot.com/current/grotation:webgpu-gardener"
     }
   }
   builders {
@@ -18,3 +30,171 @@
     name: "cts-roller"
   }
 }
+notifiers {
+  notifications {
+    on_occurrence: FAILURE
+    on_occurrence: INFRA_FAILURE
+    email {
+      rotation_urls: "https://chrome-ops-rotation-proxy.appspot.com/current/grotation:webgpu-gardener"
+    }
+  }
+  builders {
+    bucket: "ci"
+    name: "linux-clang-dbg-x64"
+    repository: "https://dawn.googlesource.com/dawn"
+  }
+}
+notifiers {
+  notifications {
+    on_occurrence: FAILURE
+    on_occurrence: INFRA_FAILURE
+    email {
+      rotation_urls: "https://chrome-ops-rotation-proxy.appspot.com/current/grotation:webgpu-gardener"
+    }
+  }
+  builders {
+    bucket: "ci"
+    name: "linux-clang-dbg-x86"
+    repository: "https://dawn.googlesource.com/dawn"
+  }
+}
+notifiers {
+  notifications {
+    on_occurrence: FAILURE
+    on_occurrence: INFRA_FAILURE
+    email {
+      rotation_urls: "https://chrome-ops-rotation-proxy.appspot.com/current/grotation:webgpu-gardener"
+    }
+  }
+  builders {
+    bucket: "ci"
+    name: "linux-clang-rel-x64"
+    repository: "https://dawn.googlesource.com/dawn"
+  }
+}
+notifiers {
+  notifications {
+    on_occurrence: FAILURE
+    on_occurrence: INFRA_FAILURE
+    email {
+      rotation_urls: "https://chrome-ops-rotation-proxy.appspot.com/current/grotation:webgpu-gardener"
+    }
+  }
+  builders {
+    bucket: "ci"
+    name: "linux-clang-rel-x86"
+    repository: "https://dawn.googlesource.com/dawn"
+  }
+}
+notifiers {
+  notifications {
+    on_occurrence: FAILURE
+    on_occurrence: INFRA_FAILURE
+    email {
+      rotation_urls: "https://chrome-ops-rotation-proxy.appspot.com/current/grotation:webgpu-gardener"
+    }
+  }
+  builders {
+    bucket: "ci"
+    name: "mac-dbg"
+    repository: "https://dawn.googlesource.com/dawn"
+  }
+}
+notifiers {
+  notifications {
+    on_occurrence: FAILURE
+    on_occurrence: INFRA_FAILURE
+    email {
+      rotation_urls: "https://chrome-ops-rotation-proxy.appspot.com/current/grotation:webgpu-gardener"
+    }
+  }
+  builders {
+    bucket: "ci"
+    name: "mac-rel"
+    repository: "https://dawn.googlesource.com/dawn"
+  }
+}
+notifiers {
+  notifications {
+    on_occurrence: FAILURE
+    on_occurrence: INFRA_FAILURE
+    email {
+      rotation_urls: "https://chrome-ops-rotation-proxy.appspot.com/current/grotation:webgpu-gardener"
+    }
+  }
+  builders {
+    bucket: "ci"
+    name: "win-clang-dbg-x64"
+    repository: "https://dawn.googlesource.com/dawn"
+  }
+}
+notifiers {
+  notifications {
+    on_occurrence: FAILURE
+    on_occurrence: INFRA_FAILURE
+    email {
+      rotation_urls: "https://chrome-ops-rotation-proxy.appspot.com/current/grotation:webgpu-gardener"
+    }
+  }
+  builders {
+    bucket: "ci"
+    name: "win-clang-dbg-x86"
+    repository: "https://dawn.googlesource.com/dawn"
+  }
+}
+notifiers {
+  notifications {
+    on_occurrence: FAILURE
+    on_occurrence: INFRA_FAILURE
+    email {
+      rotation_urls: "https://chrome-ops-rotation-proxy.appspot.com/current/grotation:webgpu-gardener"
+    }
+  }
+  builders {
+    bucket: "ci"
+    name: "win-clang-rel-x64"
+    repository: "https://dawn.googlesource.com/dawn"
+  }
+}
+notifiers {
+  notifications {
+    on_occurrence: FAILURE
+    on_occurrence: INFRA_FAILURE
+    email {
+      rotation_urls: "https://chrome-ops-rotation-proxy.appspot.com/current/grotation:webgpu-gardener"
+    }
+  }
+  builders {
+    bucket: "ci"
+    name: "win-clang-rel-x86"
+    repository: "https://dawn.googlesource.com/dawn"
+  }
+}
+notifiers {
+  notifications {
+    on_occurrence: FAILURE
+    on_occurrence: INFRA_FAILURE
+    email {
+      rotation_urls: "https://chrome-ops-rotation-proxy.appspot.com/current/grotation:webgpu-gardener"
+    }
+  }
+  builders {
+    bucket: "ci"
+    name: "win-msvc-dbg-x64"
+    repository: "https://dawn.googlesource.com/dawn"
+  }
+}
+notifiers {
+  notifications {
+    on_occurrence: FAILURE
+    on_occurrence: INFRA_FAILURE
+    email {
+      rotation_urls: "https://chrome-ops-rotation-proxy.appspot.com/current/grotation:webgpu-gardener"
+    }
+  }
+  builders {
+    bucket: "ci"
+    name: "win-msvc-rel-x64"
+    repository: "https://dawn.googlesource.com/dawn"
+  }
+}
diff --git a/infra/config/global/main.star b/infra/config/global/main.star
index 3b8cb20..aedc1a2 100755
--- a/infra/config/global/main.star
+++ b/infra/config/global/main.star
@@ -154,6 +154,14 @@
 )
 
 
+luci.notifier(
+    name = "gardener-notifier",
+    notify_rotation_urls = [
+        "https://chrome-ops-rotation-proxy.appspot.com/current/grotation:webgpu-gardener",
+    ],
+    on_occurrence = ["FAILURE", "INFRA_FAILURE"],
+)
+
 # Recipes
 
 def get_builder_executable():
@@ -300,6 +308,7 @@
         properties = properties_ci,
         dimensions = dimensions_ci,
         caches = get_default_caches(os, clang),
+        notifies = ["gardener-notifier"],
         service_account = "dawn-ci-builder@chops-service-accounts.iam.gserviceaccount.com",
     )
 
@@ -532,18 +541,7 @@
         swarming.cache("nodejs"),
         swarming.cache("npmcache"),
     ],
-    notifies = [
-        luci.notifier(
-            name = "cts-roller-notifier",
-            # TODO(dawn:1940): Switch to the rotation email when stable
-            # notify_rotation_urls = [
-            #     "https://chrome-ops-rotation-proxy.appspot.com/current/grotation:webgpu-gardener",
-            # ],
-            notify_emails = ["enga@chromium.org"],
-            # TODO(dawn:1940): Remove SUCCESS when stable
-            on_occurrence = ["SUCCESS", "FAILURE", "INFRA_FAILURE"],
-        )
-    ],
+    notifies = ["gardener-notifier"],
     service_account = "dawn-automated-expectations@chops-service-accounts.iam.gserviceaccount.com",
 )