# 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 Framework Smoke 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 Fuchsia FEMU"
    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 Fuchsia arm64 FEMU"
    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 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 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_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_clang_tidy_presubmit"
    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 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_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: "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_clang_tidy_presubmit"
    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: "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 Framework Smoke 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 Fuchsia FEMU"
    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 Fuchsia arm64 FEMU"
    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 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_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_clang_tidy_presubmit"
    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 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_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: "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_clang_tidy_presubmit"
    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: "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"
  }
}
