# 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: INFRA_FAILURE
    on_occurrence: FAILURE
    failed_step_regexp: "(^build|.*test:).*"
    email {
      recipients: "flutter-engine@grotations.appspotmail.com"
    }
    template: "test_build_failure"
  }
  notifications {
    on_occurrence: SUCCESS
    failed_step_regexp: "(.*test:).*"
    email {
      recipients: "flutter-engine@grotations.appspotmail.com"
    }
    template: "test_flake"
  }
  builders {
    bucket: "prod"
    name: "Linux Web Framework tests"
    repository: "https://flutter.googlesource.com/mirrors/engine"
  }
}
notifiers {
  notifications {
    on_occurrence: INFRA_FAILURE
    on_occurrence: FAILURE
    failed_step_regexp: "(^build|.*test:).*"
    email {
      recipients: "flutter-engine@grotations.appspotmail.com"
    }
    template: "test_build_failure"
  }
  notifications {
    on_occurrence: SUCCESS
    failed_step_regexp: "(.*test:).*"
    email {
      recipients: "flutter-engine@grotations.appspotmail.com"
    }
    template: "test_flake"
  }
  builders {
    bucket: "prod"
    name: "Linux builder_cache"
    repository: "https://flutter.googlesource.com/mirrors/engine"
  }
}
notifiers {
  notifications {
    on_occurrence: INFRA_FAILURE
    on_occurrence: FAILURE
    failed_step_regexp: "(^build|.*test:).*"
    email {
      recipients: "flutter-engine@grotations.appspotmail.com"
    }
    template: "test_build_failure"
  }
  notifications {
    on_occurrence: SUCCESS
    failed_step_regexp: "(.*test:).*"
    email {
      recipients: "flutter-engine@grotations.appspotmail.com"
    }
    template: "test_flake"
  }
  builders {
    bucket: "prod"
    name: "Linux ci_yaml engine roller"
    repository: "https://flutter.googlesource.com/mirrors/engine"
  }
}
notifiers {
  notifications {
    on_occurrence: INFRA_FAILURE
    on_occurrence: FAILURE
    failed_step_regexp: "(^build|.*test:).*"
    email {
      recipients: "flutter-engine@grotations.appspotmail.com"
    }
    template: "test_build_failure"
  }
  notifications {
    on_occurrence: SUCCESS
    failed_step_regexp: "(.*test:).*"
    email {
      recipients: "flutter-engine@grotations.appspotmail.com"
    }
    template: "test_flake"
  }
  builders {
    bucket: "prod"
    name: "Linux clangd"
    repository: "https://flutter.googlesource.com/mirrors/engine"
  }
}
notifiers {
  notifications {
    on_occurrence: INFRA_FAILURE
    on_occurrence: FAILURE
    failed_step_regexp: "(^build|.*test:).*"
    email {
      recipients: "flutter-engine@grotations.appspotmail.com"
    }
    template: "test_build_failure"
  }
  notifications {
    on_occurrence: SUCCESS
    failed_step_regexp: "(.*test:).*"
    email {
      recipients: "flutter-engine@grotations.appspotmail.com"
    }
    template: "test_flake"
  }
  builders {
    bucket: "prod"
    name: "Linux linux_android_aot_engine"
    repository: "https://flutter.googlesource.com/mirrors/engine"
  }
}
notifiers {
  notifications {
    on_occurrence: INFRA_FAILURE
    on_occurrence: FAILURE
    failed_step_regexp: "(^build|.*test:).*"
    email {
      recipients: "flutter-engine@grotations.appspotmail.com"
    }
    template: "test_build_failure"
  }
  notifications {
    on_occurrence: SUCCESS
    failed_step_regexp: "(.*test:).*"
    email {
      recipients: "flutter-engine@grotations.appspotmail.com"
    }
    template: "test_flake"
  }
  builders {
    bucket: "prod"
    name: "Linux linux_android_debug_engine"
    repository: "https://flutter.googlesource.com/mirrors/engine"
  }
}
notifiers {
  notifications {
    on_occurrence: INFRA_FAILURE
    on_occurrence: FAILURE
    failed_step_regexp: "(^build|.*test:).*"
    email {
      recipients: "flutter-engine@grotations.appspotmail.com"
    }
    template: "test_build_failure"
  }
  notifications {
    on_occurrence: SUCCESS
    failed_step_regexp: "(.*test:).*"
    email {
      recipients: "flutter-engine@grotations.appspotmail.com"
    }
    template: "test_flake"
  }
  builders {
    bucket: "prod"
    name: "Linux linux_android_emulator_skia_tests"
    repository: "https://flutter.googlesource.com/mirrors/engine"
  }
}
notifiers {
  notifications {
    on_occurrence: INFRA_FAILURE
    on_occurrence: FAILURE
    failed_step_regexp: "(^build|.*test:).*"
    email {
      recipients: "flutter-engine@grotations.appspotmail.com"
    }
    template: "test_build_failure"
  }
  notifications {
    on_occurrence: SUCCESS
    failed_step_regexp: "(.*test:).*"
    email {
      recipients: "flutter-engine@grotations.appspotmail.com"
    }
    template: "test_flake"
  }
  builders {
    bucket: "prod"
    name: "Linux linux_android_emulator_tests"
    repository: "https://flutter.googlesource.com/mirrors/engine"
  }
}
notifiers {
  notifications {
    on_occurrence: INFRA_FAILURE
    on_occurrence: FAILURE
    failed_step_regexp: "(^build|.*test:).*"
    email {
      recipients: "flutter-engine@grotations.appspotmail.com"
    }
    template: "test_build_failure"
  }
  notifications {
    on_occurrence: SUCCESS
    failed_step_regexp: "(.*test:).*"
    email {
      recipients: "flutter-engine@grotations.appspotmail.com"
    }
    template: "test_flake"
  }
  builders {
    bucket: "prod"
    name: "Linux linux_arm_host_engine"
    repository: "https://flutter.googlesource.com/mirrors/engine"
  }
}
notifiers {
  notifications {
    on_occurrence: INFRA_FAILURE
    on_occurrence: FAILURE
    failed_step_regexp: "(^build|.*test:).*"
    email {
      recipients: "flutter-engine@grotations.appspotmail.com"
    }
    template: "test_build_failure"
  }
  notifications {
    on_occurrence: SUCCESS
    failed_step_regexp: "(.*test:).*"
    email {
      recipients: "flutter-engine@grotations.appspotmail.com"
    }
    template: "test_flake"
  }
  builders {
    bucket: "prod"
    name: "Linux linux_benchmarks"
    repository: "https://flutter.googlesource.com/mirrors/engine"
  }
}
notifiers {
  notifications {
    on_occurrence: INFRA_FAILURE
    on_occurrence: FAILURE
    failed_step_regexp: "(^build|.*test:).*"
    email {
      recipients: "flutter-engine@grotations.appspotmail.com"
    }
    template: "test_build_failure"
  }
  notifications {
    on_occurrence: SUCCESS
    failed_step_regexp: "(.*test:).*"
    email {
      recipients: "flutter-engine@grotations.appspotmail.com"
    }
    template: "test_flake"
  }
  builders {
    bucket: "prod"
    name: "Linux linux_clang_tidy"
    repository: "https://flutter.googlesource.com/mirrors/engine"
  }
}
notifiers {
  notifications {
    on_occurrence: INFRA_FAILURE
    on_occurrence: FAILURE
    failed_step_regexp: "(^build|.*test:).*"
    email {
      recipients: "flutter-engine@grotations.appspotmail.com"
    }
    template: "test_build_failure"
  }
  notifications {
    on_occurrence: SUCCESS
    failed_step_regexp: "(.*test:).*"
    email {
      recipients: "flutter-engine@grotations.appspotmail.com"
    }
    template: "test_flake"
  }
  builders {
    bucket: "prod"
    name: "Linux linux_fuchsia"
    repository: "https://flutter.googlesource.com/mirrors/engine"
  }
}
notifiers {
  notifications {
    on_occurrence: INFRA_FAILURE
    on_occurrence: FAILURE
    failed_step_regexp: "(^build|.*test:).*"
    email {
      recipients: "flutter-engine@grotations.appspotmail.com"
    }
    template: "test_build_failure"
  }
  notifications {
    on_occurrence: SUCCESS
    failed_step_regexp: "(.*test:).*"
    email {
      recipients: "flutter-engine@grotations.appspotmail.com"
    }
    template: "test_flake"
  }
  builders {
    bucket: "prod"
    name: "Linux linux_host_desktop_engine"
    repository: "https://flutter.googlesource.com/mirrors/engine"
  }
}
notifiers {
  notifications {
    on_occurrence: INFRA_FAILURE
    on_occurrence: FAILURE
    failed_step_regexp: "(^build|.*test:).*"
    email {
      recipients: "flutter-engine@grotations.appspotmail.com"
    }
    template: "test_build_failure"
  }
  notifications {
    on_occurrence: SUCCESS
    failed_step_regexp: "(.*test:).*"
    email {
      recipients: "flutter-engine@grotations.appspotmail.com"
    }
    template: "test_flake"
  }
  builders {
    bucket: "prod"
    name: "Linux linux_host_engine"
    repository: "https://flutter.googlesource.com/mirrors/engine"
  }
}
notifiers {
  notifications {
    on_occurrence: INFRA_FAILURE
    on_occurrence: FAILURE
    failed_step_regexp: "(^build|.*test:).*"
    email {
      recipients: "flutter-engine@grotations.appspotmail.com"
    }
    template: "test_build_failure"
  }
  notifications {
    on_occurrence: SUCCESS
    failed_step_regexp: "(.*test:).*"
    email {
      recipients: "flutter-engine@grotations.appspotmail.com"
    }
    template: "test_flake"
  }
  builders {
    bucket: "prod"
    name: "Linux linux_license"
    repository: "https://flutter.googlesource.com/mirrors/engine"
  }
}
notifiers {
  notifications {
    on_occurrence: INFRA_FAILURE
    on_occurrence: FAILURE
    failed_step_regexp: "(^build|.*test:).*"
    email {
      recipients: "flutter-engine@grotations.appspotmail.com"
    }
    template: "test_build_failure"
  }
  notifications {
    on_occurrence: SUCCESS
    failed_step_regexp: "(.*test:).*"
    email {
      recipients: "flutter-engine@grotations.appspotmail.com"
    }
    template: "test_flake"
  }
  builders {
    bucket: "prod"
    name: "Linux linux_unopt"
    repository: "https://flutter.googlesource.com/mirrors/engine"
  }
}
notifiers {
  notifications {
    on_occurrence: INFRA_FAILURE
    on_occurrence: FAILURE
    failed_step_regexp: "(^build|.*test:).*"
    email {
      recipients: "flutter-engine@grotations.appspotmail.com"
    }
    template: "test_build_failure"
  }
  notifications {
    on_occurrence: SUCCESS
    failed_step_regexp: "(.*test:).*"
    email {
      recipients: "flutter-engine@grotations.appspotmail.com"
    }
    template: "test_flake"
  }
  builders {
    bucket: "prod"
    name: "Linux linux_web_engine"
    repository: "https://flutter.googlesource.com/mirrors/engine"
  }
}
notifiers {
  notifications {
    on_occurrence: INFRA_FAILURE
    on_occurrence: FAILURE
    failed_step_regexp: "(^build|.*test:).*"
    email {
      recipients: "flutter-engine@grotations.appspotmail.com"
    }
    template: "test_build_failure"
  }
  notifications {
    on_occurrence: SUCCESS
    failed_step_regexp: "(.*test:).*"
    email {
      recipients: "flutter-engine@grotations.appspotmail.com"
    }
    template: "test_flake"
  }
  builders {
    bucket: "prod"
    name: "Linux local_engine_builds"
    repository: "https://flutter.googlesource.com/mirrors/engine"
  }
}
notifiers {
  notifications {
    on_occurrence: INFRA_FAILURE
    on_occurrence: FAILURE
    failed_step_regexp: "(^build|.*test:).*"
    email {
      recipients: "flutter-engine@grotations.appspotmail.com"
    }
    template: "test_build_failure"
  }
  notifications {
    on_occurrence: SUCCESS
    failed_step_regexp: "(.*test:).*"
    email {
      recipients: "flutter-engine@grotations.appspotmail.com"
    }
    template: "test_flake"
  }
  builders {
    bucket: "prod"
    name: "Linux mac_android_aot_engine"
    repository: "https://flutter.googlesource.com/mirrors/engine"
  }
}
notifiers {
  notifications {
    on_occurrence: INFRA_FAILURE
    on_occurrence: FAILURE
    failed_step_regexp: "(^build|.*test:).*"
    email {
      recipients: "flutter-engine@grotations.appspotmail.com"
    }
    template: "test_build_failure"
  }
  notifications {
    on_occurrence: SUCCESS
    failed_step_regexp: "(.*test:).*"
    email {
      recipients: "flutter-engine@grotations.appspotmail.com"
    }
    template: "test_flake"
  }
  builders {
    bucket: "prod"
    name: "Linux mac_clangd"
    repository: "https://flutter.googlesource.com/mirrors/engine"
  }
}
notifiers {
  notifications {
    on_occurrence: INFRA_FAILURE
    on_occurrence: FAILURE
    failed_step_regexp: "(^build|.*test:).*"
    email {
      recipients: "flutter-engine@grotations.appspotmail.com"
    }
    template: "test_build_failure"
  }
  notifications {
    on_occurrence: SUCCESS
    failed_step_regexp: "(.*test:).*"
    email {
      recipients: "flutter-engine@grotations.appspotmail.com"
    }
    template: "test_flake"
  }
  builders {
    bucket: "prod"
    name: "Mac builder_cache"
    repository: "https://flutter.googlesource.com/mirrors/engine"
  }
}
notifiers {
  notifications {
    on_occurrence: INFRA_FAILURE
    on_occurrence: FAILURE
    failed_step_regexp: "(^build|.*test:).*"
    email {
      recipients: "flutter-engine@grotations.appspotmail.com"
    }
    template: "test_build_failure"
  }
  notifications {
    on_occurrence: SUCCESS
    failed_step_regexp: "(.*test:).*"
    email {
      recipients: "flutter-engine@grotations.appspotmail.com"
    }
    template: "test_flake"
  }
  builders {
    bucket: "prod"
    name: "Mac impeller-cmake-example"
    repository: "https://flutter.googlesource.com/mirrors/engine"
  }
}
notifiers {
  notifications {
    on_occurrence: INFRA_FAILURE
    on_occurrence: FAILURE
    failed_step_regexp: "(^build|.*test:).*"
    email {
      recipients: "flutter-engine@grotations.appspotmail.com"
    }
    template: "test_build_failure"
  }
  notifications {
    on_occurrence: SUCCESS
    failed_step_regexp: "(.*test:).*"
    email {
      recipients: "flutter-engine@grotations.appspotmail.com"
    }
    template: "test_flake"
  }
  builders {
    bucket: "prod"
    name: "Mac mac_clang_tidy"
    repository: "https://flutter.googlesource.com/mirrors/engine"
  }
}
notifiers {
  notifications {
    on_occurrence: INFRA_FAILURE
    on_occurrence: FAILURE
    failed_step_regexp: "(^build|.*test:).*"
    email {
      recipients: "flutter-engine@grotations.appspotmail.com"
    }
    template: "test_build_failure"
  }
  notifications {
    on_occurrence: SUCCESS
    failed_step_regexp: "(.*test:).*"
    email {
      recipients: "flutter-engine@grotations.appspotmail.com"
    }
    template: "test_flake"
  }
  builders {
    bucket: "prod"
    name: "Mac mac_host_engine"
    repository: "https://flutter.googlesource.com/mirrors/engine"
  }
}
notifiers {
  notifications {
    on_occurrence: INFRA_FAILURE
    on_occurrence: FAILURE
    failed_step_regexp: "(^build|.*test:).*"
    email {
      recipients: "flutter-engine@grotations.appspotmail.com"
    }
    template: "test_build_failure"
  }
  notifications {
    on_occurrence: SUCCESS
    failed_step_regexp: "(.*test:).*"
    email {
      recipients: "flutter-engine@grotations.appspotmail.com"
    }
    template: "test_flake"
  }
  builders {
    bucket: "prod"
    name: "Mac mac_ios_engine"
    repository: "https://flutter.googlesource.com/mirrors/engine"
  }
}
notifiers {
  notifications {
    on_occurrence: INFRA_FAILURE
    on_occurrence: FAILURE
    failed_step_regexp: "(^build|.*test:).*"
    email {
      recipients: "flutter-engine@grotations.appspotmail.com"
    }
    template: "test_build_failure"
  }
  notifications {
    on_occurrence: SUCCESS
    failed_step_regexp: "(.*test:).*"
    email {
      recipients: "flutter-engine@grotations.appspotmail.com"
    }
    template: "test_flake"
  }
  builders {
    bucket: "prod"
    name: "Mac mac_unopt"
    repository: "https://flutter.googlesource.com/mirrors/engine"
  }
}
notifiers {
  notifications {
    on_occurrence: INFRA_FAILURE
    on_occurrence: FAILURE
    failed_step_regexp: "(^build|.*test:).*"
    email {
      recipients: "flutter-engine@grotations.appspotmail.com"
    }
    template: "test_build_failure"
  }
  notifications {
    on_occurrence: SUCCESS
    failed_step_regexp: "(.*test:).*"
    email {
      recipients: "flutter-engine@grotations.appspotmail.com"
    }
    template: "test_flake"
  }
  builders {
    bucket: "prod"
    name: "Windows builder_cache"
    repository: "https://flutter.googlesource.com/mirrors/engine"
  }
}
notifiers {
  notifications {
    on_occurrence: INFRA_FAILURE
    on_occurrence: FAILURE
    failed_step_regexp: "(^build|.*test:).*"
    email {
      recipients: "flutter-engine@grotations.appspotmail.com"
    }
    template: "test_build_failure"
  }
  notifications {
    on_occurrence: SUCCESS
    failed_step_regexp: "(.*test:).*"
    email {
      recipients: "flutter-engine@grotations.appspotmail.com"
    }
    template: "test_flake"
  }
  builders {
    bucket: "prod"
    name: "Windows windows_android_aot_engine"
    repository: "https://flutter.googlesource.com/mirrors/engine"
  }
}
notifiers {
  notifications {
    on_occurrence: INFRA_FAILURE
    on_occurrence: FAILURE
    failed_step_regexp: "(^build|.*test:).*"
    email {
      recipients: "flutter-engine@grotations.appspotmail.com"
    }
    template: "test_build_failure"
  }
  notifications {
    on_occurrence: SUCCESS
    failed_step_regexp: "(.*test:).*"
    email {
      recipients: "flutter-engine@grotations.appspotmail.com"
    }
    template: "test_flake"
  }
  builders {
    bucket: "prod"
    name: "Windows windows_arm_host_engine"
    repository: "https://flutter.googlesource.com/mirrors/engine"
  }
}
notifiers {
  notifications {
    on_occurrence: INFRA_FAILURE
    on_occurrence: FAILURE
    failed_step_regexp: "(^build|.*test:).*"
    email {
      recipients: "flutter-engine@grotations.appspotmail.com"
    }
    template: "test_build_failure"
  }
  notifications {
    on_occurrence: SUCCESS
    failed_step_regexp: "(.*test:).*"
    email {
      recipients: "flutter-engine@grotations.appspotmail.com"
    }
    template: "test_flake"
  }
  builders {
    bucket: "prod"
    name: "Windows windows_host_engine"
    repository: "https://flutter.googlesource.com/mirrors/engine"
  }
}
notifiers {
  notifications {
    on_occurrence: INFRA_FAILURE
    on_occurrence: FAILURE
    failed_step_regexp: "(^build|.*test:).*"
    email {
      recipients: "flutter-engine@grotations.appspotmail.com"
    }
    template: "test_build_failure"
  }
  notifications {
    on_occurrence: SUCCESS
    failed_step_regexp: "(.*test:).*"
    email {
      recipients: "flutter-engine@grotations.appspotmail.com"
    }
    template: "test_flake"
  }
  builders {
    bucket: "prod"
    name: "Windows windows_unopt"
    repository: "https://flutter.googlesource.com/mirrors/engine"
  }
}
notifiers {
  notifications {
    on_occurrence: INFRA_FAILURE
    on_occurrence: FAILURE
    failed_step_regexp: "(^build|.*test:).*"
    email {
      recipients: "flutter-engine@grotations.appspotmail.com"
    }
    template: "test_build_failure"
  }
  notifications {
    on_occurrence: SUCCESS
    failed_step_regexp: "(.*test:).*"
    email {
      recipients: "flutter-engine@grotations.appspotmail.com"
    }
    template: "test_flake"
  }
  builders {
    bucket: "staging"
    name: "Linux Web Framework tests"
    repository: "https://flutter.googlesource.com/mirrors/engine"
  }
}
notifiers {
  notifications {
    on_occurrence: INFRA_FAILURE
    on_occurrence: FAILURE
    failed_step_regexp: "(^build|.*test:).*"
    email {
      recipients: "flutter-engine@grotations.appspotmail.com"
    }
    template: "test_build_failure"
  }
  notifications {
    on_occurrence: SUCCESS
    failed_step_regexp: "(.*test:).*"
    email {
      recipients: "flutter-engine@grotations.appspotmail.com"
    }
    template: "test_flake"
  }
  builders {
    bucket: "staging"
    name: "Linux builder_cache"
    repository: "https://flutter.googlesource.com/mirrors/engine"
  }
}
notifiers {
  notifications {
    on_occurrence: INFRA_FAILURE
    on_occurrence: FAILURE
    failed_step_regexp: "(^build|.*test:).*"
    email {
      recipients: "flutter-engine@grotations.appspotmail.com"
    }
    template: "test_build_failure"
  }
  notifications {
    on_occurrence: SUCCESS
    failed_step_regexp: "(.*test:).*"
    email {
      recipients: "flutter-engine@grotations.appspotmail.com"
    }
    template: "test_flake"
  }
  builders {
    bucket: "staging"
    name: "Linux ci_yaml engine roller"
    repository: "https://flutter.googlesource.com/mirrors/engine"
  }
}
notifiers {
  notifications {
    on_occurrence: INFRA_FAILURE
    on_occurrence: FAILURE
    failed_step_regexp: "(^build|.*test:).*"
    email {
      recipients: "flutter-engine@grotations.appspotmail.com"
    }
    template: "test_build_failure"
  }
  notifications {
    on_occurrence: SUCCESS
    failed_step_regexp: "(.*test:).*"
    email {
      recipients: "flutter-engine@grotations.appspotmail.com"
    }
    template: "test_flake"
  }
  builders {
    bucket: "staging"
    name: "Linux clangd"
    repository: "https://flutter.googlesource.com/mirrors/engine"
  }
}
notifiers {
  notifications {
    on_occurrence: INFRA_FAILURE
    on_occurrence: FAILURE
    failed_step_regexp: "(^build|.*test:).*"
    email {
      recipients: "flutter-engine@grotations.appspotmail.com"
    }
    template: "test_build_failure"
  }
  notifications {
    on_occurrence: SUCCESS
    failed_step_regexp: "(.*test:).*"
    email {
      recipients: "flutter-engine@grotations.appspotmail.com"
    }
    template: "test_flake"
  }
  builders {
    bucket: "staging"
    name: "Linux linux_android_aot_engine"
    repository: "https://flutter.googlesource.com/mirrors/engine"
  }
}
notifiers {
  notifications {
    on_occurrence: INFRA_FAILURE
    on_occurrence: FAILURE
    failed_step_regexp: "(^build|.*test:).*"
    email {
      recipients: "flutter-engine@grotations.appspotmail.com"
    }
    template: "test_build_failure"
  }
  notifications {
    on_occurrence: SUCCESS
    failed_step_regexp: "(.*test:).*"
    email {
      recipients: "flutter-engine@grotations.appspotmail.com"
    }
    template: "test_flake"
  }
  builders {
    bucket: "staging"
    name: "Linux linux_android_debug_engine"
    repository: "https://flutter.googlesource.com/mirrors/engine"
  }
}
notifiers {
  notifications {
    on_occurrence: INFRA_FAILURE
    on_occurrence: FAILURE
    failed_step_regexp: "(^build|.*test:).*"
    email {
      recipients: "flutter-engine@grotations.appspotmail.com"
    }
    template: "test_build_failure"
  }
  notifications {
    on_occurrence: SUCCESS
    failed_step_regexp: "(.*test:).*"
    email {
      recipients: "flutter-engine@grotations.appspotmail.com"
    }
    template: "test_flake"
  }
  builders {
    bucket: "staging"
    name: "Linux linux_android_emulator_skia_tests"
    repository: "https://flutter.googlesource.com/mirrors/engine"
  }
}
notifiers {
  notifications {
    on_occurrence: INFRA_FAILURE
    on_occurrence: FAILURE
    failed_step_regexp: "(^build|.*test:).*"
    email {
      recipients: "flutter-engine@grotations.appspotmail.com"
    }
    template: "test_build_failure"
  }
  notifications {
    on_occurrence: SUCCESS
    failed_step_regexp: "(.*test:).*"
    email {
      recipients: "flutter-engine@grotations.appspotmail.com"
    }
    template: "test_flake"
  }
  builders {
    bucket: "staging"
    name: "Linux linux_android_emulator_tests"
    repository: "https://flutter.googlesource.com/mirrors/engine"
  }
}
notifiers {
  notifications {
    on_occurrence: INFRA_FAILURE
    on_occurrence: FAILURE
    failed_step_regexp: "(^build|.*test:).*"
    email {
      recipients: "flutter-engine@grotations.appspotmail.com"
    }
    template: "test_build_failure"
  }
  notifications {
    on_occurrence: SUCCESS
    failed_step_regexp: "(.*test:).*"
    email {
      recipients: "flutter-engine@grotations.appspotmail.com"
    }
    template: "test_flake"
  }
  builders {
    bucket: "staging"
    name: "Linux linux_arm_host_engine"
    repository: "https://flutter.googlesource.com/mirrors/engine"
  }
}
notifiers {
  notifications {
    on_occurrence: INFRA_FAILURE
    on_occurrence: FAILURE
    failed_step_regexp: "(^build|.*test:).*"
    email {
      recipients: "flutter-engine@grotations.appspotmail.com"
    }
    template: "test_build_failure"
  }
  notifications {
    on_occurrence: SUCCESS
    failed_step_regexp: "(.*test:).*"
    email {
      recipients: "flutter-engine@grotations.appspotmail.com"
    }
    template: "test_flake"
  }
  builders {
    bucket: "staging"
    name: "Linux linux_benchmarks"
    repository: "https://flutter.googlesource.com/mirrors/engine"
  }
}
notifiers {
  notifications {
    on_occurrence: INFRA_FAILURE
    on_occurrence: FAILURE
    failed_step_regexp: "(^build|.*test:).*"
    email {
      recipients: "flutter-engine@grotations.appspotmail.com"
    }
    template: "test_build_failure"
  }
  notifications {
    on_occurrence: SUCCESS
    failed_step_regexp: "(.*test:).*"
    email {
      recipients: "flutter-engine@grotations.appspotmail.com"
    }
    template: "test_flake"
  }
  builders {
    bucket: "staging"
    name: "Linux linux_clang_tidy"
    repository: "https://flutter.googlesource.com/mirrors/engine"
  }
}
notifiers {
  notifications {
    on_occurrence: INFRA_FAILURE
    on_occurrence: FAILURE
    failed_step_regexp: "(^build|.*test:).*"
    email {
      recipients: "flutter-engine@grotations.appspotmail.com"
    }
    template: "test_build_failure"
  }
  notifications {
    on_occurrence: SUCCESS
    failed_step_regexp: "(.*test:).*"
    email {
      recipients: "flutter-engine@grotations.appspotmail.com"
    }
    template: "test_flake"
  }
  builders {
    bucket: "staging"
    name: "Linux linux_fuchsia"
    repository: "https://flutter.googlesource.com/mirrors/engine"
  }
}
notifiers {
  notifications {
    on_occurrence: INFRA_FAILURE
    on_occurrence: FAILURE
    failed_step_regexp: "(^build|.*test:).*"
    email {
      recipients: "flutter-engine@grotations.appspotmail.com"
    }
    template: "test_build_failure"
  }
  notifications {
    on_occurrence: SUCCESS
    failed_step_regexp: "(.*test:).*"
    email {
      recipients: "flutter-engine@grotations.appspotmail.com"
    }
    template: "test_flake"
  }
  builders {
    bucket: "staging"
    name: "Linux linux_host_desktop_engine"
    repository: "https://flutter.googlesource.com/mirrors/engine"
  }
}
notifiers {
  notifications {
    on_occurrence: INFRA_FAILURE
    on_occurrence: FAILURE
    failed_step_regexp: "(^build|.*test:).*"
    email {
      recipients: "flutter-engine@grotations.appspotmail.com"
    }
    template: "test_build_failure"
  }
  notifications {
    on_occurrence: SUCCESS
    failed_step_regexp: "(.*test:).*"
    email {
      recipients: "flutter-engine@grotations.appspotmail.com"
    }
    template: "test_flake"
  }
  builders {
    bucket: "staging"
    name: "Linux linux_host_engine"
    repository: "https://flutter.googlesource.com/mirrors/engine"
  }
}
notifiers {
  notifications {
    on_occurrence: INFRA_FAILURE
    on_occurrence: FAILURE
    failed_step_regexp: "(^build|.*test:).*"
    email {
      recipients: "flutter-engine@grotations.appspotmail.com"
    }
    template: "test_build_failure"
  }
  notifications {
    on_occurrence: SUCCESS
    failed_step_regexp: "(.*test:).*"
    email {
      recipients: "flutter-engine@grotations.appspotmail.com"
    }
    template: "test_flake"
  }
  builders {
    bucket: "staging"
    name: "Linux linux_license"
    repository: "https://flutter.googlesource.com/mirrors/engine"
  }
}
notifiers {
  notifications {
    on_occurrence: INFRA_FAILURE
    on_occurrence: FAILURE
    failed_step_regexp: "(^build|.*test:).*"
    email {
      recipients: "flutter-engine@grotations.appspotmail.com"
    }
    template: "test_build_failure"
  }
  notifications {
    on_occurrence: SUCCESS
    failed_step_regexp: "(.*test:).*"
    email {
      recipients: "flutter-engine@grotations.appspotmail.com"
    }
    template: "test_flake"
  }
  builders {
    bucket: "staging"
    name: "Linux linux_unopt"
    repository: "https://flutter.googlesource.com/mirrors/engine"
  }
}
notifiers {
  notifications {
    on_occurrence: INFRA_FAILURE
    on_occurrence: FAILURE
    failed_step_regexp: "(^build|.*test:).*"
    email {
      recipients: "flutter-engine@grotations.appspotmail.com"
    }
    template: "test_build_failure"
  }
  notifications {
    on_occurrence: SUCCESS
    failed_step_regexp: "(.*test:).*"
    email {
      recipients: "flutter-engine@grotations.appspotmail.com"
    }
    template: "test_flake"
  }
  builders {
    bucket: "staging"
    name: "Linux linux_web_engine"
    repository: "https://flutter.googlesource.com/mirrors/engine"
  }
}
notifiers {
  notifications {
    on_occurrence: INFRA_FAILURE
    on_occurrence: FAILURE
    failed_step_regexp: "(^build|.*test:).*"
    email {
      recipients: "flutter-engine@grotations.appspotmail.com"
    }
    template: "test_build_failure"
  }
  notifications {
    on_occurrence: SUCCESS
    failed_step_regexp: "(.*test:).*"
    email {
      recipients: "flutter-engine@grotations.appspotmail.com"
    }
    template: "test_flake"
  }
  builders {
    bucket: "staging"
    name: "Linux local_engine_builds"
    repository: "https://flutter.googlesource.com/mirrors/engine"
  }
}
notifiers {
  notifications {
    on_occurrence: INFRA_FAILURE
    on_occurrence: FAILURE
    failed_step_regexp: "(^build|.*test:).*"
    email {
      recipients: "flutter-engine@grotations.appspotmail.com"
    }
    template: "test_build_failure"
  }
  notifications {
    on_occurrence: SUCCESS
    failed_step_regexp: "(.*test:).*"
    email {
      recipients: "flutter-engine@grotations.appspotmail.com"
    }
    template: "test_flake"
  }
  builders {
    bucket: "staging"
    name: "Linux mac_android_aot_engine"
    repository: "https://flutter.googlesource.com/mirrors/engine"
  }
}
notifiers {
  notifications {
    on_occurrence: INFRA_FAILURE
    on_occurrence: FAILURE
    failed_step_regexp: "(^build|.*test:).*"
    email {
      recipients: "flutter-engine@grotations.appspotmail.com"
    }
    template: "test_build_failure"
  }
  notifications {
    on_occurrence: SUCCESS
    failed_step_regexp: "(.*test:).*"
    email {
      recipients: "flutter-engine@grotations.appspotmail.com"
    }
    template: "test_flake"
  }
  builders {
    bucket: "staging"
    name: "Linux mac_clangd"
    repository: "https://flutter.googlesource.com/mirrors/engine"
  }
}
notifiers {
  notifications {
    on_occurrence: INFRA_FAILURE
    on_occurrence: FAILURE
    failed_step_regexp: "(^build|.*test:).*"
    email {
      recipients: "flutter-engine@grotations.appspotmail.com"
    }
    template: "test_build_failure"
  }
  notifications {
    on_occurrence: SUCCESS
    failed_step_regexp: "(.*test:).*"
    email {
      recipients: "flutter-engine@grotations.appspotmail.com"
    }
    template: "test_flake"
  }
  builders {
    bucket: "staging"
    name: "Mac builder_cache"
    repository: "https://flutter.googlesource.com/mirrors/engine"
  }
}
notifiers {
  notifications {
    on_occurrence: INFRA_FAILURE
    on_occurrence: FAILURE
    failed_step_regexp: "(^build|.*test:).*"
    email {
      recipients: "flutter-engine@grotations.appspotmail.com"
    }
    template: "test_build_failure"
  }
  notifications {
    on_occurrence: SUCCESS
    failed_step_regexp: "(.*test:).*"
    email {
      recipients: "flutter-engine@grotations.appspotmail.com"
    }
    template: "test_flake"
  }
  builders {
    bucket: "staging"
    name: "Mac impeller-cmake-example"
    repository: "https://flutter.googlesource.com/mirrors/engine"
  }
}
notifiers {
  notifications {
    on_occurrence: INFRA_FAILURE
    on_occurrence: FAILURE
    failed_step_regexp: "(^build|.*test:).*"
    email {
      recipients: "flutter-engine@grotations.appspotmail.com"
    }
    template: "test_build_failure"
  }
  notifications {
    on_occurrence: SUCCESS
    failed_step_regexp: "(.*test:).*"
    email {
      recipients: "flutter-engine@grotations.appspotmail.com"
    }
    template: "test_flake"
  }
  builders {
    bucket: "staging"
    name: "Mac mac_clang_tidy"
    repository: "https://flutter.googlesource.com/mirrors/engine"
  }
}
notifiers {
  notifications {
    on_occurrence: INFRA_FAILURE
    on_occurrence: FAILURE
    failed_step_regexp: "(^build|.*test:).*"
    email {
      recipients: "flutter-engine@grotations.appspotmail.com"
    }
    template: "test_build_failure"
  }
  notifications {
    on_occurrence: SUCCESS
    failed_step_regexp: "(.*test:).*"
    email {
      recipients: "flutter-engine@grotations.appspotmail.com"
    }
    template: "test_flake"
  }
  builders {
    bucket: "staging"
    name: "Mac mac_host_engine"
    repository: "https://flutter.googlesource.com/mirrors/engine"
  }
}
notifiers {
  notifications {
    on_occurrence: INFRA_FAILURE
    on_occurrence: FAILURE
    failed_step_regexp: "(^build|.*test:).*"
    email {
      recipients: "flutter-engine@grotations.appspotmail.com"
    }
    template: "test_build_failure"
  }
  notifications {
    on_occurrence: SUCCESS
    failed_step_regexp: "(.*test:).*"
    email {
      recipients: "flutter-engine@grotations.appspotmail.com"
    }
    template: "test_flake"
  }
  builders {
    bucket: "staging"
    name: "Mac mac_ios_engine"
    repository: "https://flutter.googlesource.com/mirrors/engine"
  }
}
notifiers {
  notifications {
    on_occurrence: INFRA_FAILURE
    on_occurrence: FAILURE
    failed_step_regexp: "(^build|.*test:).*"
    email {
      recipients: "flutter-engine@grotations.appspotmail.com"
    }
    template: "test_build_failure"
  }
  notifications {
    on_occurrence: SUCCESS
    failed_step_regexp: "(.*test:).*"
    email {
      recipients: "flutter-engine@grotations.appspotmail.com"
    }
    template: "test_flake"
  }
  builders {
    bucket: "staging"
    name: "Mac mac_unopt"
    repository: "https://flutter.googlesource.com/mirrors/engine"
  }
}
notifiers {
  notifications {
    on_occurrence: INFRA_FAILURE
    on_occurrence: FAILURE
    failed_step_regexp: "(^build|.*test:).*"
    email {
      recipients: "flutter-engine@grotations.appspotmail.com"
    }
    template: "test_build_failure"
  }
  notifications {
    on_occurrence: SUCCESS
    failed_step_regexp: "(.*test:).*"
    email {
      recipients: "flutter-engine@grotations.appspotmail.com"
    }
    template: "test_flake"
  }
  builders {
    bucket: "staging"
    name: "Windows builder_cache"
    repository: "https://flutter.googlesource.com/mirrors/engine"
  }
}
notifiers {
  notifications {
    on_occurrence: INFRA_FAILURE
    on_occurrence: FAILURE
    failed_step_regexp: "(^build|.*test:).*"
    email {
      recipients: "flutter-engine@grotations.appspotmail.com"
    }
    template: "test_build_failure"
  }
  notifications {
    on_occurrence: SUCCESS
    failed_step_regexp: "(.*test:).*"
    email {
      recipients: "flutter-engine@grotations.appspotmail.com"
    }
    template: "test_flake"
  }
  builders {
    bucket: "staging"
    name: "Windows windows_android_aot_engine"
    repository: "https://flutter.googlesource.com/mirrors/engine"
  }
}
notifiers {
  notifications {
    on_occurrence: INFRA_FAILURE
    on_occurrence: FAILURE
    failed_step_regexp: "(^build|.*test:).*"
    email {
      recipients: "flutter-engine@grotations.appspotmail.com"
    }
    template: "test_build_failure"
  }
  notifications {
    on_occurrence: SUCCESS
    failed_step_regexp: "(.*test:).*"
    email {
      recipients: "flutter-engine@grotations.appspotmail.com"
    }
    template: "test_flake"
  }
  builders {
    bucket: "staging"
    name: "Windows windows_arm_host_engine"
    repository: "https://flutter.googlesource.com/mirrors/engine"
  }
}
notifiers {
  notifications {
    on_occurrence: INFRA_FAILURE
    on_occurrence: FAILURE
    failed_step_regexp: "(^build|.*test:).*"
    email {
      recipients: "flutter-engine@grotations.appspotmail.com"
    }
    template: "test_build_failure"
  }
  notifications {
    on_occurrence: SUCCESS
    failed_step_regexp: "(.*test:).*"
    email {
      recipients: "flutter-engine@grotations.appspotmail.com"
    }
    template: "test_flake"
  }
  builders {
    bucket: "staging"
    name: "Windows windows_host_engine"
    repository: "https://flutter.googlesource.com/mirrors/engine"
  }
}
notifiers {
  notifications {
    on_occurrence: INFRA_FAILURE
    on_occurrence: FAILURE
    failed_step_regexp: "(^build|.*test:).*"
    email {
      recipients: "flutter-engine@grotations.appspotmail.com"
    }
    template: "test_build_failure"
  }
  notifications {
    on_occurrence: SUCCESS
    failed_step_regexp: "(.*test:).*"
    email {
      recipients: "flutter-engine@grotations.appspotmail.com"
    }
    template: "test_flake"
  }
  builders {
    bucket: "staging"
    name: "Windows windows_unopt"
    repository: "https://flutter.googlesource.com/mirrors/engine"
  }
}
