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

notifiers {
  notifications {
    on_occurrence: INFRA_FAILURE
    on_occurrence: FAILURE
    failed_step_regexp: "(^build|.*test:|.*step is flaky).*"
    email {
      recipients: "flutter-engine@grotations.appspotmail.com"
    }
  }
  builders {
    bucket: "prod"
    name: "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:|.*step is flaky).*"
    email {
      recipients: "flutter-engine@grotations.appspotmail.com"
    }
  }
  builders {
    bucket: "prod"
    name: "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:|.*step is flaky).*"
    email {
      recipients: "flutter-engine@grotations.appspotmail.com"
    }
  }
  builders {
    bucket: "prod"
    name: "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:|.*step is flaky).*"
    email {
      recipients: "flutter-engine@grotations.appspotmail.com"
    }
  }
  builders {
    bucket: "prod"
    name: "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:|.*step is flaky).*"
    email {
      recipients: "flutter-engine@grotations.appspotmail.com"
    }
  }
  builders {
    bucket: "prod"
    name: "Linux Benchmarks"
    repository: "https://flutter.googlesource.com/mirrors/engine"
  }
}
notifiers {
  notifications {
    on_occurrence: INFRA_FAILURE
    on_occurrence: FAILURE
    failed_step_regexp: "(^build|.*test:|.*step is flaky).*"
    email {
      recipients: "flutter-engine@grotations.appspotmail.com"
    }
  }
  builders {
    bucket: "prod"
    name: "Linux Benchmarks (no-upload)"
    repository: "https://flutter.googlesource.com/mirrors/engine"
  }
}
notifiers {
  notifications {
    on_occurrence: INFRA_FAILURE
    on_occurrence: FAILURE
    failed_step_regexp: "(^build|.*test:|.*step is flaky).*"
    email {
      recipients: "flutter-engine@grotations.appspotmail.com"
    }
  }
  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:|.*step is flaky).*"
    email {
      recipients: "flutter-engine@grotations.appspotmail.com"
    }
  }
  builders {
    bucket: "prod"
    name: "Linux Fuchsia"
    repository: "https://flutter.googlesource.com/mirrors/engine"
  }
}
notifiers {
  notifications {
    on_occurrence: INFRA_FAILURE
    on_occurrence: FAILURE
    failed_step_regexp: "(^build|.*test:|.*step is flaky).*"
    email {
      recipients: "flutter-engine@grotations.appspotmail.com"
    }
  }
  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:|.*step is flaky).*"
    email {
      recipients: "flutter-engine@grotations.appspotmail.com"
    }
  }
  builders {
    bucket: "prod"
    name: "Linux Host Engine"
    repository: "https://flutter.googlesource.com/mirrors/engine"
  }
}
notifiers {
  notifications {
    on_occurrence: INFRA_FAILURE
    on_occurrence: FAILURE
    failed_step_regexp: "(^build|.*test:|.*step is flaky).*"
    email {
      recipients: "flutter-engine@grotations.appspotmail.com"
    }
  }
  builders {
    bucket: "prod"
    name: "Linux Unopt"
    repository: "https://flutter.googlesource.com/mirrors/engine"
  }
}
notifiers {
  notifications {
    on_occurrence: INFRA_FAILURE
    on_occurrence: FAILURE
    failed_step_regexp: "(^build|.*test:|.*step is flaky).*"
    email {
      recipients: "flutter-engine@grotations.appspotmail.com"
    }
  }
  builders {
    bucket: "prod"
    name: "Linux Web Engine"
    repository: "https://flutter.googlesource.com/mirrors/engine"
  }
}
notifiers {
  notifications {
    on_occurrence: INFRA_FAILURE
    on_occurrence: FAILURE
    failed_step_regexp: "(^build|.*test:|.*step is flaky).*"
    email {
      recipients: "flutter-engine@grotations.appspotmail.com"
    }
  }
  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:|.*step is flaky).*"
    email {
      recipients: "flutter-engine@grotations.appspotmail.com"
    }
  }
  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:|.*step is flaky).*"
    email {
      recipients: "flutter-engine@grotations.appspotmail.com"
    }
  }
  builders {
    bucket: "prod"
    name: "Linux clang-tidy"
    repository: "https://flutter.googlesource.com/mirrors/engine"
  }
}
notifiers {
  notifications {
    on_occurrence: INFRA_FAILURE
    on_occurrence: FAILURE
    failed_step_regexp: "(^build|.*test:|.*step is flaky).*"
    email {
      recipients: "flutter-engine@grotations.appspotmail.com"
    }
  }
  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:|.*step is flaky).*"
    email {
      recipients: "flutter-engine@grotations.appspotmail.com"
    }
  }
  builders {
    bucket: "prod"
    name: "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:|.*step is flaky).*"
    email {
      recipients: "flutter-engine@grotations.appspotmail.com"
    }
  }
  builders {
    bucket: "prod"
    name: "Mac Host Engine"
    repository: "https://flutter.googlesource.com/mirrors/engine"
  }
}
notifiers {
  notifications {
    on_occurrence: INFRA_FAILURE
    on_occurrence: FAILURE
    failed_step_regexp: "(^build|.*test:|.*step is flaky).*"
    email {
      recipients: "flutter-engine@grotations.appspotmail.com"
    }
  }
  builders {
    bucket: "prod"
    name: "Mac Unopt"
    repository: "https://flutter.googlesource.com/mirrors/engine"
  }
}
notifiers {
  notifications {
    on_occurrence: INFRA_FAILURE
    on_occurrence: FAILURE
    failed_step_regexp: "(^build|.*test:|.*step is flaky).*"
    email {
      recipients: "flutter-engine@grotations.appspotmail.com"
    }
  }
  builders {
    bucket: "prod"
    name: "Mac Web Engine"
    repository: "https://flutter.googlesource.com/mirrors/engine"
  }
}
notifiers {
  notifications {
    on_occurrence: INFRA_FAILURE
    on_occurrence: FAILURE
    failed_step_regexp: "(^build|.*test:|.*step is flaky).*"
    email {
      recipients: "flutter-engine@grotations.appspotmail.com"
    }
  }
  builders {
    bucket: "prod"
    name: "Mac clang-tidy"
    repository: "https://flutter.googlesource.com/mirrors/engine"
  }
}
notifiers {
  notifications {
    on_occurrence: INFRA_FAILURE
    on_occurrence: FAILURE
    failed_step_regexp: "(^build|.*test:|.*step is flaky).*"
    email {
      recipients: "flutter-engine@grotations.appspotmail.com"
    }
  }
  builders {
    bucket: "prod"
    name: "Mac iOS Engine"
    repository: "https://flutter.googlesource.com/mirrors/engine"
  }
}
notifiers {
  notifications {
    on_occurrence: INFRA_FAILURE
    on_occurrence: FAILURE
    failed_step_regexp: "(^build|.*test:|.*step is flaky).*"
    email {
      recipients: "flutter-engine@grotations.appspotmail.com"
    }
  }
  builders {
    bucket: "prod"
    name: "Mac iOS Engine Profile"
    repository: "https://flutter.googlesource.com/mirrors/engine"
  }
}
notifiers {
  notifications {
    on_occurrence: INFRA_FAILURE
    on_occurrence: FAILURE
    failed_step_regexp: "(^build|.*test:|.*step is flaky).*"
    email {
      recipients: "flutter-engine@grotations.appspotmail.com"
    }
  }
  builders {
    bucket: "prod"
    name: "Mac iOS Engine Release"
    repository: "https://flutter.googlesource.com/mirrors/engine"
  }
}
notifiers {
  notifications {
    on_occurrence: INFRA_FAILURE
    on_occurrence: FAILURE
    failed_step_regexp: "(^build|.*test:|.*step is flaky).*"
    email {
      recipients: "flutter-engine@grotations.appspotmail.com"
    }
  }
  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:|.*step is flaky).*"
    email {
      recipients: "flutter-engine@grotations.appspotmail.com"
    }
  }
  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:|.*step is flaky).*"
    email {
      recipients: "flutter-engine@grotations.appspotmail.com"
    }
  }
  builders {
    bucket: "prod"
    name: "Mac mac_ios_engine_profile"
    repository: "https://flutter.googlesource.com/mirrors/engine"
  }
}
notifiers {
  notifications {
    on_occurrence: INFRA_FAILURE
    on_occurrence: FAILURE
    failed_step_regexp: "(^build|.*test:|.*step is flaky).*"
    email {
      recipients: "flutter-engine@grotations.appspotmail.com"
    }
  }
  builders {
    bucket: "prod"
    name: "Mac mac_ios_engine_release"
    repository: "https://flutter.googlesource.com/mirrors/engine"
  }
}
notifiers {
  notifications {
    on_occurrence: INFRA_FAILURE
    on_occurrence: FAILURE
    failed_step_regexp: "(^build|.*test:|.*step is flaky).*"
    email {
      recipients: "flutter-engine@grotations.appspotmail.com"
    }
  }
  builders {
    bucket: "prod"
    name: "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:|.*step is flaky).*"
    email {
      recipients: "flutter-engine@grotations.appspotmail.com"
    }
  }
  builders {
    bucket: "prod"
    name: "Windows Host Engine"
    repository: "https://flutter.googlesource.com/mirrors/engine"
  }
}
notifiers {
  notifications {
    on_occurrence: INFRA_FAILURE
    on_occurrence: FAILURE
    failed_step_regexp: "(^build|.*test:|.*step is flaky).*"
    email {
      recipients: "flutter-engine@grotations.appspotmail.com"
    }
  }
  builders {
    bucket: "prod"
    name: "Windows UWP Engine"
    repository: "https://flutter.googlesource.com/mirrors/engine"
  }
}
notifiers {
  notifications {
    on_occurrence: INFRA_FAILURE
    on_occurrence: FAILURE
    failed_step_regexp: "(^build|.*test:|.*step is flaky).*"
    email {
      recipients: "flutter-engine@grotations.appspotmail.com"
    }
  }
  builders {
    bucket: "prod"
    name: "Windows Unopt"
    repository: "https://flutter.googlesource.com/mirrors/engine"
  }
}
notifiers {
  notifications {
    on_occurrence: INFRA_FAILURE
    on_occurrence: FAILURE
    failed_step_regexp: "(^build|.*test:|.*step is flaky).*"
    email {
      recipients: "flutter-engine@grotations.appspotmail.com"
    }
  }
  builders {
    bucket: "prod"
    name: "Windows Web Engine"
    repository: "https://flutter.googlesource.com/mirrors/engine"
  }
}
notifiers {
  notifications {
    on_occurrence: INFRA_FAILURE
    on_occurrence: FAILURE
    failed_step_regexp: "(^build|.*test:|.*step is flaky).*"
    email {
      recipients: "flutter-engine@grotations.appspotmail.com"
    }
  }
  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:|.*step is flaky).*"
    email {
      recipients: "flutter-engine@grotations.appspotmail.com"
    }
  }
  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:|.*step is flaky).*"
    email {
      recipients: "flutter-engine@grotations.appspotmail.com"
    }
  }
  builders {
    bucket: "staging"
    name: "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:|.*step is flaky).*"
    email {
      recipients: "flutter-engine@grotations.appspotmail.com"
    }
  }
  builders {
    bucket: "staging"
    name: "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:|.*step is flaky).*"
    email {
      recipients: "flutter-engine@grotations.appspotmail.com"
    }
  }
  builders {
    bucket: "staging"
    name: "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:|.*step is flaky).*"
    email {
      recipients: "flutter-engine@grotations.appspotmail.com"
    }
  }
  builders {
    bucket: "staging"
    name: "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:|.*step is flaky).*"
    email {
      recipients: "flutter-engine@grotations.appspotmail.com"
    }
  }
  builders {
    bucket: "staging"
    name: "Linux Benchmarks"
    repository: "https://flutter.googlesource.com/mirrors/engine"
  }
}
notifiers {
  notifications {
    on_occurrence: INFRA_FAILURE
    on_occurrence: FAILURE
    failed_step_regexp: "(^build|.*test:|.*step is flaky).*"
    email {
      recipients: "flutter-engine@grotations.appspotmail.com"
    }
  }
  builders {
    bucket: "staging"
    name: "Linux Benchmarks (no-upload)"
    repository: "https://flutter.googlesource.com/mirrors/engine"
  }
}
notifiers {
  notifications {
    on_occurrence: INFRA_FAILURE
    on_occurrence: FAILURE
    failed_step_regexp: "(^build|.*test:|.*step is flaky).*"
    email {
      recipients: "flutter-engine@grotations.appspotmail.com"
    }
  }
  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:|.*step is flaky).*"
    email {
      recipients: "flutter-engine@grotations.appspotmail.com"
    }
  }
  builders {
    bucket: "staging"
    name: "Linux Fuchsia"
    repository: "https://flutter.googlesource.com/mirrors/engine"
  }
}
notifiers {
  notifications {
    on_occurrence: INFRA_FAILURE
    on_occurrence: FAILURE
    failed_step_regexp: "(^build|.*test:|.*step is flaky).*"
    email {
      recipients: "flutter-engine@grotations.appspotmail.com"
    }
  }
  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:|.*step is flaky).*"
    email {
      recipients: "flutter-engine@grotations.appspotmail.com"
    }
  }
  builders {
    bucket: "staging"
    name: "Linux Host Engine"
    repository: "https://flutter.googlesource.com/mirrors/engine"
  }
}
notifiers {
  notifications {
    on_occurrence: INFRA_FAILURE
    on_occurrence: FAILURE
    failed_step_regexp: "(^build|.*test:|.*step is flaky).*"
    email {
      recipients: "flutter-engine@grotations.appspotmail.com"
    }
  }
  builders {
    bucket: "staging"
    name: "Linux Unopt"
    repository: "https://flutter.googlesource.com/mirrors/engine"
  }
}
notifiers {
  notifications {
    on_occurrence: INFRA_FAILURE
    on_occurrence: FAILURE
    failed_step_regexp: "(^build|.*test:|.*step is flaky).*"
    email {
      recipients: "flutter-engine@grotations.appspotmail.com"
    }
  }
  builders {
    bucket: "staging"
    name: "Linux Web Engine"
    repository: "https://flutter.googlesource.com/mirrors/engine"
  }
}
notifiers {
  notifications {
    on_occurrence: INFRA_FAILURE
    on_occurrence: FAILURE
    failed_step_regexp: "(^build|.*test:|.*step is flaky).*"
    email {
      recipients: "flutter-engine@grotations.appspotmail.com"
    }
  }
  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:|.*step is flaky).*"
    email {
      recipients: "flutter-engine@grotations.appspotmail.com"
    }
  }
  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:|.*step is flaky).*"
    email {
      recipients: "flutter-engine@grotations.appspotmail.com"
    }
  }
  builders {
    bucket: "staging"
    name: "Linux clang-tidy"
    repository: "https://flutter.googlesource.com/mirrors/engine"
  }
}
notifiers {
  notifications {
    on_occurrence: INFRA_FAILURE
    on_occurrence: FAILURE
    failed_step_regexp: "(^build|.*test:|.*step is flaky).*"
    email {
      recipients: "flutter-engine@grotations.appspotmail.com"
    }
  }
  builders {
    bucket: "staging"
    name: "Linux linux_host_engine"
    repository: "https://flutter.googlesource.com/mirrors/engine"
  }
}
notifiers {
  notifications {
    on_occurrence: INFRA_FAILURE
    on_occurrence: FAILURE
    email {
      recipients: "flutter-engine@grotations.appspotmail.com"
    }
  }
  builders {
    bucket: "staging"
    name: "Linux_android flutter_gallery__transition_perf"
    repository: "https://flutter.googlesource.com/mirrors/flutter"
  }
}
notifiers {
  notifications {
    on_occurrence: INFRA_FAILURE
    on_occurrence: FAILURE
    email {
      recipients: "flutter-engine@grotations.appspotmail.com"
    }
  }
  builders {
    bucket: "staging"
    name: "Linux_android flutter_gallery__transition_perf_e2e"
    repository: "https://flutter.googlesource.com/mirrors/flutter"
  }
}
notifiers {
  notifications {
    on_occurrence: INFRA_FAILURE
    on_occurrence: FAILURE
    email {
      recipients: "flutter-engine@grotations.appspotmail.com"
    }
  }
  builders {
    bucket: "staging"
    name: "Linux_android flutter_gallery__transition_perf_hybrid"
    repository: "https://flutter.googlesource.com/mirrors/flutter"
  }
}
notifiers {
  notifications {
    on_occurrence: INFRA_FAILURE
    on_occurrence: FAILURE
    email {
      recipients: "flutter-engine@grotations.appspotmail.com"
    }
  }
  builders {
    bucket: "staging"
    name: "Linux_android flutter_gallery__transition_perf_with_semantics"
    repository: "https://flutter.googlesource.com/mirrors/flutter"
  }
}
notifiers {
  notifications {
    on_occurrence: INFRA_FAILURE
    on_occurrence: FAILURE
    email {
      recipients: "flutter-engine@grotations.appspotmail.com"
    }
  }
  builders {
    bucket: "staging"
    name: "Linux_android flutter_gallery_sksl_warmup__transition_perf"
    repository: "https://flutter.googlesource.com/mirrors/flutter"
  }
}
notifiers {
  notifications {
    on_occurrence: INFRA_FAILURE
    on_occurrence: FAILURE
    email {
      recipients: "flutter-engine@grotations.appspotmail.com"
    }
  }
  builders {
    bucket: "staging"
    name: "Linux_android flutter_gallery_sksl_warmup__transition_perf_e2e"
    repository: "https://flutter.googlesource.com/mirrors/flutter"
  }
}
notifiers {
  notifications {
    on_occurrence: INFRA_FAILURE
    on_occurrence: FAILURE
    failed_step_regexp: "(^build|.*test:|.*step is flaky).*"
    email {
      recipients: "flutter-engine@grotations.appspotmail.com"
    }
  }
  builders {
    bucket: "staging"
    name: "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:|.*step is flaky).*"
    email {
      recipients: "flutter-engine@grotations.appspotmail.com"
    }
  }
  builders {
    bucket: "staging"
    name: "Mac Host Engine"
    repository: "https://flutter.googlesource.com/mirrors/engine"
  }
}
notifiers {
  notifications {
    on_occurrence: INFRA_FAILURE
    on_occurrence: FAILURE
    failed_step_regexp: "(^build|.*test:|.*step is flaky).*"
    email {
      recipients: "flutter-engine@grotations.appspotmail.com"
    }
  }
  builders {
    bucket: "staging"
    name: "Mac Unopt"
    repository: "https://flutter.googlesource.com/mirrors/engine"
  }
}
notifiers {
  notifications {
    on_occurrence: INFRA_FAILURE
    on_occurrence: FAILURE
    failed_step_regexp: "(^build|.*test:|.*step is flaky).*"
    email {
      recipients: "flutter-engine@grotations.appspotmail.com"
    }
  }
  builders {
    bucket: "staging"
    name: "Mac Web Engine"
    repository: "https://flutter.googlesource.com/mirrors/engine"
  }
}
notifiers {
  notifications {
    on_occurrence: INFRA_FAILURE
    on_occurrence: FAILURE
    failed_step_regexp: "(^build|.*test:|.*step is flaky).*"
    email {
      recipients: "flutter-engine@grotations.appspotmail.com"
    }
  }
  builders {
    bucket: "staging"
    name: "Mac clang-tidy"
    repository: "https://flutter.googlesource.com/mirrors/engine"
  }
}
notifiers {
  notifications {
    on_occurrence: INFRA_FAILURE
    on_occurrence: FAILURE
    failed_step_regexp: "(^build|.*test:|.*step is flaky).*"
    email {
      recipients: "flutter-engine@grotations.appspotmail.com"
    }
  }
  builders {
    bucket: "staging"
    name: "Mac iOS Engine"
    repository: "https://flutter.googlesource.com/mirrors/engine"
  }
}
notifiers {
  notifications {
    on_occurrence: INFRA_FAILURE
    on_occurrence: FAILURE
    failed_step_regexp: "(^build|.*test:|.*step is flaky).*"
    email {
      recipients: "flutter-engine@grotations.appspotmail.com"
    }
  }
  builders {
    bucket: "staging"
    name: "Mac iOS Engine Profile"
    repository: "https://flutter.googlesource.com/mirrors/engine"
  }
}
notifiers {
  notifications {
    on_occurrence: INFRA_FAILURE
    on_occurrence: FAILURE
    failed_step_regexp: "(^build|.*test:|.*step is flaky).*"
    email {
      recipients: "flutter-engine@grotations.appspotmail.com"
    }
  }
  builders {
    bucket: "staging"
    name: "Mac iOS Engine Release"
    repository: "https://flutter.googlesource.com/mirrors/engine"
  }
}
notifiers {
  notifications {
    on_occurrence: INFRA_FAILURE
    on_occurrence: FAILURE
    failed_step_regexp: "(^build|.*test:|.*step is flaky).*"
    email {
      recipients: "flutter-engine@grotations.appspotmail.com"
    }
  }
  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:|.*step is flaky).*"
    email {
      recipients: "flutter-engine@grotations.appspotmail.com"
    }
  }
  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:|.*step is flaky).*"
    email {
      recipients: "flutter-engine@grotations.appspotmail.com"
    }
  }
  builders {
    bucket: "staging"
    name: "Mac mac_ios_engine_profile"
    repository: "https://flutter.googlesource.com/mirrors/engine"
  }
}
notifiers {
  notifications {
    on_occurrence: INFRA_FAILURE
    on_occurrence: FAILURE
    failed_step_regexp: "(^build|.*test:|.*step is flaky).*"
    email {
      recipients: "flutter-engine@grotations.appspotmail.com"
    }
  }
  builders {
    bucket: "staging"
    name: "Mac mac_ios_engine_release"
    repository: "https://flutter.googlesource.com/mirrors/engine"
  }
}
notifiers {
  notifications {
    on_occurrence: INFRA_FAILURE
    on_occurrence: FAILURE
    email {
      recipients: "flutter-engine@grotations.appspotmail.com"
    }
  }
  builders {
    bucket: "staging"
    name: "Mac_ios flutter_gallery__transition_perf_e2e_ios"
    repository: "https://flutter.googlesource.com/mirrors/flutter"
  }
}
notifiers {
  notifications {
    on_occurrence: INFRA_FAILURE
    on_occurrence: FAILURE
    email {
      recipients: "flutter-engine@grotations.appspotmail.com"
    }
  }
  builders {
    bucket: "staging"
    name: "Mac_ios flutter_gallery_ios__transition_perf"
    repository: "https://flutter.googlesource.com/mirrors/flutter"
  }
}
notifiers {
  notifications {
    on_occurrence: INFRA_FAILURE
    on_occurrence: FAILURE
    email {
      recipients: "flutter-engine@grotations.appspotmail.com"
    }
  }
  builders {
    bucket: "staging"
    name: "Mac_ios flutter_gallery_ios_sksl_warmup__transition_perf"
    repository: "https://flutter.googlesource.com/mirrors/flutter"
  }
}
notifiers {
  notifications {
    on_occurrence: INFRA_FAILURE
    on_occurrence: FAILURE
    failed_step_regexp: "(^build|.*test:|.*step is flaky).*"
    email {
      recipients: "flutter-engine@grotations.appspotmail.com"
    }
  }
  builders {
    bucket: "staging"
    name: "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:|.*step is flaky).*"
    email {
      recipients: "flutter-engine@grotations.appspotmail.com"
    }
  }
  builders {
    bucket: "staging"
    name: "Windows Host Engine"
    repository: "https://flutter.googlesource.com/mirrors/engine"
  }
}
notifiers {
  notifications {
    on_occurrence: INFRA_FAILURE
    on_occurrence: FAILURE
    failed_step_regexp: "(^build|.*test:|.*step is flaky).*"
    email {
      recipients: "flutter-engine@grotations.appspotmail.com"
    }
  }
  builders {
    bucket: "staging"
    name: "Windows UWP Engine"
    repository: "https://flutter.googlesource.com/mirrors/engine"
  }
}
notifiers {
  notifications {
    on_occurrence: INFRA_FAILURE
    on_occurrence: FAILURE
    failed_step_regexp: "(^build|.*test:|.*step is flaky).*"
    email {
      recipients: "flutter-engine@grotations.appspotmail.com"
    }
  }
  builders {
    bucket: "staging"
    name: "Windows Unopt"
    repository: "https://flutter.googlesource.com/mirrors/engine"
  }
}
notifiers {
  notifications {
    on_occurrence: INFRA_FAILURE
    on_occurrence: FAILURE
    failed_step_regexp: "(^build|.*test:|.*step is flaky).*"
    email {
      recipients: "flutter-engine@grotations.appspotmail.com"
    }
  }
  builders {
    bucket: "staging"
    name: "Windows Web Engine"
    repository: "https://flutter.googlesource.com/mirrors/engine"
  }
}
notifiers {
  notifications {
    on_occurrence: INFRA_FAILURE
    on_occurrence: FAILURE
    failed_step_regexp: "(^build|.*test:|.*step is flaky).*"
    email {
      recipients: "flutter-engine@grotations.appspotmail.com"
    }
  }
  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:|.*step is flaky).*"
    email {
      recipients: "flutter-engine@grotations.appspotmail.com"
    }
  }
  builders {
    bucket: "staging"
    name: "Windows windows_host_engine"
    repository: "https://flutter.googlesource.com/mirrors/engine"
  }
}
