# 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).*"
    email {
      recipients: "flutter-engine@grotations.appspotmail.com"
    }
  }
  builders {
    bucket: "prod"
    name: "Linux Android AOT Engine"
    repository: "https://chromium.googlesource.com/external/github.com/flutter/engine"
  }
}
notifiers {
  notifications {
    on_occurrence: INFRA_FAILURE
    on_occurrence: FAILURE
    failed_step_regexp: "^(build|test).*"
    email {
      recipients: "flutter-engine@grotations.appspotmail.com"
    }
  }
  builders {
    bucket: "prod"
    name: "Linux Android Debug Engine"
    repository: "https://chromium.googlesource.com/external/github.com/flutter/engine"
  }
}
notifiers {
  notifications {
    on_occurrence: INFRA_FAILURE
    on_occurrence: FAILURE
    failed_step_regexp: "^(build|test).*"
    email {
      recipients: "flutter-engine@grotations.appspotmail.com"
    }
  }
  builders {
    bucket: "prod"
    name: "Linux Android Scenarios"
    repository: "https://chromium.googlesource.com/external/github.com/flutter/engine"
  }
}
notifiers {
  notifications {
    on_occurrence: INFRA_FAILURE
    on_occurrence: FAILURE
    failed_step_regexp: "^(build|test).*"
    email {
      recipients: "flutter-engine@grotations.appspotmail.com"
    }
  }
  builders {
    bucket: "prod"
    name: "Linux Arm Host Engine"
    repository: "https://chromium.googlesource.com/external/github.com/flutter/engine"
  }
}
notifiers {
  notifications {
    on_occurrence: INFRA_FAILURE
    on_occurrence: FAILURE
    failed_step_regexp: "^(build|test).*"
    email {
      recipients: "flutter-engine@grotations.appspotmail.com"
    }
  }
  builders {
    bucket: "prod"
    name: "Linux Benchmarks"
    repository: "https://chromium.googlesource.com/external/github.com/flutter/engine"
  }
}
notifiers {
  notifications {
    on_occurrence: INFRA_FAILURE
    on_occurrence: FAILURE
    failed_step_regexp: "^(build|test).*"
    email {
      recipients: "flutter-engine@grotations.appspotmail.com"
    }
  }
  builders {
    bucket: "prod"
    name: "Linux Benchmarks (no-upload)"
    repository: "https://chromium.googlesource.com/external/github.com/flutter/engine"
  }
}
notifiers {
  notifications {
    on_occurrence: INFRA_FAILURE
    on_occurrence: FAILURE
    failed_step_regexp: "^(build|test).*"
    email {
      recipients: "flutter-engine@grotations.appspotmail.com"
    }
  }
  builders {
    bucket: "prod"
    name: "Linux Framework Smoke Tests"
    repository: "https://chromium.googlesource.com/external/github.com/flutter/engine"
  }
}
notifiers {
  notifications {
    on_occurrence: INFRA_FAILURE
    on_occurrence: FAILURE
    failed_step_regexp: "^(build|test).*"
    email {
      recipients: "flutter-engine@grotations.appspotmail.com"
    }
  }
  builders {
    bucket: "prod"
    name: "Linux Fuchsia"
    repository: "https://chromium.googlesource.com/external/github.com/flutter/engine"
  }
}
notifiers {
  notifications {
    on_occurrence: INFRA_FAILURE
    on_occurrence: FAILURE
    failed_step_regexp: "^(build|test).*"
    email {
      recipients: "flutter-engine@grotations.appspotmail.com"
    }
  }
  builders {
    bucket: "prod"
    name: "Linux Fuchsia FEMU"
    repository: "https://chromium.googlesource.com/external/github.com/flutter/engine"
  }
}
notifiers {
  notifications {
    on_occurrence: INFRA_FAILURE
    on_occurrence: FAILURE
    failed_step_regexp: "^(build|test).*"
    email {
      recipients: "flutter-engine@grotations.appspotmail.com"
    }
  }
  builders {
    bucket: "prod"
    name: "Linux Host Engine"
    repository: "https://chromium.googlesource.com/external/github.com/flutter/engine"
  }
}
notifiers {
  notifications {
    on_occurrence: INFRA_FAILURE
    on_occurrence: FAILURE
    failed_step_regexp: "^(build|test).*"
    email {
      recipients: "flutter-engine@grotations.appspotmail.com"
    }
  }
  builders {
    bucket: "prod"
    name: "Linux Unopt"
    repository: "https://chromium.googlesource.com/external/github.com/flutter/engine"
  }
}
notifiers {
  notifications {
    on_occurrence: INFRA_FAILURE
    on_occurrence: FAILURE
    failed_step_regexp: "^(build|test).*"
    email {
      recipients: "flutter-engine@grotations.appspotmail.com"
    }
  }
  builders {
    bucket: "prod"
    name: "Linux Web Engine"
    repository: "https://chromium.googlesource.com/external/github.com/flutter/engine"
  }
}
notifiers {
  notifications {
    on_occurrence: INFRA_FAILURE
    on_occurrence: FAILURE
    failed_step_regexp: "^(build|test).*"
    email {
      recipients: "flutter-engine@grotations.appspotmail.com"
    }
  }
  builders {
    bucket: "prod"
    name: "Linux Web Framework tests"
    repository: "https://chromium.googlesource.com/external/github.com/flutter/engine"
  }
}
notifiers {
  notifications {
    on_occurrence: INFRA_FAILURE
    on_occurrence: FAILURE
    failed_step_regexp: "^(build|test).*"
    email {
      recipients: "flutter-engine@grotations.appspotmail.com"
    }
  }
  builders {
    bucket: "prod"
    name: "Linux ci_yaml engine roller"
    repository: "https://chromium.googlesource.com/external/github.com/flutter/engine"
  }
}
notifiers {
  notifications {
    on_occurrence: INFRA_FAILURE
    on_occurrence: FAILURE
    failed_step_regexp: "^(build|test).*"
    email {
      recipients: "flutter-engine@grotations.appspotmail.com"
    }
  }
  builders {
    bucket: "prod"
    name: "Mac Android AOT Engine"
    repository: "https://chromium.googlesource.com/external/github.com/flutter/engine"
  }
}
notifiers {
  notifications {
    on_occurrence: INFRA_FAILURE
    on_occurrence: FAILURE
    failed_step_regexp: "^(build|test).*"
    email {
      recipients: "flutter-engine@grotations.appspotmail.com"
    }
  }
  builders {
    bucket: "prod"
    name: "Mac Host Engine"
    repository: "https://chromium.googlesource.com/external/github.com/flutter/engine"
  }
}
notifiers {
  notifications {
    on_occurrence: INFRA_FAILURE
    on_occurrence: FAILURE
    failed_step_regexp: "^(build|test).*"
    email {
      recipients: "flutter-engine@grotations.appspotmail.com"
    }
  }
  builders {
    bucket: "prod"
    name: "Mac Unopt"
    repository: "https://chromium.googlesource.com/external/github.com/flutter/engine"
  }
}
notifiers {
  notifications {
    on_occurrence: INFRA_FAILURE
    on_occurrence: FAILURE
    failed_step_regexp: "^(build|test).*"
    email {
      recipients: "flutter-engine@grotations.appspotmail.com"
    }
  }
  builders {
    bucket: "prod"
    name: "Mac Web Engine"
    repository: "https://chromium.googlesource.com/external/github.com/flutter/engine"
  }
}
notifiers {
  notifications {
    on_occurrence: INFRA_FAILURE
    on_occurrence: FAILURE
    failed_step_regexp: "^(build|test).*"
    email {
      recipients: "flutter-engine@grotations.appspotmail.com"
    }
  }
  builders {
    bucket: "prod"
    name: "Mac iOS Engine"
    repository: "https://chromium.googlesource.com/external/github.com/flutter/engine"
  }
}
notifiers {
  notifications {
    on_occurrence: INFRA_FAILURE
    on_occurrence: FAILURE
    failed_step_regexp: "^(build|test).*"
    email {
      recipients: "flutter-engine@grotations.appspotmail.com"
    }
  }
  builders {
    bucket: "prod"
    name: "Mac iOS Engine Profile"
    repository: "https://chromium.googlesource.com/external/github.com/flutter/engine"
  }
}
notifiers {
  notifications {
    on_occurrence: INFRA_FAILURE
    on_occurrence: FAILURE
    failed_step_regexp: "^(build|test).*"
    email {
      recipients: "flutter-engine@grotations.appspotmail.com"
    }
  }
  builders {
    bucket: "prod"
    name: "Mac iOS Engine Release"
    repository: "https://chromium.googlesource.com/external/github.com/flutter/engine"
  }
}
notifiers {
  notifications {
    on_occurrence: INFRA_FAILURE
    on_occurrence: FAILURE
    failed_step_regexp: "^(build|test).*"
    email {
      recipients: "flutter-engine@grotations.appspotmail.com"
    }
  }
  builders {
    bucket: "prod"
    name: "Windows Android AOT Engine"
    repository: "https://chromium.googlesource.com/external/github.com/flutter/engine"
  }
}
notifiers {
  notifications {
    on_occurrence: INFRA_FAILURE
    on_occurrence: FAILURE
    failed_step_regexp: "^(build|test).*"
    email {
      recipients: "flutter-engine@grotations.appspotmail.com"
    }
  }
  builders {
    bucket: "prod"
    name: "Windows Host Engine"
    repository: "https://chromium.googlesource.com/external/github.com/flutter/engine"
  }
}
notifiers {
  notifications {
    on_occurrence: INFRA_FAILURE
    on_occurrence: FAILURE
    failed_step_regexp: "^(build|test).*"
    email {
      recipients: "flutter-engine@grotations.appspotmail.com"
    }
  }
  builders {
    bucket: "prod"
    name: "Windows UWP Engine"
    repository: "https://chromium.googlesource.com/external/github.com/flutter/engine"
  }
}
notifiers {
  notifications {
    on_occurrence: INFRA_FAILURE
    on_occurrence: FAILURE
    failed_step_regexp: "^(build|test).*"
    email {
      recipients: "flutter-engine@grotations.appspotmail.com"
    }
  }
  builders {
    bucket: "prod"
    name: "Windows Unopt"
    repository: "https://chromium.googlesource.com/external/github.com/flutter/engine"
  }
}
notifiers {
  notifications {
    on_occurrence: INFRA_FAILURE
    on_occurrence: FAILURE
    failed_step_regexp: "^(build|test).*"
    email {
      recipients: "flutter-engine@grotations.appspotmail.com"
    }
  }
  builders {
    bucket: "prod"
    name: "Windows Web Engine"
    repository: "https://chromium.googlesource.com/external/github.com/flutter/engine"
  }
}
