# Auto-generated by lucicfg.
# Do not modify manually.
#
# For the schema of this file, see ProjectConfig message:
#   https://config.luci.app/schemas/projects:luci-notify.cfg

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: "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 {
    bucket: "ci"
    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"
  }
}
